上期我們學習了TCP和UDP的原理和區別,把握它們對于網絡治理尤其是網絡安全有非常重要的意義。網絡中有許多TCP數據包和UDP數據包在傳送,根據它們使用的不同端口,就可以識別它們的用途,從而可判定網絡中有什么類型的數據在傳送,為網絡治理提供依據。
什么是端口
在網絡技術中,端口(Port)有好幾種意思。集線器、交換機、路由器的端口指的是連接其他網絡設備的接口,如RJ-45端口、Serial端口等。我們這里所指的端口不是指物理意義上的端口,而是特指TCP/ip協議中的端口,是邏輯意義上的端口。
那么TCP/IP協議中的端口指的是什么呢?假如把IP地址比作一間房子,端口就是出入這間房子的門。真正的房子只有幾個門,但是一個IP地址的端口可以有65536個之多!端口是通過端口號來標記的,端口號只有整數,范圍是從0到65535。
端口有什么用呢?我們知道,一臺擁有IP地址的主機可以提供許多服務,比如Web服務、FTP服務、SMTP服務等,這些服務完全可以通過1個IP地址來實現。那么,主機是怎樣區分不同的網絡服務呢?顯然不能只靠IP地址,因為IP地址與網絡服務的關系是一對多的關系。實際上是通過“IP地址+端口號”來區分不同的服務的。
需要注重的是,端口并不是一一對應的。比如你的電腦作為客戶機訪問一臺WWW服務器時,WWW服務器使用“80”端口與你的電腦通信,但你的電腦則可能使用“3457”這樣的端口,如圖1所示。

圖1
按對應的協議類型,端口有兩種:TCP端口和UDP端口。由于TCP和UDP兩個協議是獨立的,因此各自的端口號也相互獨立,比如TCP有235端口,UDP也可以有235端口,兩者并不沖突。
端口是怎樣分配的
與IP地址一樣,端口號也不是隨意使用的,而是按照一定的規定進行分配。端口的分類標準有好幾種,我們這里不做具體講解,只介紹一下周知端口和動態端口。
1.周知端口(Well Known Ports)
周知端口是眾所周知的端口號,范圍從0到1023,其中80端口分配給WWW服務,21端口分配給FTP服務等。我們在IE的地址欄里輸入一個網址的時候(比如www.anheng.com.cn)是不必指定端口號的,因為在默認情況下WWW服務的端口號是“80”。
網絡服務是可以使用其他端口號的,假如不是默認的端口號則應該在地址欄上指定端口號,方法是在地址后面加上冒號“:”(半角),再加上端口號。比如使用“8080”作為WWW服務的端口,則需要在地址欄里輸入“www.anheng.com.cn:8080”。
但是有些系統協議使用固定的端口號,它是不能被改變的,比如139端口專門用于NetBIOS與TCP/IP之間的通信,不能手動改變。
2.動態端口(Dynamic Ports)
動態端口的范圍是從1024到65535。之所以稱為動態端口,是因為它一般不固定分配某種服務,而是動態分配。動態分配是指當一個系統進程或應用程序進程需要網絡通信時,它向主機申請一個端口,主機從可用的端口號中分配一個供它使用。當這個進程關閉時,同時也就釋放了所占用的端口號。
怎樣查看端口
一臺服務器有大量的端口在使用,怎么來查看端口呢?有兩種方式:一種是利用系統內置的命令,一種是利用第三方端口掃描軟件。
1.用“netstat -an”查看端口狀態
在windows 2000/XP中,可以在命令提示符下使用“netstat -an”查看系統端口狀態,可以列出系統正在開放的端口號及其狀態,如圖2所示。

圖2
2.用第三方端口掃描軟件
第三方端口掃描軟件有許多,界面雖然千差萬別,但是功能卻是類似的。這里以 Fport 為例講解。“Fport”在命令提示符下使用,運行結果與“netstat -an”相似,但是它不僅能夠列出正在使用的端口號及類型,還可以列出端口被哪個應用程序使用,如圖3所示。

圖3
怎樣治理端口
黑客程序是通過系統的端口漏洞來入侵系統的,因此對端口的治理是網管工作的一個非常重要的方面。怎樣來治理端口呢?可以采用兩種方法:一種方法是利用系統內置的治理工具,另一種方法是利用第三方軟件來實現。
1.用“TCP/IP篩選”治理端口
在Windows 2000 Server中,雙擊任務欄右下角的網絡連接圖標,再雙擊打開“本地連接狀態”對話框,點擊[屬性]按鈕,再選中“Internet協議(TCP/IP)”,然后點擊[屬性]按鈕,在彈出的“Internet協議(TCP/IP)”對話框中點擊[高級]按鈕。在“高級TCP/IP 設置”中選擇“選項”標簽,選中“TCP/IP篩選”,然后點擊[屬性]按鈕。在“TCP/IP篩選”對話框里選擇“啟用TCP/IP篩選”的復選框,然后把左邊“TCP端口”上的“只答應”選上。增加你答應使用的端口,如“80”、“21”、“25”等(如圖4所示),重新啟動以后未經答應的端口就關閉了。

圖4
2.用第三方軟件治理端口
治理端口最常用的第三方軟件就是防火墻軟件了。其實防火墻就是一整套制定好的IP地址及其端口的訪問規則,你可以改變這些規則來打開和關閉指定的端口。

圖5
圖5是瑞星個人防火墻的端口治理界面。假如你想關閉本機的TCP或UDP端口,在“操作”項中選擇“禁止”,在“方向”中選擇“雙向”(假如只想禁止接收功能,則選擇“接收”;只想禁止發送,則選擇“發送”),在“協議”中選擇“TCP”或“UDP”。
選擇上述參數后,在“目的端口設置”中進行設置:假如只想關閉一個端口,就選擇“一個端口”,然后在列表中輸入端口號;假如想關閉一定范圍內的連續端口,就在“起始端口號”輸入起始端口,在“終止端口號”中輸入終止端口;假如想關閉不連續的多個端口,就選擇“端口列表”;而選擇“任何端口”就是禁止所有端口。
千萬注重:假如不理解參數的意思,切勿自行修改!否則可能會在系統中增加漏洞,或者導致系統無法進行正常通信。
新聞熱點
疑難解答