Nmap 不扫描所有端口

Nmap 不扫描所有端口

我注意到 nmap 仅扫描一堆已知端口,而我设法检查所有端口的唯一方法是输入“-p 0-65535”。

为什么会这样?我错了吗?除了我所做的之外,还有其他更流行的方法来扫描所有端口吗?

答案1

默认情况下,Nmap 会根据 2008 年夏季互联网范围扫描和大型内部网络扫描生成的统计数据,扫描前 1000 个最常用的端口。有几个选项可以改变这种情况:-F将数量减少到 100,-p允许您指定要扫描的端口,并--top-ports允许您指定要扫描的最常用端口数。这意味着默认扫描相当于--top-ports 1000,并且-F与 相同--top-ports 100

这些数字是在 4.75 版中设置的,与 4.68 版中默认的大约 1700 个 (TCP) 端口不同。目的是减少扫描时间,同时仍提供合理的结果。Nmap 命令行选项的灵活性保证您仍然可以扫描您想要的几乎任何端口组合,而不管默认值如何。

使用 仍可扫描所有 65536 个 TCP 端口-p0-,但会花费很长时间。使用 扫描所有 UDP 端口-sU -p0-将花费更长时间,因为检测开放端口的方式不同。

答案2

如果你不想输入端口范围,你也可以直接输入

-p-

参数,默认情况下,它将扫描除端口 0 之外的所有端口。对于端口 0,您必须明确指定它。

答案3

扫描的端口数量也取决于扫描类型。您可以扫描所有 TCP 端口、所有 UDP 端口或同时扫描所有 TCP 和 UDP 端口。您使用的-p 0-65535 将根据扫描类型起作用。您可以使用以下方式缩写-p-正如上面的同事所说。

但是,这将根据您指示的扫描类型扫描所有端口。例如,如果您想扫描所有 TCP 端口,则需要进行 TCP 扫描,无论是使用完整握手还是隐秘 TCP 扫描(SYN、ACK、FIN、NULL、XMAS),因此您的扫描(此处我正在进行 TCP SYN 扫描)将是

nmap -sS -p- TARGET_IP_ADDRESS_OR_IP_RANGE

如果你的扫描仅是 UDP,那么你必须启动 UDP 扫描,例如

nmap -sU -p- TARGET_IP_ADDRESS_OR_IP_RANGE

现在,如果你想一次性扫描所有 TCP 和 UDP 端口,你也可以这样做

-pT:0-65535,U:0-65535

因此扫描可能是

nmap -sSU -p- TARGET_IP_ADDRESS_OR_IP_RANGE

或者

nmap -sSU -pT:0-65535,U:0-65535 TARGET_IP_ADDRESS_OR_IP_RANGE

但请注意,扫描所有 UDP 端口将花费很长时间,因此如果您想加快扫描速度,请确保减少探测次数并增加时间,例如您可以选择 -T5。顺便说一下,要扫描选择 TCP 和 UDP 端口,您可以这样做

   nmap -sAU -pT:21,22,23,80,443,135,139,3389,U:53,137,161

这次我选择进行 TCP ACK 隐形扫描—sA除了 UDP 扫描。

相关内容