0%

使用masscan 扫描 IP 端口

亲测使用masscan 扫描 IP 端口 碰到了一些坑 同时也记录一下

网上有人这样说:

以前用 nmap 检测,发现当修改了自定义端口后,他就没有那么准确了,比如说把SSH端口修改为其他的。

后来发现了masscan,这个号称可以在3分钟内扫描全网端口的神器。于是尝试了下确实很厉害。

QQ群:397745473

安装

1
sudo apt-get install masscan

扫描全网

1
masscan -p0-65525 0.0.0.0/0 

扫描指定IP段和指定端口

例如扫描开发了公网redis 默认端口的设备

1
2
masscan -p6379 59.111.0.0/16 --rate 10000  -oX scan.xml
masscan -p6379 59.111.0.0/16 --rate 10000 -oG ip_output1113.txt

则输出结果

1
masscan -p6379 59.111.0.0/16 --rate 10000 >> scan.txt

输出结果

1
masscan 0.0.0.0/0 -p0-65535 -oX scan.xml

发包速度

传输速度
masscan的发包速度非常快,在windows中,它的发包速度可以达到每秒30万包;在Linux中,速度可以达到每秒160万。masscan在扫描时会随机选择目标IP,所以不会对远程的主机造成压力。

默认情况下,masscan的发包速度为每秒100包,为了提高速度,可以设置为 –rate 100000

详细参数

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<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秒。

实例

比如我扫描我自己的主机,设置发包速度为100000

1
2
3
4
5
6
7
8
9
10
root@centos:~# masscan 47.104.27.197/32 -p0-65535 -rate 100000
nmap(-rate): wat? randomization is our raison d'etre!! rethink prease
root@centos:~# masscan 47.104.27.197/32 -p0-65535 --rate 100000

Starting masscan 1.0.3 (http://bit.ly/14GZzcT) at 2017-12-28 04:41:32 GMT
-- forced options: -sS -Pn -n --randomize-hosts -v --send-eth
Initiating SYN Stealth Scan
Scanning 1 hosts [65536 ports/host]
Discovered open port 8080/tcp on 7.104.27.197
Discovered open port 65422/tcp on 7.104.27.197

设置发包速度为 10000

1
2
3
4
5
6
7
8
9
10
11
12
root@centos:~# masscan 7.104.27.197/32 -p0-65535 --rate 10000

Starting masscan 1.0.3 (http://bit.ly/14GZzcT) at 2017-12-28 04:41:57 GMT
-- forced options: -sS -Pn -n --randomize-hosts -v --send-eth
Initiating SYN Stealth Scan
Scanning 1 hosts [65536 ports/host]
Discovered open port 7000/tcp on 7.104.27.197
Discovered open port 8080/tcp on 7.104.27.197
Discovered open port 65423/tcp on 7.104.27.197
Discovered open port 65422/tcp on 7.104.27.197
Discovered open port 443/tcp on 7.104.27.197
Discovered open port 80/tcp on 7.104.27.197

其结果是不一样的,这个发包速度并不是越高越好。

设太高了掉线

参考:https://www.fangwenjun.com/post/29891.html

测试伪装源MAC和路由MAC:

1
2
3
4
5
6
7
8
9
10
nmap -sP --min-hostgroup 1024 --min-parallelism 1024 10.81.0.0/16 -oG ip_output1113.txt           # Nmap done at Fri Aug 23 04:23:59 2019 -- 65536 IP addresses (1079 hosts up) scanned in 324.45 seconds
nmap -sn -PE -n --min-hostgroup 1024 --min-parallelism 1024 -oG ip_output1113.txt 10.81.0.0/16 Nmap done: 65536 IP addresses (355 hosts up) scanned in 84.07 seconds
nmap -sn -PE -n --min-hostgroup 1024 --min-parallelism 1024 -oG ip_output1113.txt 10.0.0.0/8
nmap -sP --min-hostgroup 10240 --min-parallelism 10240 -oG ip_output1113.txt 10.0.0.0/8

masscan -p 80 10.0.0.0/8 -oG ip_output1113.txt
masscan -p80 10.0.0.0/8 --rate 10000 -oG ip_output1113.txt


masscan -p80 10.0.0.0/8 --rate 1000 --adapter-mac 00-50-56-fe-df-95 --router-mac 01-00-5e-00-00-16 -oG ip_output1113.txt

QQ群:397745473

欢迎关注我的其它发布渠道