Foros del Web » Programando para Internet » Python »

[SOLUCIONADO] ¿Cómo filtrar un listado de IPs en un fichero con IPs y hostnames?

Estas en el tema de ¿Cómo filtrar un listado de IPs en un fichero con IPs y hostnames? en el foro de Python en Foros del Web. Buenas a todos, Llevo un buen rato dándole una vuelta y no sabría como hacerlo, me explico. Tengo una lista con muchas ips, y tengo ...
  #1 (permalink)  
Antiguo 01/09/2019, 08:17
Avatar de Jask  
Fecha de Ingreso: abril-2006
Ubicación: Madrid
Mensajes: 770
Antigüedad: 13 años, 7 meses
Puntos: 15
Busqueda ¿Cómo filtrar un listado de IPs en un fichero con IPs y hostnames?

Buenas a todos,

Llevo un buen rato dándole una vuelta y no sabría como hacerlo, me explico.

Tengo una lista con muchas ips, y tengo otra lista con muchas ips + hostname (esta última lista sería algo como: www.google.com 8.8.8.8, así con muchos elementos).

Lo que intento hacer es que de la lista de ips que tengo ir una a una filtrando contra la de ips + hostname para que quede algo así:

Con IP 8.8.8.8 están los siguientes hosts:
www.google.com
www.google.com.ar
www.google.com.uk

Con Ip 1.1.1.1 están los siguientes hosts:
pepito.com
menganito.net
rodolfito.org

Algo así me gustaría así. Estaba intentando con filter() pero no termino de ver la forma, ¿alguna solución/idea de cómo aplicarlo?

Millones de gracias!
__________________
Os iusti meditabitur sapientiam
Si te he ayudado, por qué no un poquito de Karma :) ?
  #2 (permalink)  
Antiguo 02/09/2019, 02:33
Avatar de Jask  
Fecha de Ingreso: abril-2006
Ubicación: Madrid
Mensajes: 770
Antigüedad: 13 años, 7 meses
Puntos: 15
Respuesta: ¿Cómo filtrar un listado de IPs en un fichero con IPs y hostnames?

Hola!

Al final he podido solucionarlo, con un bucle dentro de otro bucle, tal que así:

Código Python:
Ver original
  1. uniq_ips = list(set(ips))
  2. with open("massivenslookup_result.log", "r") as logfile:
  3.     content = logfile.readlines()
  4.  
  5. for ip in uniq_ips:
  6.     print("[+] Domains hosted in this IP \'" + ip + "\': ")
  7.     filtered_ips = filter(lambda item: ip in item , content)
  8.  
  9.     for domain_same_ip in filtered_ips:
  10.  
  11.         domain_same_ip = domain_same_ip.replace("\n","")
  12.         domain_same_ip = domain_same_ip.split(" ")
  13.         print(domain_same_ip[0])

Un saludo!
__________________
Os iusti meditabitur sapientiam
Si te he ayudado, por qué no un poquito de Karma :) ?



La zona horaria es GMT -6. Ahora son las 00:04.