未验证 提交 5aa027ca 编写于 作者: N null 提交者: GitHub

Update IP_hosts_scan_multithreadingv2.0.py

上级 f91e66b3
# -*- coding: UTF-8 -*-
#Author:tangshpupu
#这是一个用于IP和域名碰撞匹配访问的小工具升级版
#Author:Rivaill
#这是一个用于IP和域名碰撞匹配访问的小工具(多线程)
import itertools
import signal
import threading
......@@ -18,27 +18,44 @@ def host_check(host_ip):
schemes = ["http://","https://"]
for scheme in schemes:
url = scheme+ip
headers = {'Host':host.strip(),'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36'}
headers2 = {'Host': ip.strip(),
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36'}
try:
r = requests.session()
requests.packages.urllib3.disable_warnings()
res = r.get(url,verify=False,headers=headers,timeout=30)
res2 = r.get(url, verify=False, headers=headers2, timeout=30)
charset = chardet.detect(res.content)["encoding"]
res.encoding = charset
title = ""
title2 = ""
try:
title = re.search('<title>(.*)</title>', res.text).group(1) #获取标题
title2 = re.search('<title>(.*)</title>', res.text).group(1) # 获取标题
except Exception as ex:
title = u"获取标题失败"
info = u'%s\t%s -- %s 数据包大小:%d 标题:%s' % (ip,host,scheme+host,len(res.text),title)
if lock.acquire():
try:
success_list.append(info)
pbar.echo(info)
pbar.update_suc()
open('hosts_ok-is.txt','a', encoding='utf-8').write(str(info)+'\n')
finally:
lock.release()
#print(len(res.text),len(res2.text),title2,title)
if len(res.text) != len(res2.text) and title!=title2:
if lock.acquire():
try:
success_list.append(info)
pbar.echo(info)
pbar.update_suc()
open('ok-ism.txt','a', encoding='utf-8').write(str(info)+'\n')
finally:
lock.release()
else:
print('存在假碰撞,忽略,保存在ignored-req.txt中',info)
open('ignored-req.txt',encoding='utf-8').write(str(info)+'\n')
except Exception as ex:
if lock.acquire():
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册