端口扫描器(masscan)

s.exe号称史上最快(3分钟扫完全网)扫描器小巧而精致,大小仅仅8k,但是使用上有诸多限制,例如仅支持再winserver2003 上无条件使用,放到其它系统上就要对系统做一些配置,不然无法支持syn方式扫描,这显然不够友好。

nmap扫描器,能探知系统类型是否存活等,但是同时获得更详细的信息也就意味着速度上要慢得多。

masscan 扫描器拥有可以媲美s.exe的速度,号称5分钟扫完全网使用起来也十分简单:以下基于centos7操作系统
安装:

yum install -y masscan

使用:
范例

# masscan <ip/range> -p80,443 
masscan 192.168.0.1-192.168.0.254,192.168.1.1-192.168.2.254 -p22,3389 > result.txt

默认每秒100个包,如果想指定包数量可以设置--max-rate 100000 该参数。
当然你不用写这么长的命令可以通过写配置文件的方式进行扫描,可以将以下配置保存为scan.conf 然后通过masscan -c scan.conf 命令来启动扫描

rate =  100000.00
output-format = txt
output-status = all
output-filename = scan.txt
ports = 0-65535
range = 192.168.0.1-192.168.0.254,192.168.1.1-192.168.2.254
# excludefile = exclude.txt

当然你也可以自己将配置导出便于再次使用,或者参考导出配置,配置你的自定义配置

masscan 192.168.0.1-192.168.0.254,192.168.1.1-192.168.2.254 -p22,3389  --echo > s.conf

导出配置

rate =     100.00
randomize-hosts = true
seed = 13198407782597955085
shard = 1/1
# ADAPTER SETTINGS
adapter =
adapter-ip = 0.0.0.0
adapter-mac = 00:00:00:00:00:00
router-mac = 00:00:00:00:00:00
# OUTPUT/REPORTING SETTINGS
output-format = unknown(0)
show = open,,
output-filename =
rotate = 0
rotate-dir = .
rotate-offset = 0
rotate-filesize = 0
pcap =
# TARGET SELECTION (IP, PORTS, EXCLUDES)
ports = 22,3389
range = 192.168.0.1-192.168.0.254
range = 192.168.1.1-192.168.2.254

capture = cert
nocapture = html
nocapture = heartbleed

min-packet = 60

部分参数说明

<ip/range> IP地址范围,有三种有效格式,1、单独的IPv4地址 2、类似"10.0.0.1-10.0.0.233"的范围地址 3、CIDR地址 类似于"0.0.0.0/0",多个目标可以用都好隔开
-p <ports,--ports <ports>> 指定端口进行扫描
--banners 获取banner信息,支持少量的协议
--rate <packets-per-second> 指定发包的速率
-c <filename>, --conf <filename> 读取配置文件进行扫描
--echo 将当前的配置重定向到一个配置文件中
-e <ifname> , --adapter <ifname> 指定用来发包的网卡接口名称
--adapter-ip <ip-address> 指定发包的IP地址
--adapter-port <port> 指定发包的源端口
--adapter-mac <mac-address> 指定发包的源MAC地址
--router-mac <mac address> 指定网关的MAC地址
--exclude <ip/range> IP地址范围黑名单,防止masscan扫描
--excludefile <filename> 指定IP地址范围黑名单文件
--includefile,-iL <filename> 读取一个范围列表进行扫描
--ping 扫描应该包含ICMP回应请求
--append-output 以附加的形式输出到文件
--iflist 列出可用的网络接口,然后退出
--retries 发送重试的次数,以1秒为间隔
--nmap 打印与nmap兼容的相关信息
--http-user-agent <user-agent> 设置user-agent字段的值
--show [open,close] 告诉要显示的端口状态,默认是显示开放端口
--noshow [open,close] 禁用端口状态显示
--pcap <filename> 将接收到的数据包以libpcap格式存储
--regress 运行回归测试,测试扫描器是否正常运行
--ttl <num> 指定传出数据包的TTL值,默认为255
--wait <seconds> 指定发送完包之后的等待时间,默认为10秒
--offline 没有实际的发包,主要用来测试开销
-sL 不执行扫描,主要是生成一个随机地址列表
--readscan <binary-files> 读取从-oB生成的二进制文件,可以转化为XML或者JSON格式.
--connection-timeout <secs> 抓取banners时指定保持TCP连接的最大秒数,默认是30秒。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章