[【申请转正】] 批量调用masscan的端口扫描器

[复制链接]
Checkit 发表于 2017-8-8 17:28:16 | 显示全部楼层 |阅读模式

正式成员|主题 |帖子 |积分 1

本帖最后由 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

al0ne 发表于 2017-8-9 09:28:57 | 显示全部楼层

正式成员|主题 |帖子 |积分 257

楼主  直接用-iL 参数读取文件里面的ip不就好了  还用写个脚本调用
 楼主 Checkit 发表于 2017-8-9 09:39:25 | 显示全部楼层

正式成员|主题 |帖子 |积分 1

RE: 批量调用masscan的端口扫描器

al0ne 发表于 2017-8-9 09:28
楼主  直接用-iL 参数读取文件里面的ip不就好了  还用写个脚本调用



受教了!
Iksaa 发表于 2017-8-9 14:12:48 | 显示全部楼层

正式成员|主题 |帖子 |积分 25

楼主百度云解压密码是?
浮生 发表于 2017-8-10 01:29:13 | 显示全部楼层

正式成员|主题 |帖子 |积分 86

masscan自带批量的命令啊 - - ,而且还挺好用,坑的一点就是它的误报太多了,真心太多了
 楼主 Checkit 发表于 2017-8-10 16:06:29 | 显示全部楼层

正式成员|主题 |帖子 |积分 1

RE: 批量调用masscan的端口扫描器

Iksaa 发表于 2017-8-9 14:12
楼主百度云解压密码是?

70sec



 楼主 Checkit 发表于 2017-8-10 16:10:29 | 显示全部楼层

正式成员|主题 |帖子 |积分 1

RE: 批量调用masscan的端口扫描器

浮生 发表于 2017-8-10 01:29
masscan自带批量的命令啊 - - ,而且还挺好用,坑的一点就是它的误报太多了,真心太多了

特意做过实验,下面是实验结果:

-p 1-6535  (指定范围扫描)

优点:能够发现自定义的端口
缺点:不够精确,漏扫太多

-p22,21,3389  (精确到指定端口)

优点:精度高,基本无漏扫
缺点:一个一个写端口很费劲。
浮生 发表于 2017-8-14 23:20:15 | 显示全部楼层

正式成员|主题 |帖子 |积分 86

RE: 批量调用masscan的端口扫描器

Checkit 发表于 2017-8-10 16:10
特意做过实验,下面是实验结果:

-p 1-6535  (指定范围扫描)

- -
我测试外网ip多余10W以上
指定端口,照样误报,没有误差不存在的 - -
f4ckdog 发表于 2017-8-23 20:19:17 | 显示全部楼层

乞丐|主题 |帖子 |积分 -3

masscan实际上误报率很高的
avengert 发表于 2018-5-9 13:25:47 | 显示全部楼层

正式成员|主题 |帖子 |积分 0

误报率取决于网络状况
快速回复 返回顶部 返回列表