当前位置:首页 > 时尚 > nmap怎么使用

nmap怎么使用

时间:2026-10-17 05:11:19来源:力不从心网 作者:探索

nmap不是使用那种你装完就能立刻玩出花的工具,但它绝对是使用网络排查和渗透测试里最值得花半小时学的命令。我见过太多人只会敲 nmap 192.168.1.1,使用然后看着一堆端口列表发愣,使用其实这工具的使用核心价值在于“主动探测”——它自己发包、分析响应、使用推断目标状态,使用而不是使用被动等数据。

先看最基本的使用用法:nmap <目标IP>。默认扫1000个常用端口,使用输出像这样:22/tcp open ssh,使用80/tcp open http。使用但别急着高兴,使用这里有个坑——默认只扫TCP,使用而且用SYN半开扫描(需要root权限)。使用如果你没加sudo,它自动退化成完整的TCP connect扫描,速度慢一半,但结果基本一致。

端口扫描只是皮毛。真正让你跟别人拉开差距的是-sV参数。它会让nmap主动连接每个开放的端口,发送特定探针去识别服务版本。比如你看到443/tcp open ssl/http Apache httpd 2.4.29,这比单纯知道“443开着”有用得多——因为Apache 2.4.29有已知的mod_http2拒绝服务漏洞,而2.4.41就没这问题。我上次帮朋友排查公司服务器,就是用-sV发现对方跑的是vsftpd 2.3.4,那个版本有著名的后门,直接getshell。

光有版本还不够,-O能猜操作系统。它通过分析TCP/IP协议栈的细微差异(比如初始TTL值、窗口大小)来推断对方是Linux、Windows还是思科路由器。注意,这玩意儿不是100%准,但配合-sV的结果,基本能锁定目标类型。比如Windows的TTL默认128,Linux是64,一看便知。

你要是想扫整个网段,别傻乎乎地一个个IP敲。用CIDR写法:nmap -sV 192.168.1.0/24,它会并发扫描所有254个地址。但默认并发太高,容易把家用路由器打死——我干过这事,扫到一半路由器直接重启,全屋断网。所以加个--min-rate 500限制发包速率,或者用-T2降低时间模板,慢点但稳。

再讲个实际场景:你怀疑某台机器开着远程桌面,但默认端口3389被改了。这时用-p-扫全端口(1-65535),配合--open只看开放的。扫全端口很耗时,但你可以加--top-ports 1000先试高频端口,或者用--exclude-ports跳过明显没用的端口。我习惯先全端口扫一遍,趁等待时间喝杯咖啡,回来再针对开放端口做服务识别。

有个功能很多人忽略——--script。nmap自带几百个NSE脚本,能直接做漏洞检测、暴力破解甚至枚举SMB共享。比如nmap --script=http-title 目标IP会抓取网页标题,--script=smb-enum-shares能列出Windows共享目录。这些脚本写起来麻烦,但现成的已经够日常用了。不过要提醒一句,别在没授权的主机上跑攻击性脚本,这玩意儿跟主动扫描不一样,可能触发入侵检测系统报警。

最后说个经验:nmap的输出格式别用默认的表格,加-oX result.xml保存成XML,方便后续用脚本解析。或者用-oG生成grepable格式,一行一个主机,配合awk能快速提取IP和端口。我习惯先跑一次全端口扫描存XML,再针对结果做二次深度探测,这样不用重复扫同一批端口。

工具本身不复杂,复杂的是你怎么用它。别光记参数,多想想每个结果背后的含义——为什么这个端口开着?对应什么服务?有没有已知漏洞?带着问题去扫,比盲扫一万个IP有用得多。

相关内容
推荐内容