在Mac上使用masscan扫描端口

作者 胡萝虎 日期 2021-09-10
在Mac上使用masscan扫描端口

端口扫描工具有很多,比如大名鼎鼎的nmap,在Mac系统中也内置了一个非常好用的网络实用工具可以进行端口扫描。不过在macOS升级到Big Sur之后,这个工具就不能用了。下面介绍一个比较好用的工具–masscan,一个类似于scanrand,unicornscan,等异步扫描工具,支持灵活的自定义扫描地址和端口

安装masscan

可以源码安装也可以使用brew安装,源码地址:下载masscan,推荐使用brew来安装(安装brew)。

使用brew安装

brew install masscan

使用masscan

使用masscan需要root权限,所以执行命令也要切换到root或使用sudo

扫描一个ip

sudo masscan -p 1-10000 137.184.92.35

image-20210910135334325

-p 1-10000 表示扫描 1到10000的端口

扫描网段

sudo masscan -p80,8080-8100 10.0.0.0/8

扫描10.x.x.x子网的80和8080-8100范围的端口

扫描并将结果输出到指定文件

sudo masscan -p80,8080-8100 10.0.0.0/8 --echo > xxx.data

更多高级操作参考详细参数说明

详细参数说明

<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秒。

“扫一扫接着看”