当前位置:首页 > 时尚 > nmap是一款优秀的端口扫描工具 正文

nmap是一款优秀的端口扫描工具

来源:烟消火灭网   作者:热点   时间:2026-10-17 05:50:22

第一次用nmap扫一台服务器,款优我只敲了一行命令:nmap 192.168.1.1。端口几秒钟后,扫描终端吐出一张表,工具22、款优80、端口443三个端口开着,扫描服务版本也标得清清楚楚。工具那一刻的款优感觉很像拿到了一把万能钥匙——原来一台机器对外暴露了什么,可以这么直接地看见。端口

nmap全称Network Mapper,扫描诞生于1997年,工具作者Gordon Lyon(化名Fyodor)。款优二十多年过去,端口它依然是扫描端口扫描领域最常被提起的名字。不是因为没有竞品,而是因为它把"扫端口"这件事做得足够深,又足够灵活。masscan追求极致速度,zmap专注大网段单端口,但论综合能力和生态,nmap没有真正的对手。

默认扫描方式叫TCP SYN扫描,也叫半开放扫描。它不发完整的TCP握手,只发SYN包,收到SYN-ACK就判定端口开放,然后直接RST断开。速度快,隐蔽性也比全连接扫描好一截。当然,这需要root权限,普通用户跑nmap时它会退回到connect()扫描,日志里会留下完整连接记录。这个细节很多人不注意,但在实际渗透测试中区别很大。

端口状态有六种:open、closed、filtered、unfiltered、open|filtered、closed|filtered。新手容易只盯着open,其实filtered同样有信息量——它说明有防火墙在拦,包被丢了或者被拒了。有一次我扫一台主机,80端口显示filtered,换成ACK扫描后变成unfiltered,基本可以判断防火墙只过滤了SYN包,没做状态检测。这种推断,靠单一扫描类型是得不出来的。

nmap的脚本引擎NSE是它真正拉开差距的地方。--script参数后面可以挂几百个现成脚本,从检测Heartbleed漏洞到枚举SMB共享,从抓HTTP标题到探测数据库弱口令。我常用的是nmap --script vuln,一次性跑完所有漏洞检测类脚本。速度不快,但对着几台关键主机跑一遍,心里有底。还有--script banner,专门抓服务横幅,有时候能直接看到版本号里藏着的已知CVE。

操作系统识别也值得说。nmap往目标发一组精心构造的TCP/IP探测包,拿回来的响应跟自己的指纹库比对,能猜出对方跑的是Linux还是Windows,甚至具体到内核版本段。准确率不是百分之百,但配合端口和服务信息,八九不离十。我试过扫一台伪装成Windows Server的Linux蜜罐,nmap的OS检测给出了"Linux 3.x"的猜测,跟端口上跑的Apache版本对不上,反而暴露了异常。

输出格式有五种,-oN普通文本、-oX XML、-oG grepable、-oA全部输出、-oS脚本 kiddie 格式。做自动化的时候XML最实用,解析起来方便。我习惯每次都加-oA scan_result,生成三个文件,后面写报告或者喂给其他工具都省事。

速度控制是个经验活。-T4是常用档位,再快容易丢包误判,再慢又等不起。-T5在局域网里可以试试,跨公网基本等于自找麻烦。还有--min-rate和--max-retries,调好了能明显改善扫描效率。扫大网段的时候,我一般先nmap -sn做主机发现,拿到存活列表再逐个细扫,比一上来就全端口硬扫聪明得多。

合法性问题不能绕开。未经授权扫别人的机器,在大多数国家都属于违法行为。nmap官方文档里专门有一节讲这个。自己搭靶场,或者拿到的书面授权,才是正路。我见过有人拿nmap扫公司内网被安全部门找上门,理由很简单:流量特征太明显,IDS一抓一个准。

说回工具本身。nmap的更新一直没停,2023年还在发新版本,NSE脚本库也在持续扩充。它不花哨,界面就是命令行,但该有的都有,不该有的也不硬塞。这种克制,在安全工具里反而少见。

标签:

责任编辑:百科