跳到正文
下载 7.991

版本 7.991

7.991 实际能报告什么

主机发现、TCP 与 UDP 端口状态、服务版本、操作系统推测,以及 620 个 NSE 脚本。Zenmap 在窗口中显示同样的结果。Ncat、Ndiff 和 Nping 随套件一起提供。

下面的说明使用程序中的参数和界面名称。请只扫描你获准测试的系统。安装问题见故障排查指南。


主机

列出端口之前,先看谁有应答

ping 扫描(-sn)询问哪些地址在线,并跳过端口列表。在本地以太网网段上,Nmap 可以使用 ARP。检查经过路由的网络时,它也可以使用 ICMP echo、TCP 和 UDP 探测。

这张截图中的深入扫描先做 ping,然后对 1,000 个端口做 SYN 扫描,并加载 NSE。Zenmap 显示的命令是 nmap -T4 -A -v -PE -PS22,25,80 -PA21,23,80,3389。-A 会开启操作系统检测、版本检测、默认脚本和 traceroute。

如果在 Windows 上扫描你自己的电脑失败,常见原因是缺少 Npcap 驱动。参见Windows 上的 localhost 扫描。

Zenmap · Nmap 输出 · 深入扫描

端口

扫描类型及其报告的状态

端口状态可以是开放、关闭、被过滤、未被过滤、开放|被过滤,或关闭|被过滤。开放表示应用程序接受了探测。关闭表示主机有应答且没有程序在监听。被过滤表示过滤器丢弃了探测,因此 Nmap 无法判断。

常见的 Nmap 扫描类型
技术参数你能得知什么
TCP SYN-sSTCP 端口是否接受握手的开始。这是允许原始数据包时的常用扫描。
TCP connect-sT通过操作系统套接字 API 问同样的问题。它不需要 Npcap 也能工作。在 Windows 上,7.96 不再把许多关闭端口标成被过滤。
UDP-sUUDP 端口是否有响应。它比 TCP 慢。当 DNS、SNMP 或类似服务重要时使用它。
TCP ACK-sA端口看起来是否未被过滤。它本身不能告诉你服务是否开放。
仅 ping-sn哪些主机在线,不做端口扫描。
跳过发现-Pn把每个目标都视为在线。当 ICMP 被阻断而你已经知道主机存在时有用。

更多探测类型写在随 Nmap 安装的手册页中。本页不讲解防火墙规避。

Zenmap · 端口 / 主机 · 对 scanme.nmap.org 的快速扫描

服务

版本字符串与操作系统推测

-sV 会与开放端口通信,并在横幅被识别时打印服务名称和版本。在截图中,22 端口是带有 OpenSSH 字符串的 ssh,53 端口是带有 ISC BIND 的 domain,80 端口是带有 Apache httpd 的 http。25 端口和 113 端口为关闭。

-O 把应答与指纹库比较。截图说明操作系统匹配不够理想,因为没有收到 UDP 应答。这是正常结果,不是安装失败。Nmap 7.99 新增了一大批 IPv4 和 IPv6 操作系统指纹,并更新了服务指纹。

--version-light 是此处所示快速扫描增强配置所使用的较轻量版本探测。

Zenmap · 服务与版本列 · 快速扫描增强

脚本

7.991 中的 NSE:620 个脚本,并带有限制

Nmap Scripting Engine 针对你选择的服务运行 Lua 脚本。脚本分属 default、discovery、auth 和 vuln 等类别。你可以运行默认集合、一个类别或一个脚本。-A 包含默认集合。

数量

7.991 新增了 8 个 DICOM 脚本,NSE 脚本达到 620 个。7.96 版本曾达到 612 个。

时间限制

脚本线程如果运行超过 5 秒且不让出执行,例如没有套接字调用,就会被终止。

内存限制

超过 400 MB 的分配会抛出错误。项目表示这些限制以后可能会改变。

请在你获准测试的主机上使用 NSE。脚本可以登录、枚举或触碰服务,所以添加之前请先阅读它的名称。


图形界面

Zenmap 让命令始终可见

Zenmap 是官方界面。目标框、配置菜单和命令行位于窗口顶部。标签页为 Nmap 输出、端口 / 主机、拓扑、主机详情和扫描。截图中的配置包括快速扫描、快速扫描增强和深入扫描。按下 Scan 会运行 Command 字段中的命令,因此你可以先阅读它。

7.96 在 Profile 下增加了深色模式,菜单项为 Toggle Dark Mode。7.991 修复了已保存命令含有百分号时配置编辑器崩溃的问题,以及 KeyError: 'vl_6_logo' 崩溃和配置编辑器中的 DuplicateSectionError。如果较旧的 Zenmap 仍然会关闭,请更新并阅读 Zenmap 指南。

Zenmap · 拓扑 · 对 scanme.nmap.org 的快速扫描
Zenmap 配置编辑器 · Other · 详细程度 1

安装程序

较旧的安装窗口列出了什么

Windows 安装程序是 Nullsoft 安装包。它会询问文件夹以及要保留哪些部分:Nmap 核心文件、PATH 注册、数据包驱动、Zenmap、Ncat 和 Ndiff。Nping 也是套件的一部分。

这张截图比较旧。它仍列出 WinPcap。当前安装程序改为安装 Npcap。不要在 7.991 上寻找 WinPcap 复选框。文件大小和 SHA-256 位于下载页面。

较旧的安装截图 · 当前构建使用 Npcap

套件的其余部分

Ncat、Ndiff 和 Nping

Ncat

Ncat 在网络上读写数据,并且可以使用 TLS。它是杀毒产品最常标记的工具,因为它可以把程序接到连接上。7.991 修复了 Ncat 的 HTTP 代理代码在 connect 和 listen 两种模式下消耗内存并挂起的问题。listen 模式不再向整个进程组发送终止信号。在 Windows 上,Ncat 在读取 stdin 时大约 2 分钟后退出的缺陷也已修复。

杀毒软件标记 Ncat 时怎么办

Ndiff

比较两次扫描结果,从而看出发生变化的主机或端口。7.991 修复了在 Python 3.12 及更新版本上的 make check-ndiff。

Nping

生成数据包并显示应答。--rate 选项拒绝高于每秒 1,000 个数据包的速率,因为 Nsock 计时器以毫秒为单位。如果需要取消上限,请使用 --delay 0。在没有 Npcap 的 Windows 上,Nping 可以回退到 TCP connect 模式。


速度

时序模板 T0 到 T5

模板改变探测发出的速度。在生产局域网中,更快并不总是更好。

T0 与 T1

偏执与隐秘。非常慢。资产清点很少需要它们。

T2

礼貌。当你不能挤占链路时,这是更从容的选择。

T3

正常。不传入 -T 时的默认值。

T4

激进。截图中的快速扫描和深入扫描配置使用 -T4。

T5

疯狂。容易触发监控,也容易失去准确性。把它留在实验室。


文件

以后可以比较的输出

普通

你在 Nmap 输出标签页中看到的文本。-oN 把它写入文件。

XML

-oX 是包括 Ndiff 在内的其他工具所期望的格式。

可 grep

-oG 是便于快速搜索的单行风格。XML 是更好的存档格式。

全部三种

-oA 从一次扫描写出普通、XML 和可 grep 文件。7.991 还让 --stats-every 在没有终端时与 --noninteractive 一起打印进度。

下载适用于 Windows 的 Nmap 7.991