Exemple #1
0
def iprange(ip_str_list):
    ip_str_list = list(set(ip_str_list))
    ip_str_list = strip_list(ip_str_list)
    #直接获取各个C段
    subnet = set()
    for ip_str in ip_str_list:
        #print ip_str
        ip = IPNetwork(ip_str)
        ip.prefixlen = 24
        subnet.add(ip.cidr)
    #print subnet

    #尝试根据IP缩小范围
    smaller_subnet = set()
    for net in subnet:
        tmpIPlist = []
        for ip_str in ip_str_list:
            ip = IPNetwork(ip_str)
            ip.prefixlen = 24
            if ip.cidr == net:  #ip属于net
                tmpIPlist.append(ip_str)
        #print tmpIPlist
        if len(tmpIPlist) == 1:
            smaller_subnet.add(tmpIPlist[0])
        elif len(tmpIPlist) >= 2:
            smaller = netaddr.spanning_cidr(tmpIPlist)  #type is IPNetwork
            #if smaller != net:
            smaller_subnet.add(smaller)
        elif len(tmpIPlist) == 0:
            print "{0} has no ip".format(net)

    result = []
    for item in smaller_subnet:
        result.append(str(item))
    return result
Exemple #2
0
 def chosefile():
     filename = tkFileDialog.askopenfilename(filetypes=[('txt', '*.txt')])
     try:
         tmplist = open(filename, "r").readlines()
         tmplist = strip_list(tmplist)
         seed_value.set(",".join(tmplist))
     except:
         print('Could not open File:%s' % filename)
Exemple #3
0
 def chosefile():
     filename = tkinter.filedialog.askopenfilename(
         filetypes=[('txt', '*.txt')])
     try:
         tmplist = open(filename, "r").readlines(10)
         tmplist = strip_list(tmplist)
         seed_value.set(filename)
     except:
         print(('Could not open File:%s' % filename))
Exemple #4
0
 def get_ns_server_dig(self):
     if sys.platform != 'win32':
         try:
             dns_servers = os.popen('dig +short NS ' +
                                    self.domain).readlines()
             #use command "dig   +short   NS   xxx.com"
             dns_servers = strip_list(dns_servers, ".")
             self.nsservers = set(list(self.nsservers).extend(dns_servers))
         except Exception as e:
             pass
Exemple #5
0
def domains2ips(domain_list, server=None):
    IP_list = []
    lines = []
    domain_list = strip_list(domain_list)
    for domain in set(domain_list):
        try:
            ips, line = query(domain, record_type='A', server=server)
            IP_list.extend(ips)
            lines.append(line)
        except Exception, e:
            print e
Exemple #6
0
 def chosefile():
     filename = tkFileDialog.askopenfilename(filetypes=[('txt', '*.txt')])
     try:
         tmplist = open(filename, "r").readlines()
         tmplist = strip_list(tmplist)
         for item in tmplist:
             key = item.split(":")[0]
             value = item.split(":")[1]
             paras.leet_rule[key]= value
         show_leet_rule()
     except Exception,e:
         self.logger('Error: {0} occurs when loading {1}'.format(e,filename))
Exemple #7
0
 def get_ns_server_nslookup(self):
     try:
         #result = os.system("nslookup -type=ns {0}".format(domain))
         result = os.popen('nslookup -type=ns ' + self.domain).read()
         #print result
         #其实域名后是否有点对axfr查询无影响
         '''
         if sys.platform == 'win32':
             dns_servers = re.findall('nameserver = (.*?)\n', result)
         else:
             dns_servers = re.findall('nameserver = (.*?)\.\n', result)
         '''
         dns_servers = re.findall('nameserver = (.*?)\n', result)
         dns_servers = strip_list(dns_servers, ".")
         self.nsservers = set(list(self.nsservers).extend(dns_servers))
     except Exception as e:
         pass