Python简单实现C段信息探测

很久之前写的...代码看着很不成熟,有空再优化。
以前写的,一直丢在硬盘没用...以后有空再优化,先挖个坑给自己。

bug很多,以后有空统一优化,有问题私聊我。

用法 python xx.py --url xx.xx.x.x

效果图如下...
 

 
代码如下
#-[i]- coding:utf-8 -[/i]-
import re
import requests
import sys
#隐蔽https请求报错
requests.packages.urllib3.disable_warnings()

def c(ip):
'''
生成c段以及请求c段
'''
reg = r'\d{1,3}\.\d{1,3}\.\d{1,3}\.'
a = re.findall(reg,ip)

ip_list = []
#生成c段ip
for i in range(1,256):
ip_list.append(a[0]+repr(i))

headers = {
'User-Agent':'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.80 Safari/537.36'
}

for i in ip_list:
try:
response = requests.get('http://'+i,verify=False,headers=headers,timeout=5)
titles(i,response)
except Exception,e:
print ' 【IP】:http://'+i+' 请求失败'
def titles(i,response):
'''
处理输出信息
'''
reg = r'<title>(.*?)</title>'
title = re.findall(reg,response.content.lower())
if(response.headers['server'] != ''):
server = response.headers['server']
else:
server = 'Null'
print ' 【IP】:http://'+i,
if(len(title) != 0):
print ' Server:'+server,
print ' Title:',

try:
print title[0].decode('utf-8')
except Exception,e:
print title[0].decode('gbk')
else:
print ' Server:'+server




if(len(sys.argv) < 3):
sys.exit('参数有误,正确格式为:scan.py --url xx.xx.xx.xx')
else:
ip = sys.argv[2]
reg = r'\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}'
ip_get = re.findall(reg,ip)
if(len(ip_get) == 0):
sys.exit('IP有误,正确格式为:scan.py --url xx.xx.xx.xx')
else:
c(ip_get[0])
已邀请:

Mosuan - 我们因看不见而恐惧无形之物,因看不见而敬畏无形之物。

赞同来自: ttgo2 Kyhvedn

列如https  请求就很尴尬了...有空的小伙伴也可以优化或者自己写个看看。

ttgo2 - 热血的青春,童真的性格,快乐的生活。

赞同来自:

赞一个!!!

wukong - 66+88=68

赞同来自:

66666666

Kyhvedn - http://kyhvedn.lofter.com/ 二次元深度中毒者

赞同来自:

围观大神~~

要回复问题请先登录注册