Compare commits

...

2 Commits

View File

@@ -5,18 +5,7 @@ import ipaddress
def read_document(document_name):
with open(document_name, 'r') as file:
# Leer todas las líneas del archivo y guardarlas en un conjunto
lines = file.readlines()
ips = set()
for line in lines:
# Eliminar caracteres de nueva línea y espacios en blanco alrededor
line = line.strip()
# Convertir la línea a un objeto IPv4Address
try:
ip = ipaddress.IPv4Address(line)
ips.add(ip)
except ipaddress.AddressValueError:
print(f"La entrada '{line}' no es una dirección IP válida.")
return ips
return {linea.rstrip('\n') for linea in file}
def parseArguments():
# Crear un objeto ArgumentParser
@@ -29,10 +18,10 @@ def parseArguments():
try:
# Parsear los argumentos de la línea de comandos
args = parser.parse_args()
if args.web:
return args.web
elif args.host:
if args.host:
return args.host
elif args.web:
return args.web
except argparse.ArgumentError as e:
# Si ocurre un error al analizar los argumentos, mostrar un mensaje de error
print("Error:", e)
@@ -40,15 +29,32 @@ def parseArguments():
parser.print_help()
exit()
def check_ping(host):
def toIP(hosts):
ips = set()
for host in hosts:
try:
response = ping(host, count=4, timeout=2) # verbose=True -> Para ver la respuesta del ping
return True if response.success() else False
ip = ipaddress.IPv4Address(host)
ips.add(ip)
except ipaddress.AddressValueError:
print(f"La entrada '{ip}' no es una dirección IP válida.")
return ips
def check_ping(hosts):
for host in hosts:
try:
print(f'Pingin host: {host}')
response = ping(str(host), count=4, timeout=2) # verbose=True -> Para ver la respuesta del ping
if not response.success():
print(False)
# Ennviar un mensaje
else:
print(True)
except Exception as e:
print(f"Error making ping to {host}: {e}")
return False
if __name__ == '__main__':
args = parseArguments()
print(check_ping(args))
hosts = read_document(args)
ips = toIP(hosts)
check_ping(ips)