Advertisement
Guest User

Qualys Expand IP

a guest
Mar 20th, 2012
165
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 3.19 KB | None | 0 0
  1. '''
  2. Author:  Ulises Cune
  3. License:  GPL3 (http://www.gnu.org/licenses/gpl-3.0.html)
  4.  
  5. Input
  6. 192.168.140.26-192.168.140.30
  7. 192.168.140
  8.  
  9. '''
  10.  
  11. class qualys_expand_ip:
  12.     def __init__(self):
  13.         item=""
  14.        
  15.     def expand_ip(self,item):
  16.         item = item.strip()
  17.         dash = item.find("-")
  18.         if dash > 0:
  19.             ip=item.split("-")
  20.             primer_ip=str(ip[0])
  21.             segundo_ip=str(ip[1])
  22.            
  23.             #primer ip
  24.             primer_octeto_1 = item.find(".", 0, len(primer_ip))
  25.             segundo_octeto_1 = item.find(".",primer_octeto_1+1, len(primer_ip))
  26.             tercer_octeto_1 = item.find(".", segundo_octeto_1+1, len(primer_ip))
  27.             cuarto_octeto_1 = item.rfind(".", 0, len(primer_ip))
  28.  
  29.            
  30.             #segundo ip
  31.             primer_octeto_2 = item.find(".", 0, len(segundo_ip))
  32.             segundo_octeto_2 = item.find(".", primer_octeto_2+1, len(segundo_ip))
  33.             tercer_octeto_2 = item.find(".", segundo_octeto_2+1, len(segundo_ip))
  34.             cuarto_octeto_2 = item.rfind(".", 0, len(segundo_ip))
  35.  
  36.             if primer_ip[0:primer_octeto_1] == segundo_ip[0:primer_octeto_2]:
  37.                 ##print primer_ip[0:primer_octeto_1]
  38.                
  39.                 if primer_ip[primer_octeto_1+1:segundo_octeto_1] == segundo_ip[primer_octeto_2+1:segundo_octeto_2]:
  40.                     ##print primer_ip[primer_octeto_1+1:segundo_octeto_1]
  41.                    
  42.                     if primer_ip[segundo_octeto_1+1:tercer_octeto_1] == segundo_ip[segundo_octeto_2+1:tercer_octeto_2]:
  43.                         ##print primer_ip[segundo_octeto_1+1:tercer_octeto_1]
  44.                        
  45.                         rango_1= primer_ip[cuarto_octeto_1 + 1:len(primer_ip)]
  46.                         rango_2= segundo_ip[cuarto_octeto_2 + 1:len(segundo_ip)]
  47.                        
  48.                        
  49.                         returnip=[]
  50.                         for i in range(int(rango_1),int(rango_2)+1):
  51.                             returnip.append(primer_ip[0:primer_octeto_1]+"."+primer_ip[primer_octeto_1+1:segundo_octeto_1]+"."+primer_ip[segundo_octeto_1+1:tercer_octeto_1]+"."+str(i))                           
  52.                         return returnip
  53.                     else:                      
  54.                         rango_21= primer_ip[segundo_octeto_1+1:tercer_octeto_1]
  55.                         rango_22= segundo_ip[segundo_octeto_2+1:tercer_octeto_2]
  56.                        
  57.  
  58.                         returnip=[]
  59.                         for x in range(int(rango_21),int(rango_22)+1):
  60.                             rango_1= primer_ip[cuarto_octeto_1 + 1:len(primer_ip)]
  61.                             rango_2= segundo_ip[cuarto_octeto_2 + 1:len(segundo_ip)]
  62.                            
  63.                             if x == int(rango_22):
  64.                                 for i in range(0,int(rango_2)+1):
  65.                                     returnip.append(primer_ip[0:primer_octeto_1]+"."+primer_ip[primer_octeto_1+1:segundo_octeto_1]+"."+str(x)+"."+str(i))                                  
  66.                             else:
  67.                                 for i in range(int(rango_1),255+1):
  68.                                     returnip.append(primer_ip[0:primer_octeto_1]+"."+primer_ip[primer_octeto_1+1:segundo_octeto_1]+"."+str(x)+"."+str(i))
  69.                         return returnip
  70.  
  71.                 else:                  
  72.                     returnip =["error1"]
  73.                     return returnip
  74.             else:              
  75.                 returnip =["error2"]
  76.                 return returnip
  77.         else:
  78.             ## Si tiene 3 puntos, es una ip
  79.             if item.count(".") == 3:
  80.                 item=[item]
  81.                 return item
  82.             else:
  83.                 ip_range = item + ".0 - " + item + ".255"
  84.                 returnip=[]
  85.                 for ip in range(0,256):
  86.                     returnip.append(item+"."+str(ip))
  87.                 return returnip
  88.  
  89.  
  90. ## HELP
  91.  
  92. ##import qualys_expand_ip
  93. ##expandidor = qualys_expand_ip()
  94. ##item="10.75.253.0-10.75.253.255"
  95. ##item="10.75.252.0-10.75.253.255"
  96. ##item="10.245.83.250-10.245.84.2"
  97. ##lista_ip=expandidor.expand_ip(item)
  98. ##for ip in lista_ip:
  99.     ##print ip
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement