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
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)
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))
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
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
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))
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