通過網(wǎng)絡掃描,用戶能夠發(fā)現(xiàn)網(wǎng)絡中活動的主機和主機上開放的端口,進而判斷出目標主機開放的服務。然后通過對服務的掃描,還可以獲取到目標主機的操作系統(tǒng)類型、服務歡迎信息和版本等信息。本文介紹網(wǎng)絡掃描的目的。
1. 發(fā)現(xiàn)主機
通過對一個網(wǎng)絡中的主機實施掃描,即可發(fā)現(xiàn)該網(wǎng)絡中活動的主機。當發(fā)現(xiàn)網(wǎng)絡中活動的主機后,用戶就可以在掃描時重新規(guī)劃掃描范圍,而不需要對所有主機進行掃描,這樣將會節(jié)約大量的時間和資源,而且掃描的結果更精確。這樣用戶可以針對活動主機做進一步掃描,以探測開放的端口,進而推斷出開放的服務信息等。
2. 探測端口
當用戶掃描到網(wǎng)絡中活動的主機后,即可探測該活動主機中開放的所有端口。這里的端口指的不是物理意義上的端口,而是特指TCP/IP協(xié)議中的端口,它是邏輯意義上的端口。在TCP/IP協(xié)議中,最常用的協(xié)議是TCP和UDP協(xié)議,由于這兩個協(xié)議是獨立的,因此各自的端口號也相互獨立。例如,TCP有235端口,UDP也可以有235端口,且兩者并不沖突。
在TCP/IP協(xié)議中的端口,可以根據(jù)它們的用途進行分類。因此下面介紹一下端口的類型,以方便用戶判斷端口所對應的程序。
?。?)周知端口(Well Known Ports)
周知端口是眾所周知的端口號,范圍為0~1023。例如,WWW服務默認端口為80,F(xiàn)TP服務默認端口為21等。不過,用戶也可以為這些網(wǎng)絡服務指定其他端口號,但是有些系統(tǒng)協(xié)議使用固定的端口號,是不能被改變的。例如,139端口專門用于NetBIOS與TCP/IP之間的通信,不能手動改變。
?。?)動態(tài)端口(Dynamic Ports)
動態(tài)端口的范圍是49152~65535。之所以稱為動態(tài)端口,是因為它們一般不固定分配某種服務,而是根據(jù)程序申請,系統(tǒng)自動進行動態(tài)分配。
(3)注冊端口
1024~49151端口,是用來分配給用戶進程或應用程序的。這些進程主要是用戶所安裝的一些應用程序,而不是已經(jīng)分配好了公認端口的常用程序。這些端口在沒有被服務器資源占用的時候,可以供用戶端動態(tài)選用。
3. 判斷服務
在計算機網(wǎng)絡中,每個服務默認都有對應的端口。例如,F(xiàn)TP服務默認端口為21,SSH服務默認端口為22,HTTP服務默認端口為80等。所以,如果用戶探測出目標主機開放的端口后,即可判斷出對應的服務了。為了幫助用戶能夠快速地判斷出開放端口所對應的服務,這里將以表格形式列出一些常見的服務及其對應端口,如表1所示。