Nmap 支持 Microsoft Windows二进制文件(.exe)。即Windows平台的应用程序。可实行的自动安装程序提供,此中包括NMAP的依靠项和Zenmap GUI。支持Windows 7和更新的NMAP,以及Windows Server 2008 R2以及更新。
安装链接:https://nmap.org/dist/nmap-7.95-setup.exe
Mac OS X
Nmap 支持 Mac OS X二进制文件。Apple MacOS(X86-64)的NMAP二进制文件分布为磁盘图像文件 包含一个安装程序。安装程序答应安装nmap,zenmap, NCAT和NDIFF。这些程序已在 Mac OS X 10.9及以后。
安装链接:https://nmap.org/dist/nmap-7.95.dmg
Linux
每个地址仅扫描一次
每个 IP 地址仅扫描一次。默认行为是按照目标列表中指定的次数扫描每个地址,例如当网络范围重叠或不同的主机名剖析为同一地址时。
nmap --unique 192.168.174.134
复制代码
9. --system-dns
使用系统 DNS 剖析器
默认情况下,Nmap 通过将查询直接发送到主机上配置的名称服务器,然后监听相应来反向剖析 IP 地址。很多请求(通常数十个)并行实行以进步性能。指定此选项以使用您的系统剖析器(通过 getnameinfo 调用一次一个 IP)。除非您发现 Nmap 并行剖析器中的错误(假如您发现,请告诉我们),否则这会比力慢而且很少有用。系统剖析器始终用于正向查找(从主机名获取 IP 地址)。
nmap --system-dns 192.168.174.145
复制代码
10. --dns-servers <server1>[,<server2>[,...]]
用于反向 DNS 查询的服务器
默认情况下,Nmap 从 resolv.conf 文件(Unix)或注册表(Win32)确定您的 DNS 服务器(用于 rDNS 剖析)。或者,您可以使用此选项指定备用服务器。假如您使用 --system-dns,则不支持此选项。使用多个 DNS 服务器通常更快,特别是假如您为目标 IP 空间选择权威服务器。此选项还可以进步隐蔽性,因为您的请求可以从互联网上几乎任何递归 DNS 服务器反弹。
此选项在扫描私有网络时也很有用。有时只有少数名称服务器提供精确的 rDNS 信息,您甚至可能不知道它们在哪里。您可以扫描网络以查找端口 53(可能使用版本检测),然后实验 Nmap 列表扫描(-sL),使用 --dns-servers 一次指定一个名称服务器,直到找到一个有效的服务器。
假如 DNS 相应超出 UDP 数据包的巨细,则此选项可能不受支持。在这种情况下,我们的 DNS 剖析器将尽最大努力从截断的数据包中提取相应,假如不乐成,它将回退到使用系统剖析器。此外,包含 CNAME 别名的相应将回退到系统剖析器。
需要root权限
报文分段;使用指定的 MTU - 分段数据包(可选,带给定的 MTU) -f 选项使请求的扫描(包括主机发现扫描)使用微小的分片 IP 数据包。其想法是将 TCP 报头拆分为多个数据包,使数据包过滤器、入侵检测系统和其他麻烦更难检测到您正在做的事情。请小心使用此选项!有些程序很难处理这些微小的数据包。名为 Sniffit 的老式嗅探器在收到第一个片断后立刻出现分段故障。指定此选项一次,Nmap 会在 IP 报头后将数据包拆分为 8 个字节或更少的字节。因此,20 字节的 TCP 报头将被拆分为三个数据包。两个包含 8 个字节的 TCP 报头,一个包含末了 4 个字节。固然,每个片断也有一个 IP 报头。再次指定 -f 以使用每个片断 16 个字节(减少片断数量)。或者,您可以使用 --mtu 选项指定自己的偏移巨细。假如您使用 --mtu,请不要同时指定 -f。偏移必须是 8 的倍数。虽然碎片数据包不会被数据包过滤器和将所有 IP 碎片列队的防火墙(例如 Linux 内核中的 CONFIG_IP_ALWAYS_DEFRAG 选项)拦截,但某些网络无法承受由此造成的性能损失,因此将其禁用。其他网络无法启用此功能,因为碎片可能会通过不同的路由进入其网络。某些源系统会在内核中对传出的数据包举行碎片整理。带有 iptables 连接跟踪模块的 Linux 就是如许一个例子。在 Wireshark 等嗅探器运行时举行扫描,以确保发送的数据包是碎片化的。假如您的主机操作系统导致问题,请实验使用 --send-eth 选项绕过 IP 层并发送原始以太网帧。
碎片仅支持 Nmap 的原始数据包功能,此中包括 TCP 和 UDP 端口扫描(连接扫描和 FTP 反弹扫描除外)和操作系统检测。版本检测和 Nmap 脚本引擎等功能通常不支持碎片,因为它们依靠于主机的 TCP 堆栈与目标服务举行通信。
nmap -f 192.168.174.132
复制代码
nmap --mtu 64 192.168.174.132
复制代码
74. -D <decoy1>[,<decoy2>][,ME][,...]
使用诱饵隐藏扫描
实行诱饵扫描,使长途主机认为您指定为诱饵的主机也在扫描目标网络。因此,他们的 IDS 可能会报告来自唯一 IP 地址的 5-10 个端口扫描,但他们不知道哪个 IP 正在扫描它们,哪些是无辜的诱饵。虽然可以通过路由器路径跟踪、相应丢弃和其他自动机制来破解这一点,但它通常是隐藏 IP 地址的有效技术。
用逗号分隔每个诱饵主机,您可以选择使用 ME 作为诱饵之一来表现您的真实 IP 地址的位置。假如您将 ME 放在第六位或更靠后的位置,一些常见的端口扫描检测器(如 Solar Designer's excellent Scanlogd)不太可能显示您的 IP 地址。假如您不使用 ME,Nmap 会将您置于随机位置。您还可以使用 RND 天生随机的非保留 IP 地址,或使用 RND:<number> 天生 <number> 个地址。
请注意,您用作诱饵的主机应该处于启动状态,否则您可能会心外地 SYN 泛洪您的目标。此外,假如网络上只有一个主机处于现实启动状态,则很轻易确定哪个主机正在扫描。您可能盼望使用 IP 地址而不是名称(如许诱饵网络就不会在其名称服务器日记中看到您)。现在,只有 IPv4 支持随机 IP 地址天生
诱饵既用于初始主机发现扫描(使用 ICMP、SYN、ACK 或其他),也用于现实端口扫描阶段。诱饵还用于长途操作系统检测 (-O)。诱饵不实用于版本检测或 TCP 连接扫描。当扫描延迟见效时,延迟是在每批欺骗探测之间欺压实行的,而不是在每个单独的探测之间欺压实行的。由于诱饵是一次性批量发送的,因此它们可能会暂时违背拥塞控制限定。
值得注意的是,使用过多诱饵可能会减慢扫描速度,甚至可能降低扫描准确性。此外,一些 ISP 会过滤掉您的欺骗数据包,但很多 ISP 根本不限定欺骗 IP 数据包。
需要root权限
发送带有指定 IP 选项的数据包 IP 协议提供了几个可以放置在数据包头中的选项。与无处不在的 TCP 选项不同,出于实用性和安全性考虑,IP 选项很少见。事实上,很多互联网路由器会制止最伤害的选项,例如源路由。然而,在某些情况下,选项仍然可用于确定和操纵到目标呆板的网络路由。例如,即使更传统的跟踪路由样式方法失败,您也可以使用记载路由选项来确定到目标的路径。或者,假如您的数据包被某个防火墙丢弃,您可以使用严格或宽松的源路由选项指定不同的路由。
指定 IP 选项的最有效方法是简朴地将值作为 --ip-options 的参数传递。在每个十六进制数字前面加上 \x,然后加上两位数字。您可以通过在特定字符后跟星号并指定重复次数来重复这些字符。例如,\x01\x07\x04\x00*36\x01 是一个包含 36 个 NUL 字节的十六进制字符串。
Nmap 还提供了一种指定选项的快捷机制。只需传递字母 R、T 或 U 即可分别请求记载路由、记载时间戳或同时请求这两个选项。可以使用 L 或 S 后跟空格,然后是空格分隔的 IP 地址列表来指定疏松或严格的源路由。
假如您盼望查看发送和吸收的数据包中的选项,请指定 --packet-trace。有关使用 Nmap 的 IP 选项的更多信息和示例,请参阅 https://seclists.org/nmap-dev/2006/q3/52。