Nmap常用用法
Nmap简介
提及网络扫描,很难饶过Nmap,Nmap[^nmap]是 network Mapper的缩写,开源网路发现及安全审计工具,也用于网络资产、服务管理、监控主机或服务开启状态。支持Linux、Windows、Mac OS X等系统,此外NMap支持插件等高级功能。
Nmap提供的工具:
基本用法
- Ping — 扫描指定网络的主机,使用ICMP协议的Ping包,禁止ping使用
-Pn
nmap -sp 192.168.1.1/24
nmap -Pn 192.168.1.1/24
- 扫描主机 — 默认扫描约1000多个常见端口,如SQL, SNTP, HTTP, HTTPS等
nmap scanme.nmap.org
- 完整扫描
nmap -A scanme.nmap.org
- 端口扫描 - 可指定端口类型、端口范围、常见端口topN等
nmap -p 973 192.168.0.1
nmap -p T:7777, 973 192.168.0.1
nmap -p 76–973 192.168.0.1
nmap --top-ports 10 scanme.nmap.org
- 导出格式 - 支持直接显示、常规
-oN、XML格式-oX、全部格式-oA等
nmap --top-ports 10 scanme.nmap.org
nmap -oN output.txt scanme.nmap.org
nmap -oX output.xml scanme.nmap.org
nmap -oA output scanme.nmap.org
存活扫描
- Syn检测 - 发送TCP协议三次握手的SYN包,检测是否响应(防火墙禁用SYN检测时,需要完成握手后才转发给服务器)
nmap -sS scanme.nmap.org
资产识别
版本
- 组件版本 - 使用
-sV参数,可以识别出常见服务的组件名、端口等
nmap -sV scanme.nmap.org
- 操作系统识别 - 通过ICMP、TCP/IP等协议指纹进行识别,可进行模糊探测
nmap -O scanme.nmap.org
nmap --osscan-guess scanme.nmap.org
Nmap脚本引擎
Nmap脚本引擎(Nmap Scripting Engine,NSE) 提供脚本支持及扩展功能,使用Lua语言,通常脚本用于安全扫描等,详见Chapter 9. Nmap Scripting Engine
脚本分类:
- 认证auth
- 广播broadcast
- 暴破brute
- 发现discovery
- 拒绝服务dos
- 漏洞利用exploit
- 外部external
- 模糊探测fuzzer
- 入侵intrusive
- 蠕虫检查malware
- 安全扫描safe
- 版本识别version
- 漏洞扫描vuln
- 默认default
Zenmap
nmap 的图形界面工具,windows安装包中默认后自带。界面有命令参数的提醒及解释。

大规模扫描
对于较大的网络(如B段)进行扫描,nmap相对较慢,如需快速扫描,可以使用Zmap[^zmap]等工具,用于存活识别、特定端口识别等。
参考:
最后修改于 2021-12-16