kali工具-masscan
一、工具介绍
Masscan的扫描结果类似于nmap,在内部,它更像scanrand, unicornscan, and ZMap,采用了异步传输的方式。它和这些扫描器最主要的区别是,它比这些扫描器更快。而且,masscan更加灵活,它允许自定义任意的地址范和端口范围。
Masscan号称是最快的互联网端口扫描器。
二、参数释意
<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秒
三、使用命令
masscan -p80,8080-8100 10.0.0.0/8 #扫描10.x.x.x子网IP的80和8080-8100端口,大约有1600万个地址
masscan -p80,8000-8100 10.0.0.0/8 --echo > xxx.conf #将当前配置输出到xxx.conf文件
masscan -c xxx.conf --rate 1000 #使用-c参数扫描配置文件xxx.conf
配置文件内容如下图所示
rate = 100000 output-format = xml output-status = all output-filename = scan.xml ports = 0-65535 range = 0.0.0.0-255.255.255.255 excludefile = exclude.txt
masscan不仅仅只是测试端口是否开放,它还能在完成TCP连接的同时获取目标应用程序的Banner信息。
masscan 10.0.0.0/8 -p80 --banners --source-ip x.x.x.x #扫描10.x.x.x网段80端口的开放信息,并且获取banner信息。--source-ip 是指定源IP,这个ip必须指定独立有效的IP地址。
四、结果输出
主要有5种输出的格式
- XML 默认格式 使用-oX <filename> 或者使用 --output-format xml 和 --output-filename <filename>进行指定
- binary masscan内置格式
- grepable nmap格式 使用 -oG <filename> 或者 --output-format grepable 和 --output-filename <filename>进行指定
- json 使用 -oJ <filename> 或者 --output-format json 和 --output-filename <filename>进行指定
- list 简单的列表,每行一个主机端口对。使用-oL <filename> 或者 --output-format list 和 --output-filename <filename>进行指定
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!