本帖最后由 Checkit 于 2017-8-10 16:07 编辑
批量调用masscan的端口扫描器
这是一个调用masscan的python程序,为了高速的批量扫描指定IP段的指定端口,特编写此python程序。
【本程序运行需要安装python2.7并将python添加环境变量】
使用说明
1.首先在“ipduan.txt”文件里填写要扫描的IP地址,一行一个,可以是单个IP地址,也可以是IP段,格式支持192.168.0.1 192.168.0.1/24 192.168.0.1-192.168.0.254 等。
2.然后在“port.txt”文件里填写要检测的端口,请注意,【不要换行】,用 , 分隔,所有的端口在一行里,例如:21,22,23,25,53,80,110,139
3.运行portscan.py即可启动扫描,扫描结束后会在当前目录自动创建以IP段为文件名的TXT文件。
注:
扫描速度可以调节,请编辑portscan.py,修改 --rate 后面的数字即可,一般家用路由器3000足以,为了降低漏扫率建议速率设置为1500。如果速率过大,自己的路由器会崩溃(变相攻击同网络路由器了哈哈)
程序源码:
#!/usr/bin/env python
# -*- coding:utf-8 -*-
import os
import linecache
import re
def start():
if os.path.exists(r'ipduan.txt')==False:
outfile=open('ipduan.txt','w')
outfile.close()
if os.path.exists(r'port.txt')==False:
outfile=open('port.txt','w')
outfile.close()
IpFile = os.getcwd() + r"\ipduan.txt"
count = -1
for count, line in enumerate(open(IpFile, 'rU')):
pass
count += 1
PortFile = os.getcwd() + r"\port.txt"
for i in range(1, count + 1):
IpDuan=linecache.getline(IpFile,i)
IpDuan=IpDuan.strip('\n')
Port=linecache.getline(PortFile,1)
Port=Port.strip('\n')
end=IpDuan.find('/')
if end > -1:
FileName=IpDuan[0:end]
masscan(IpDuan,Port,FileName)
else:
FileName=IpDuan
masscan(IpDuan,Port,FileName)
def masscan(IpDuan,Port,FileName):
cmd="masscan.exe "+IpDuan+" -Pn -p "+Port+" --rate 1500 >> " + FileName + ".txt" # --rate 为扫描速率,数值越大,扫描越快,当然漏扫率也就越高,请自行控制
print os.system(cmd)
if __name__ == '__main__':
start()
下载地址:https://pan.baidu.com/s/1gePqrTL 密码: 7x53
解压密码 70sec
|