目录、子域名需要字典 import socket,os,time import sys import threading import re import requests from whois import whois thread = [] A_port = [] A_URL = [] headers = { 'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9', 'Accept-Encoding': 'gzip, deflate, br', 'Accept-Language': 'zh-CN,zh;q=0.9,en;q=0.8,en-GB;q=0.7,en-US;q=0.6', 'Cache-Control': 'max-age=0', 'Connection': 'keep-alive', 'Cookie': 'PHPSESSID=4d6f9bc8de5e7456fd24d60d2dfd5e5a', 'sec-ch-ua': '"Chromium";v="92", " Not A;Brand";v="99", "Microsoft Edge";v="92"', 'sec-ch-ua-mobile': '?0', 'Sec-Fetch-Dest': 'document', 'Sec-Fetch-Mode': 'navigate', 'Sec-Fetch-Site': 'none', 'Sec-Fetch-User': '?1', 'Upgrade-Insecure-Requests': '1', 'User-Agent': 'Mozilla/5.0 (compatible; Baiduspider-render/2.0; +http://www.baidu.com/search/spider.html)' } def ip_check(url): ip = socket.gethostbyname(url) print(url+'->'+ip) def whois_check(url): url = url.replace('www.','') whois_data = whois(url) print(whois_data) def cdn_check(url): lk = 'nslookup ' + url cdn_data = os.popen(lk,'r').read() #print(cdn_data) pd = cdn_data.count('.') pdd = cdn_data.count(':') if pd>10 and pdd >10 : print(url+' CDN YES!') else: print(url+' CDN NO!') def portscaner(url,port): ip = socket.gethostbyname(url) server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) server.settimeout(0.1) try: server.connect((ip,port)) A_port.append(port) except: pass server.close() def port_check(url): ip = socket.gethostbyname(url) for port in range (1,65535): t = threading.Thread(target=portscaner,args=(ip,port)) thread.append(t) for t in range(len(thread)): thread[t].start() for t in range(len(thread)): thread[t].join() print('[*]%s 这些端口开放了!\n' % A_port) def zml_check(url): for paths in open('php_b.txt', encoding='utf-8'): paths = paths.replace('\n', '') urls = 'http://'+url + paths try: code = requests.get(urls, headers=headers, ).status_code # time.sleep(3) #print(urls + '|' + str(code)) if code == 200 or code == 403: print(urls + '目录存在') A_URL.append(urls) if code == 404: print(urls + 'URL页面不存在') except Exception as err: print('域名ping不通') print('[*]%s 目录存在! \n' % A_URL ) def zym_check(url): for zym_data in open('dic.txt', encoding='utf-8'): urls = url.replace('www.', '') zym_data = zym_data.replace('\n','') code = zym_data + '.'+urls print(code) try: ip = socket.gethostbyname(code) print(code + '->' + ip) time.sleep(0.1) except Exception as e: pass if __name__ == '__main__': url = input('输入url: ') ip_check(url) # whois_check(url) cdn_check(url) #zml_check(url) #zym_check(url) port_check(url)
Python编程ip、cdn、whois、端口、目录、子域名扫描工具
最新推荐文章于 2024-09-28 07:47:03 发布