[Python]Transformar rangos de IP

Iniciado por .:UND3R:., 6 Abril 2015, 04:50 AM

0 Miembros y 1 Visitante están viendo este tema.

.:UND3R:.

Hola a todos, entenderán soy nuevo en Python  >:( a ver si me resuelven una dudilla que tengo, habrá algún módulo/librería que me permita obtener los rangos de IP:

Entrada:

Citar190.168.0.1/24

Salida:
Citar190.168.0.0
190.168.0.1
190.168.0.2
...
.
190.168.0.255

Espero que se entienda, saludos

Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)

tincopasan

la verdad es que no entiendo muy bien, pero si sabés la dirección 190.168.1.24
el rango seria como iniciar los valores después del último punto desde 0  190.168.1.0 e incrementar en  1 hasta 255 y en todo caso caso usando os haces un ping a la dirección ip que quieras:  os.system("ping "+ip)
perdón sino es ni cerca de lo que preguntas.

engel lex

#2
4 funciones

primero
Código (python) [Seleccionar]
import socket, struct

def ip2long(ip):#convierte octetos a long
 return struct.unpack("!L", socket.inet_aton(ip))[0]

def long2ip(ip):#convierte long en octetos
 return socket.inet_ntoa(struct.pack("!L",ip))

def ipmask(bits):#crea un mascara de la cantidad bits en formato long
 return ((1<<(bits))-1)<<(32-bits)

def iprange(ip,mask):#entrega una tupla con la primera y ultima ip del rango
 return [ip&ipmask(mask),ip|(ipmask(mask)^(1<<32)-1)]


allí tienes todo lo necesario para jugar con IPs

para hacer un rango

Código (python) [Seleccionar]
longIP = ip2long("127.0.0.1")#creamos el long
extremos = iprange(longIP,24)#entregamos long y mascara
rango = range(extremos[0],extremos[1]+1)#creamos un array

for i in rango: #lo que sea
  print long2ip(i)
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

.:UND3R:.

Acabo de implementar el script que me has proporcionado y no tengo nada que decir, funciona excelente  ;-)

Muchas gracias por ayudarme, saludos.

Solicitudes de crack, keygen, serial solo a través de mensajes privados (PM)