数量
7.991 新增了 8 个 DICOM 脚本,NSE 脚本达到 620 个。7.96 版本曾达到 612 个。
Nmap 扫描器
版本 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 会打开操作系统检测、版本检测、默认脚本和路由跟踪。
如果在 Windows 上扫描你自己的电脑失败,常见原因是缺少 Npcap 驱动。参见Windows 上的 localhost 扫描。
端口
端口状态为开放、关闭、被过滤、未被过滤、开放|被过滤或关闭|被过滤。开放表示应用程序接受了探测。关闭表示主机有应答且没有程序在监听。被过滤表示过滤器丢弃了探测,因此 Nmap 无法判断。
| 技术 | 参数 | 你能了解到的内容 |
|---|---|---|
| TCP SYN | -sS | TCP 端口是否接受握手的开始。这是允许原始数据包时的常用扫描。 |
| TCP connect | -sT | 通过操作系统套接字 API 问同样的问题。没有 Npcap 也能工作。在 Windows 上,7.96 不再把许多关闭的端口标成被过滤。 |
| UDP | -sU | UDP 端口是否响应。它比 TCP 慢。当 DNS、SNMP 或类似服务重要时使用它。 |
| TCP ACK | -sA | 端口看起来是否未被过滤。它本身不能告诉你服务是否开放。 |
| 仅 ping | -sn | 哪些主机在线,不做端口扫描。 |
| 跳过发现 | -Pn | 把每个目标都视为在线。当 ICMP 被阻断且你已经知道主机存在时有用。 |
随 Nmap 安装的手册页描述了更多探测类型。本页不讲解防火墙规避。
服务
-sV 与开放端口对话,并在识别横幅时打印服务名称和版本。在截图中,22 端口是带 OpenSSH 字符串的 ssh,53 端口是带 ISC BIND 的 domain,80 端口是带 Apache httpd 的 http。25 端口和 113 端口是关闭的。
-O 把应答与指纹库比较。截图说明操作系统匹配并不理想,因为没有收到 UDP 应答。这是正常结果,不是安装失败。Nmap 7.99 新增了一大批 IPv4 和 IPv6 操作系统指纹,并更新了服务指纹。
--version-light 是此处快速扫描增强配置文件所用的较轻版本探测。
脚本
Nmap 脚本引擎对你选择的服务运行 Lua 脚本。脚本位于 default、discovery、auth、vuln 等类别中。你可以运行默认集合、一个类别或一个脚本。-A 包含默认集合。
7.991 新增了 8 个 DICOM 脚本,NSE 脚本达到 620 个。7.96 版本曾达到 612 个。
脚本线程如果运行超过 5 秒且不让出执行(例如没有套接字调用),就会被终止。
超过 400 MB 的分配会抛出错误。项目表示这些限制以后可能会变。
只在你获准测试的主机上使用 NSE。脚本可能登录、枚举或接触服务,所以添加之前先阅读它的名称。
图形界面
Zenmap 是官方界面。目标框、配置文件菜单和命令行在窗口顶部。选项卡为 Nmap 输出、端口 / 主机、拓扑、主机详情和扫描。截图中的配置文件包括快速扫描、快速扫描增强和密集扫描。按下扫描会运行命令字段中的命令,因此你可以先阅读它。
7.96 在配置文件菜单下增加了深色模式,菜单项是 Toggle Dark Mode(切换深色模式)。7.991 修复了保存的命令含有百分号时配置文件编辑器崩溃的问题,以及 KeyError: 'vl_6_logo' 崩溃和配置文件编辑器中的 DuplicateSectionError。如果较旧的 Zenmap 仍然会关闭,请更新并阅读 Zenmap 指南。
安装程序
Windows 安装程序是 Nullsoft 安装包。它询问文件夹以及要保留哪些部分:Nmap 核心文件、PATH 注册、数据包驱动、Zenmap、Ncat 和 Ndiff。Nping 也是套件的一部分。
这张截图比较旧。它仍列出 WinPcap。当前安装程序改为安装 Npcap。不要在 7.991 上寻找 WinPcap 复选框。文件大小和 SHA-256 在下载页上。
套件的其余部分
Ncat 在网络上读写数据,并且可以使用 TLS。它是杀毒产品最常标记的工具,因为它可以把程序接到连接上。7.991 修复了 Ncat HTTP 代理中消耗内存的挂起。杀毒软件标记 Ncat 时怎么办
比较两次扫描结果,从而看出发生变化的主机或端口。7.991 修复了在 Python 3.12 及更新版本上的 make check-ndiff。
生成数据包并显示应答。--rate 选项拒绝高于每秒 1,000 个数据包的速率,因为 Nsock 计时器以毫秒为单位。如果需要取消上限,使用 --delay 0。在没有 Npcap 的 Windows 上,原始模式的 Nping 无法运行。
速度
模板改变探测发出的速度。在生产局域网中,更快并不总是更好。
偏执与鬼祟。非常慢。清点很少需要它们。
礼貌。当你不能挤占链路时,这是更平稳的选择。
正常。不传入 -T 时的默认值。
激进。截图中的快速扫描和密集扫描配置文件使用 -T4。
疯狂。容易触发监控,也容易损失准确性。把它留在实验环境。
文件
你在 Nmap 输出选项卡中看到的文本。-oN 把它写入文件。
-oX 是包括 Ndiff 在内的其他工具所期望的格式。
-oG 是便于快速搜索的单行样式。XML 是更好的存档格式。
-oA 从一次扫描写出普通、XML 和可 grep 文件。7.991 还允许 --stats-every 在没有终端时与 --noninteractive 一起打印进度。