前言
端口扫描作为资产发现和漏洞探测的基础性技术,是红队渗透测试、蓝队防御和日常安全运营中不可或缺的重要环节。端口扫描工具的准确性和高效性直接影响到资产发现的全面性和速度,这是网络攻防中至关重要的第一步。如果在资产发现阶段就遗漏了潜在目标,后续的漏洞检测和利用将无法全面展开。因此,本次测试不仅评估了工具的基础端口扫描能力,还特别关注了服务指纹和Web指纹的识别准确性,以及附带POC检测、密码破解等功能的实际应用效果。
另外,工具在大规模网络环境中的资源消耗和扫描速度也是评价其性能的重要指标。在本次测试中,详细记录了各工具的资源占用情况和扫描耗时,为使用者在不同硬件条件下选择合适的工具提供了依据。这一评估有助于在实际攻防演练中优化工具选择与配置,提升作战效率。
需要特别说明的是,本次测试所选取的工具仅代表了市面上部分具有代表性的扫描工具,如MasScan、Fscan、Nmap等。而像Zmap、xray等优秀的扫描工具因某些特性未在本次测试中涉及。这并不意味着这些工具不具备优秀的性能或功能,而是考虑到测试的公平性和一致性选择了一部分工具进行详细分析。因此,本文结论仅针对所测试工具的表现进行评价,未纳入测试的工具同样在某些特定场景中具有独特优势和价值。
测试对象
本次测试最初是选用了一个互联网C段地址,但后来经其他师傅提醒意识到这种C段地址可能不具有普适性,最后采用随机生成256个互联网IP地址作为测试样本,端口为全端口扫描,模拟了真实攻防场景中的资产分布。但由于没有相关授权,所以知识对端口开放进行探测,并未开展poc和密码破解方面的检测。
测试内容包括但不限于:工具在发现资产数量、扫描时间、指纹识别精度、资源占用、附带功能(如漏洞PoC检测和密码破解)等多个维度的表现,资源占用使用了windows自带的性能监视器来完成。通过标准化的测试流程和一致的测试条件,对各工具在不同场景中的实际性能表现进行了全面而深入的分析。
测试声明
1、本次测试只是针对端口开放性进行探测,不涉及poc检测、密码破解等,对目标系统没有做任何破坏或干扰;
2、本次测试受限于机器性能、网络情况,或者有些工具的参数配置不当,导致测试结果可能有失恰当,并非标准或严谨的测试;
3、为确保测试更公平合理,笔者先后两次(使用了两批随机256个IP)对所有工具进行测试,对两次的结果、耗时偏差较大的工具又重新进行了第三次测试,以求有一个尽量公平的测试数据;
4、由于是每次只跑一个工具,导致整个测试周期较长(大约两周时间),所以前后资产可能会有不一,比如有些IP开放新端口或IP下线了等情况,甚至说笔者IP被封也会导致前后测试差异,所以资产数量误差是无法避免的;
5、测试结果只是提供作为一个参考,这并非是衡量一个工具好坏的标准,而且我测试的方向也比较片面,大家不要上纲上线。
测试结果总览
历时两周多时间的测试对比数据,仅供参考。
测试过程
以下为16款工具的详细测试过程和相关截图等,排序是根据GitHub Star数量。
1. MasScan
功能: 高性能的端口扫描工具,专注于快速发现开放端口,支持大规模IP地址范围的扫描。
特色: MasScan以其极高的扫描速度著称,能够在短时间内完成大规模网络的扫描,适合快速资产发现和漏洞评估。
GitHub 地址: https://github.com/robertdavidgraham/massca
Star 数量: 23.3k
工具版本: v1.3.2
文件大小(解压后): 0.4M
最后更新: 2021.01
扫描线程: 800
命令参数:
masscan64.exe --open --rate 800 -p 1-65535 -iL ip.txt --banners -oX masscan.xml
扫描耗时: 5h36m
IP存活数: 70
端口开放数: 749
资源占用: 2%-3%
指纹识别: 无此功能
其他功能: 无
个人建议: MasScan一般在不指定线程或默认2000-3000的速率时速度极快,可能是这次限制了800的并发导致耗时有点长,不过MasScan的准确度比较一般,适合大规模网络扫描,不太适合精准端口检测。
推荐指数: ⭐⭐⭐
测试截图:
2. RustScan
功能: 超快速的端口扫描工具,基于Rust语言开发,专注于提高扫描速度,并与Nmap深度集成。
特色: 速度极快,能够轻松扫描数百万个IP地址,自动调用Nmap进行深入分析。
GitHub 地址: https://github.com/RustScan/RustScan
Star 数量: 14.1k
工具版本: v2.3.0
文件大小(解压后): 4.2M
最后更新: 2024.07
扫描线程: 800
命令参数:
rustscan.exe -a ip.txt -r 1-65535 -b 800
扫描耗时: 2h25m
IP存活数: 74
端口开放数: 496
资源占用: 7%-8%
指纹识别: 服务指纹识别依赖Nmap
其他功能: 支持自定义脚本、与Nmap集成使用
个人建议: 速度很快,不过精准度和发现资产数量有点拉胯,而且服务指纹的识别要先安装nmap。
推荐指数: ⭐
测试截图:
rustscan是先探测端口是否开放,然后调用nmap进行服务指纹识别。
3. Fscan
功能: 内网综合扫描工具,方便一键自动化、全方位漏扫扫描,支持端口扫描、服务识别、漏洞检测等功能。
特色: Fscan集成了多种功能,可以进行端口扫描、服务探测、弱口令爆破和漏洞检测,适合渗透测试过程中使用,具有较高的实用性。
GitHub 地址: https://github.com/shadow1ng/fscan
Star 数量: 10.2k
工具版本: v1.8.4
文件大小(解压后): 7.3M
最后更新: 2024.05
扫描线程: 800
命令参数:
fscan.exe -hf ip.txt -p 1-65535 -np -t 800 -o fscan.txt
扫描耗时: 16h37m
IP存活数: 73
端口开放数: 719
资源占用: 5%-6%
指纹识别: web指纹
其他功能: POC检测、密码爆破
个人建议: 影舞者大佬出品,国内No.1,集成了POC检测、密码爆破等,非常适合内网渗透使用,不过在互联网端口扫描时耗时略长。
推荐指数: ⭐⭐⭐
测试截图:
4. Nmap
功能: 经典的网络扫描工具,支持端口扫描、服务识别和漏洞探测。
特色: 功能强大,拥有丰富的脚本库(NSE),可以进行详细的服务识别和漏洞检测。
Star 数量: 9.9k(Nmap主要不是在Github维护,所以Github Star数量不具有代表性)
工具版本: v7.95
文件大小(解压后): 34M
最后更新: 2024.04
扫描线程: 没找到nmap设置线程的参数,设置 --min-hostgroup 或 --min-parallelism好像不太合适
命令参数:
nmap.exe -Pn --open -oN nmap.txt -p 1-65535 -iL ip.txt
扫描耗时: 60h20m
IP存活数: 78
端口开放数: 927
资源占用: 3%-4%
指纹识别: 服务指纹
其他功能: 可自定义nse脚本
个人建议: Nmap应该是用的最多的一款端口检测工具了,不过做大量的资产扫描的确不太合适,虽然资产数很全,但是太慢了,256个IP动辄就是四五十个小时,让我一度以为nmap是不是卡死了!不过Nmap的服务指纹识别的确是No.1,从很多其他工具都调用nmap做指纹识别也能看出来。
推荐指数: ⭐⭐⭐
测试截图:
Nmap的速度太坑人了,一个小时扫描进度0.03%,256个IP硬生生扫描了217128s,也就是60个小时。另外的一次256个IP的测试扫描时间也是40个小时。
5. Scan4all
功能: 综合型一体化扫描工具,支持资产发现、端口扫描、漏洞扫描等多个功能。
特色: 集成 vscan、nuclei、ksubdomain、subfinder等工具,能够进行端口扫描、服务探测、子域枚举、Web指纹识别、漏洞扫描和PoC检测。
GitHub 地址: https://github.com/GhostTroops/scan4all
Star 数量: 5.4k
工具版本: v2.9.1
文件大小(解压后): 131M
最后更新: 2023.12
扫描线程: 800
命令参数:
scan4all.exe -list ip.txt -p 1-65535 -c 800 -o scan4all.txt
扫描耗时: 4h38m
IP存活数: 73
端口开放数: 719
资源占用: 15%-16%
指纹识别: web指纹、服务指纹识别依赖Nmap
其他功能: POC检测、密码爆破、子域枚举
个人建议: 速度比较快,资产发现比较全面,集成了很多功能,但资源占用较高,无内置服务指纹依赖Nmap。但好像资产探测后就卡在那不动了,几次都是这样,等了几个小时都没动静。
推荐指数: ⭐⭐⭐
测试截图:
6. Naabu
功能: 专注于快速端口扫描的工具,能够高效检测开放端口。
特色: 使用异步技术加快扫描进程,适合大规模端口扫描和初步服务发现。
GitHub 地址: https://github.com/projectdiscovery/naabu
Star 数量: 4.6k
工具版本: v2.3.1
文件大小(解压后): 28.4M
最后更新: 2024.05
扫描线程: -
命令参数:
naabu.exe -Pn -list ip.txt -c 800 -p 1-65535 -o naabu.txt
扫描耗时: 43h13m
IP存活数: 77
端口开放数: 886
资源占用: 7%-8%
指纹识别: 无此功能
其他功能: -
个人建议: 功能比较单一,纯端口开放测试,发现资产比较全面,就是速度很拉胯,耗时很长,和Nmap有一拼。
推荐指数: ⭐⭐
测试截图:
7. Kscan
功能: 纯go开发的全方位扫描器,具备端口扫描、协议检测、指纹识别,暴力破解等功能。
特色: 能够接受多种输入格式,扫描时会根据端口号与常见协议进行比对来确认端口协议。
GitHub 地址: https://github.com/lcvvvv/kscan
Star 数量: 3.9k
工具版本: v1.85
文件大小(解压后): 6.8M
最后更新: 2022.1
扫描线程: 800
命令参数:
kscan.exe -Pn -t ip.txt -p 1-65535 --threads 800 -o kscan.txt
扫描耗时: 1h16m
IP存活数: 66
端口开放数: 379
资源占用: 19%-20%
指纹识别: web指纹、服务指纹
其他功能: 密码爆破、空间测绘API
个人建议: 扫描速度很快,但资产准确度相对一般,资源占用较高,现在好像不大更新了。
推荐指数: ⭐⭐
测试截图:
8. Railgun
功能: 一款GUI界面的渗透工具,集成了渗透过程中常用到的一些功能。
特色: 集成了端口扫描、端口爆破、web指纹扫描、漏洞扫描、漏洞利用以及编码转换功能。
GitHub 地址: https://github.com/lz520520/railgun
Star 数量: 2k
工具版本: v1.5.5
文件大小(解压后): 145M
最后更新: 2023.05
扫描线程: 800
命令参数: -
扫描耗时: 16h39m
IP存活数: 72
端口开放数: 912
资源占用: 18%-20%
指纹识别: web指纹、服务指纹
其他功能: POC检测、密码爆破、目录枚举
个人建议: 资产发现数量比较多,但速度略慢,在测试中出现卡退情况,作者好像现在不大更新了。
推荐指数: ⭐⭐⭐⭐
测试截图:
9. Dismap
功能: 资产发现和识别工具,可以快速识别 Web/tcp/udp 等协议和指纹信息,适用于内外网,辅助红队人员快速定位潜在风险资产信息。
特色: 拥有完善的指纹规则库,目前包括 tcp/udp/tls 协议指纹和 4500+ Web 指纹规则。
GitHub 地址: https://github.com/zhzyker/dismap
Star 数量: 1.5k
工具版本: v0.4
文件大小(解压后): 2.4M
最后更新: 2022.06
扫描线程: 800
命令参数:
dismap.exe --np -f ip.txt -p 1-65535 -t 800 -o dismap.txt
扫描耗时: 28h21m
IP存活数: 75
端口开放数: 907
资源占用: 5%-6%
指纹识别: web指纹、服务指纹
其他功能: -
个人建议: zhzyker大佬出品,准确度高,指纹识别很厉害,国内不少工具都参考了Dismap,但扫描耗时较长,好像不大更新了。
推荐指数: ⭐⭐⭐⭐
测试截图:
10. TscanPlus(无影)
功能: 一款综合性网络安全检测和运维工具,旨在快速资产发现、识别、检测,构建基础资产信息库,发现存在的薄弱点和攻击面。
特色: 端口探测、服务识别、URL指纹识别、POC验证、弱口令猜解、目录扫描、UrlFinder、域名探测、网络空间测绘等。
GitHub 地址: https://github.com/TideSec/TscanPlus
Star 数量: 1.5k
工具版本: v2.5
文件大小(解压后): 12.4M
最后更新: 2024.09
扫描线程: 800
命令参数: -
扫描耗时: 2h36m
IP存活数: 74
端口开放数: 909
资源占用: 9%-11%
指纹识别: 服务指纹、web指纹
其他功能: POC检测、密码爆破、目录枚举、子域枚举、空间测绘API
个人建议: 重剑无锋大佬今年新开发的一款GUI工具,更细很快,内置了很多功能,扫描耗时和资产发现率都表现不错。不过在使用期间发现数据多时前端卡顿,扫描时间有点不稳,第一次4个多小时,第二次2个多小时,不过4小时也已经算很快的了。
推荐指数: ⭐⭐⭐⭐⭐
测试截图:
界面很漂亮,就主动信息搜集功能来说比较齐全,导出数据可读性也不错,还能标识高危资产。
11. Goby
功能: 一款强大的攻击面绘测及自动化漏洞扫描工具,预置丰富的实战化漏洞库,通过为目标建立完整的资产数据库实现快速的安全应急。。
特色: 提供最全面的资产识别,目前预置了超过10万种规则识别引擎,能够针对硬件设备和软件业务系统进行自动化识别和分类。
下载地址: https://gobysec.net/
Star 数量: 1.4k(Goby主要不是在Github维护,所以Github Star数量不具有代表性)
工具版本: v2.9.7
文件大小(解压后): 364M
最后更新: 2024.08
扫描线程: 800
命令参数: -
扫描耗时: 47h37m
IP存活数: 17
端口开放数: 52
资源占用: 5%-6%
指纹识别: web指纹、服务指纹
其他功能: POC检测、密码爆破、目录枚举、子域枚举、空间测绘API
个人建议: Goby是我非常推崇的一款工具,赵老板也是我的偶像,但可能是我个人使用Goby有点问题,扫描了两次,资产发现都很少,而耗时都很长,256个ip需要两天时间,实在没时间再扫第三次了。
推荐指数: ⭐⭐
测试截图:
12. Mitan(密探)
功能: 基于java开发的一款综合性的信息搜集工具,整合多种功能和多种信息搜集接口。
特色: 包含资产信息收集、IP端口查询、备案信息查询、子域名爆破、资产测绘、文件扫描等功能。
GitHub 地址: https://github.com/kkbo8005/mitan
Star 数量: 0.8k
工具版本: v1.15
文件大小(解压后): 57.6M
最后更新: 2024.08
扫描线程: 150(最大的允许线程为150)
命令参数: -
扫描耗时: -
IP存活数: -
端口开放数: -
资源占用: 7%-8%(少量IP扫描时)
指纹识别: 服务指纹
其他功能: 目录枚举、子域枚举、空间测绘API
个人建议: 密探是我用过几次的工具,也在作者的交流群里,信息搜集整合的不错,所以这次也进行了测评,不过比较遗憾的是在大量IP扫描时,工具每次都会崩掉,提示内存不足,甚是遗憾。java程序可能不太适合做这类大量并发的扫描操作吧。
推荐指数: ⭐⭐
测试截图:
256个IP,扫描1-65535端口,直接报错内存不足,然后卡死不动了。
如果只是扫描几个ip的话,还是可以的。
13. DudeSuite
功能: 一款轻量化集成化的Web渗透测试工具集程序,程序包含了多种常见的渗透测试场景适用的工具。
特色: 包含重放及爆破、漏洞验证、端口扫描、编码解码加密破解、网络空间资产搜索、域名爆破等功能。
GitHub 地址: https://github.com/x364e3ab6/DudeSuite
Star 数量: 0.7k
工具版本: v1.0.0.6
文件大小(解压后): 65.4M
最后更新: 2024.09
扫描线程: 500(最大的允许线程为500)
命令参数: -
扫描耗时: 26h16m
IP存活数: 62
端口开放数: 643
资源占用: 10%-11%
指纹识别: 服务指纹
其他功能: POC检测、域名枚举、数据包Fuzz
个人建议: 工具资源占用适中,比较稳定,但目前只有win平台,且没有web指纹信息,导出的数据可读性一般。
推荐指数: ⭐⭐
测试截图:
14. EZ
功能: EZ是一款集信息收集、端口扫描、服务暴破、URL爬虫、指纹识别、被动扫描为一体的跨平台漏洞扫描器。
特色: 支持被动扫描,可辅助发现常见的SQL注入、XSS、XXE、SSRF之类的漏洞。
GitHub 地址: https://github.com/m-sec-org/EZ
Star 数量: 0.6k(EZ主要不是在Github维护,所以Github Star数量不具有代表性)
工具版本: v1.8.9
文件大小(解压后): 89.2M
最后更新: 2022.06
扫描线程: -
命令参数: -
扫描耗时: 3h23m
IP存活数: 54
端口开放数: 532
资源占用: 7%-8%
指纹识别: web指纹、服务指纹
其他功能: POC检测、密码爆破、子域枚举
个人建议: 绿盟团队出品,功能很强大,对标xray的存在,在端口探测方面速度较快,但资产发现率略低。
推荐指数: ⭐⭐⭐
测试截图:
15. Slack
功能: 一款安服集成化工具平台,集成了网站漏洞扫描、端口扫描、目录枚举等功能。
特色: 端口扫描可以联动网站扫描以及协议爆破。
GitHub 地址: https://github.com/qiwentaidi/Slack
Star 数量: 0.4k
工具版本: v1.6.4
文件大小(解压后): 32.1M
最后更新: 2024.09
扫描线程: 800
命令参数: -
扫描耗时: 18h51m
IP存活数: 73
端口开放数: 849
资源占用: 12%-13%
指纹识别: 服务指纹
其他功能: POC检测、密码爆破、目录枚举、子域枚举、空间测绘API
个人建议: 用过早期基于fyne开发的版本,现在转wails框架了,功能比较强大,资产准确度比较高,不过没有内置的web指纹。
推荐指数: ⭐⭐⭐
测试截图:
16. TangGo
功能: 集多年渗透测试实战经验设计和开发的国产化综合性测试平台,主要用于Web站点的功能测试、安全测试和安全评估。。
特色: 集成了40多种自研的跨平台测试工具,支持独立和界面使用,支持团队协同测试。
GitHub 地址:https://tanggo.nosugar.tech/
Star 数量: 0.03k(TangGo主要不是在Github维护,所以Github Star数量不具有代表性)
工具版本: v1.5.2
文件大小(解压后): 410M
最后更新: 2024.08
扫描线程: -
命令参数: -
扫描耗时: 28h29m
IP存活数: 73
端口开放数: 909
资源占用: 14%-15%
指纹识别: web指纹、服务指纹
其他功能: 子域枚举、空间测绘API(还有很多其他功能,但社区版没法使用)
个人建议: 无糖信息技术有限公司出品的神器,功能很强大。扫描模式选SYN扫描的话很快只需要2小时左右时间,但数据少一些,选TCP扫描稍微慢一些,数据更全面准确。内置了很多功能插件,可惜社区版没法使用。
推荐指数: ⭐⭐⭐⭐⭐
测试截图:
结言
为保证测试的公平公正,本次测试所有工具、截图、过程日志、结果Log、性能日志等进行了保存,打包在网盘中:https://www.123865.com/s/ROQrTd-XX8Q? 提取码:mian,有疑义或感兴趣的师傅可自行下载后排查或验证。
本次测试为安全从业者在多工具选择中提供了一些参考依据,有助于提升资产发现的准确性和效率。后面会进一步扩展测试范围,涵盖更多未涉猎的优秀工具,并基于更多维度(如对抗环境中的抗干扰性、跨平台性能等)进行更全面的分析与对比。通过持续的研究和测试,为行业提供更科学的工具使用策略,推动网络安全攻防技术的不断发展。