ip查询-域名反查ip功能
def ip_check(url):
ip=socket.gethostbyname(url)#通过IP反查域名
print(ip)
whois查询
def whois_check(url):
data=whois(url)
print(data)
CDN判断-利用返回ip条数进行判断
def cnd_check(url):
ns="nslookup"+url#linux和windows都是这个命令
#data=
os.system(ns)#这样打出来的含有汉字,不是纯数据
端口扫描
1.原生自写socket协议tcp,udp扫描
2.调用第三方模块扫描
3.调用系统脚本执行
ports={'21','22','135','443','445','80','1433','3306','3389'}
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
for port in ports:
result=server.connect_ex(('47.75.212.155',int(port)))#netstat -ano看端口开启情况,常见端口
if result == 0:
print(port+'|open')
else:
print(port+'|down')
#whois查询,第三方模块
data={"www.whois8.com"}
print(data)
子域名判断
"dict.txt"是个子域名的字典。
子域名查询
1.利用字典加载爆破进行查询
dict.txt是一个字典头文件。
2.利用bing或第三方接口进行查询 domain:youku.com
def zym_check(url):
urls=url.replace('www','')
for zym_data in open('dict.txt'):
zym_data.replace('\n','')#用空替换空格换行符
url=zym_data+urls
try:
ip=socket.gethostbyname(url)
print(url+'->'+ip)
#python代码报错处理。用tru ,except
time.sleep(0.1)
except Exception as e:
pass#这样子就会只显示出正常结果
正常流程
if __name__ == '__main__':
check=print(sys.argv[0])
url=print(sys.argv[2])
if check=='all':
ip_check(url)
cnd_check(url)
whois_check(url)
zym_check(url)
#if check=='ip':
#ip.check('')
ip_check()
cdn_check()
whois_check()
zym_check()
内网探测
对于内网nmap扫描,开虚拟机,.1
和.254
都是本地的网卡。