端口说明和扫描顺序
除了所有前面讨论的扫描方法,
Nmap提供选项说明那些端口被扫描以及扫描是随机还是顺序进行。
默认情况下,Nmap用指定的协议对端口1到1024以及nmap-services
文件中列出的更高的端口在扫描。
-
-p <port ranges>
(只扫描指定的端口) 该选项指明您想扫描的端口,覆盖默认值。 单个端口和用连字符表示的端口范围(如 1-1023)都可以。 范围的开始以及/或者结束值可以被省略, 分别导致Nmap使用1和65535。所以您可以指定
-p-
从端口1扫描到65535。 如果您特别指定,也可以扫描端口0。 对于IP协议扫描(-sO
),该选项指定您希望扫描的协议号 (0-255)。当既扫描TCP端口又扫描UDP端口时,您可以通过在端口号前加上
T:
或者U:
指定协议。 协议限定符一直有效您直到指定另一个。 例如,参数-p U:53,111,137,T:21-25,80,139,8080
将扫描UDP 端口53,111,和137,同时扫描列出的TCP端口。注意,要既扫描 UDP又扫描TCP,您必须指定-sU
,以及至少一个TCP扫描类型(如-sS
,-sF
,或者-sT
)。如果没有给定协议限定符, 端口号会被加到所有协议列表。-
-F
(快速 (有限的端口) 扫描) 在nmap的
nmap-services
文件中(对于-sO
,是协议文件)指定您想要扫描的端口。 这比扫描所有65535个端口快得多。 因为该列表包含如此多的TCP端口(1200多),这和默认的TCP扫描 scan (大约1600个端口)速度差别不是很大。如果您用--datadir
选项指定您自己的 小小的nmap-services
文件 ,差别会很惊人。-
-r
(不要按随机顺序扫描端口) 默认情况下,Nmap按随机顺序扫描端口 (除了出于效率的考虑,常用的端口前移)。这种随机化通常都是受欢迎的, 但您也可以指定
-r
来顺序端口扫描。