TCP端口扫描程序,nmap同行。Masscan扫描速度比nmap快很多,因为它采用了异步传输、无状态扫描方式(异步传输意味着扫描器在发送探测数据包之后不必等待回复)。但。
nmap需要记录tcp/ip的状态,而OS能处理的tcp/ip的最大链接数只有1500左右;masscan采用的是不建立完整的tcp链接方式,在收到SYN/ACK之后,直接发送RST结束链接(RST表示复位,用来结束关闭异常的链接)。
常用命令
常用选项--rate、-p。Masscan有多达几十个选项,但是用不着掌握。
-
masscan的默认发包速率是100每秒,可以通过 ‘–-rate’ 命令设置发包速率,受限于个人电脑与带宽,特别高的发包速率的情况下,存在一定的准确率误差。 --rate值推荐CPU数 * 5.例如我是8核CPU所以推荐--rate=40
要根据自己电脑和带宽合理配置速率,速率太快了不准确。我用自己电脑时,--rate=200,扫21-520端口,只扫出一个开放端口,如果改为--rate=50,扫出4个开放端口。
-
masscan -p 0-65535 --rate=40 23.248.163.21
# 扫描端口masscan -p 1-100,443,600-900 --rate=40 23.248.163.21
# 扫描指定端口masscan -p 80 --rate=40 62.234.14.0/24
# 扫描一个网段即256个IP的80端口 -
-oJ <文件名> # 将输出格式设置为JSON并将输出保存在设置JSON格式的文件名。
其他命令
-
-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秒
-
--packet-trace 打印发送和接收的数据包摘要,在低速率下使用(每秒几个数据包,否则会淹没终端数据)
-
--offline 实际不传输数据包,和“--packet-trace”配合可查看传输了哪些数据包
-
-sL 不执行扫描,主要是生成一个随机地址列表
-
--interactive 在控制台终端显示实时效果
-
--output-format <fmt> 指示输出文件的格式,可以是xml,二进制,grepable,列表或JSON。选项“--output-filename”必须指定。
-
--output-filename <filename> 将结果保存到的文件。如果“--output-format”未指定,则默认为xml。
-
-oB <文件名> 将输出格式设置为二进制并将输出保存在设置的文件名。
-
-oX <文件名> 将输出格式设置为XML并将输出保存在设定的xml文件名。 -oG <文件名> 将输出格式设置为grepable并将输出保存在设定的grepable格式文件名。
-
-oJ <文件名> 将输出格式设置为JSON并将输出保存在设置JSON格式的文件名。
-
-oL <文件名> 将输出格式设置为简单列表格式并保存以list列表输出的文件名。
-
--readscan <binary-files> 读取从-oB生成的二进制文件,可以转化为XML或者JSON格式.
-
--connection-timeout <secs> 抓取banners时指定保持TCP连接的最大秒数,默认是30秒。
非特殊说明,本博所有文章均为博主原创。
如若转载,请注明出处:https://www.ink0.cn/index.php/2023/11/15/masscan/
共有 0 条评论