## 八、 端口說明和掃描順序
除了所有前面討論的掃描方法 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 來順序端口掃描。