【保姆级】Nmap下载、安装和使用一篇搞定(包含所有版本,20026最新版)

发文时 Nmap 最新版是 7.993:Nmap安装包(Windows+Linux+macOS)

Nmap 是一款开源的网络扫描工具,全称 Network Mapper,用来发现网络里有哪些设备、这些设备开了哪些端口、端口上跑的是什么服务。

Nmap 能扫描一个网段里在线的设备,能查出某台机器开放了哪些端口,能识别端口对应的软件和版本,也能大致判断对方跑的是什么系统。扫描结果可以存成文本、XML 或表格,方便后面整理成资产清单。

同类的工具有 Masscan、Zmap 等,Nmap 的长处是识别能力强,结果输出格式也全,二十多年一直在维护。

Nmap 免费开源,个人和公司都能用,支持 Windows、macOS、Linux,接下来手把手带大家把 Nmap 的下载、安装和使用操作搞清楚,全程实测,无任何门槛,电脑小白也能轻松看懂。

下载Nmap

发文时 Nmap 最新版是 7.993:Nmap安装包(Windows+Linux+macOS)

平台 安装包 说明
Windows nmap-7.993-setup.exe 自带 Zenmap 和 Npcap,Win7 及以上
macOS nmap-7.993.dmg x86-64 安装器,macOS 10.9 及以上
Linux nmap-7.993-1.x86_64.rpm RHEL、CentOS、Fedora、openSUSE
全平台 zenmap-7.993-py3-none-any.whl Zenmap 图形界面,Python 包

Nmap 不是单个程序,安装包里一共有五个工具:
组件 作用
Nmap 主程序,做主机发现、端口扫描、服务和系统识别
Zenmap 图形界面,把命令变成表单,扫描结果可视化
Ncat 网络连接工具,读写 TCP、UDP 数据,替代 netcat
Nping 发包工具,用来测连通性和延迟
Ndiff 对比两次扫描结果,看端口有没有变化

安装Nmap

1)Windows平台

双击 nmap-7.993-setup.exe,点“I Agree”:

选择组件,包含 Nmap、Zenmap、Ncat、Nping、Ndiff 和 Npcap,保持默认点“Next”:

选安装目录,默认在 C:\Program Files (x86)\Nmap,点 Browse 可以改路径。点“Install”:

安装过程会弹出 Npcap 的安装向导,Npcap 是 Windows 上的抓包驱动,Nmap 做 SYN 扫描和系统识别要靠它。不装 Npcap 也能用,但只能做普通的 TCP 连接扫描,功能和精度都会打折。点 I Agree:

勾选“Install Npcap in WinPcap API-compatible Mode”,点install:

点 Finish 回到安装程序:

默认创建桌面快捷方式:

Nmap 就装完了:

2)macOS平台

双击 nmap-7.993.dmg,挂载磁盘映像,双击里面的 nmap-7.993.mpkg 启动安装,一直往后走,知道安装完成。最后打开“终端”,输入 nmap --version,能看到版本号就装好了。

3)Linux平台

RHEL、CentOS、Fedora、openSUSE 用 rpm 包:
sudo rpm -vhU https://nmap.org/dist/nmap-7.993-1.x86_64.rpm
Ubuntu、Debian 直接用仓库版本,一条命令装完:
sudo apt update && sudo apt install nmap

验证Nmap安装

1)Windows 按 Win + R 输入 cmd 回车,macOS 和 Linux 打开终端。输入 nmap --version,第一行显示 Nmap version 7.993,说明主程序正常。

2)输入 nmap -sn 127.0.0.1,本机应该显示为 up,这是最快的一次自检。

3)输入 nmap -p 1-100 127.0.0.1,能列出本机端口状态,说明扫描功能正常。

4)Windows桌面上双击 Nmap - Zenmap GUI,能打开图形界面就说明组件装全了。

Nmap基础使用

打开 Zenmap,最上面三个输入项。目标(Target)填 IP 或网段,配置(Profile)选扫描类型,命令(Command)显示等价的命令行。

配置就是一组提前写好的参数。选哪个配置,命令框自动填成对应的命令,点“扫描”就按这套参数执行。Zenmap 内置十套配置,命令和实战用法一一对应。

配置 等价命令 用途
Intense scan nmap -T4 -A -v 综合扫描,版本、系统、脚本、路由一起做
Intense scan plus UDP nmap -sS -sU -T4 -A -v 上面那套再加 UDP 端口
Intense scan, all TCP ports nmap -p 1-65535 -T4 -A -v 全部 TCP 端口加综合扫描
Intense scan, no ping nmap -T4 -A -v -Pn 对方不回 ping 时,跳过主机发现直接扫
Ping scan nmap -sn 只找在线设备,不碰端口
Quick scan nmap -T4 -F 扫 100 个常用端口,速度最快
Quick scan plus nmap -sV -T4 -O -F --version-light 常用端口加版本识别和系统识别
Quick traceroute nmap -sn --traceroute 看数据经过哪些路由,不扫端口
Regular scan nmap 默认参数的基础端口扫描
Slow comprehensive scan 见下方完整命令 参数多,速度慢,专项检查才用

1)主机发现

命令行:nmap -sn 192.168.1.0/24。

Zenmap 操作:目标填 192.168.1.0/24,配置选“Ping scan”,点“扫描”。

切到“Nmap 输出”,每台在线设备占一段,开头是“Nmap scan report for IP”,下面是“Host is up”。例如,输出里的“Nmap scan report for 192.168.1.1”就是在线设备。

2)端口扫描

命令行有五种写法,按需要选:
目标填 IP,配置选“Quick scan”(等价于 -T4 -F)。要扫全部端口选“Intense scan, all TCP ports”(等价于 -p 1-65535 -T4 -A -v)。只想扫指定端口,直接在“命令”框里改成 nmap -p 22,80,443 192.168.1.10,回车就执行。

切到“端口/主机”,表格里列着端口号、协议、状态、服务、版本。点表头能排序,点某一行,下面会显示该端口的详细信息。

3)服务与版本识别

命令行:nmap -sV 192.168.1.10。

Zenmap 操作:配置选“Quick scan plus”(等价于 -sV -T4 -O -F --version-light),要扫全端口就用“Intense scan”。

“端口/主机”里的 Service 和 Version 两列,80 端口会从 http 补全成 nginx 1.24.0 这样的具体版本。切到“主机详情”也能看到同一份列表,还带脚本结果。版本识别会额外发包,比纯端口扫描慢,端口多的时候更明显。

总结

Nmap 是开源的网络扫描工具,免费,Windows、macOS、Linux 都能装,能发现网段里的设备、查开放端口、识别服务版本和操作系统,还能用脚本做更细的检测,扫描结果支持文本、XML 等多种格式。