Cantidad de hosts usables (excluye dirección de red y broadcast)
if new_prefix:
new_prefix = int(new_prefix)
if new_prefix > network.prefixlen:
subnets = list(network.subnets(new_prefix=new_prefix))
print(f"\nSubnets with /{new_prefix}: {len(subnets)}")
print(f" Hosts per Subnet: {subnets[0].num_addresses - 2}")
else:
print("\nWarning: New prefix must be larger than the original to create subnets.")
Si se proporciona un nuevo prefijo:
Lo convierte a entero.
Verifica que sea mayor que el prefijo original (para poder subdividir).
Calcula cuántas subredes se pueden generar y cuántos hosts tiene cada una.
Si el prefijo no es válido, muestra una advertencia.
if __name__ == "__main__":
Este bloque se ejecuta solo si el script se corre directamente (no si se importa como módulo).
if len(sys.argv) < 2:
print("Usage: python3 ip_analyzer.py <ip_range> [new_prefix]")
sys.exit(1)
Verifica que al menos se haya pasado un argumento desde la consola. Si no, muestra un mensaje de uso y termina el programa.