埠號

有網路接入功能的埠

所謂的埠,就好像是門牌號一樣,客戶端可以通過ip地址找到對應的伺服器端,但是伺服器端是有很多埠的,每個應用程序對應一個埠號,通過類似門牌號的埠號,客戶端才能真正的訪問到該伺服器。為了對埠進行區分,將每個埠進行了編號,這就是埠號。

簡介


網路技術,端包括邏輯端端類型。端連設備, 、集線器、交換機、路由器上用 於連接其他網路設備的介面,如RJ-45埠、SC埠等等。邏輯埠是指邏輯意義上用於區分服務的埠,比如用於瀏覽網頁服務的80埠,用於FTP服務的21埠等。如TCP/IP協議中的服務埠,通過不同的邏輯埠來區分不同的服務。一個IP地址的埠通過16bit進行編號,最多可以有65536個埠。埠是通過埠號來標記的,埠號只有整數,範圍是從0 到65535。

作用


台擁址提供服務,服務、服務、服務,服務完址。 址網路服務系系,靠址區服務。際“址+端號”區服務。
止,端號介~。~端號Unix系統佔用,以提供一些特定的Unix服務—也就是說,提供一些只有Unix系統才有的、而其他操作系統可能不提供的服務,IANA管理1~1023之間所有的埠號。
伺服器一般都是通過知名埠號來識別的。例如,對於每個TCP/IP實現來說,FTP伺服器的TCP埠號都是21,每個Telnet伺服器的TCP埠號都是23,每個TFTP(簡單文件傳送協議)伺服器的UDP埠號都是69。任何TCP/IP實現所提供的服務都用知名的1~1023之間的埠號。這些知名埠號由Internet號分配機構(IANA)來管理。

使用規則


TCP與UDP段結構中埠地址都是16比特,可以有在0---65535範圍內的埠號。對於這65536個埠號有以下的使用規定:
(1)埠號小於256的定義為常用埠,伺服器一般都是通過常用埠號來識別的。任何TCP/IP實現所提供的服務都用1---1023之間的埠號,是由ICANN來管理的;
(2)客戶端只需保證該埠號在本機上是惟一的就可以了。客戶埠號因存在時間很短暫又稱臨時埠號;
(3)大多數TCP/IP實現給臨時埠號分配1024---5000之間的埠號。大於5000的埠號是為其他伺服器預留的。

常用埠號


UNIT操作系統因具有運行穩定、系統要求低、安全性高,而得到廣泛應用。其伯克利套接字,發展較早,具有鮮明特點,例如:UNIT系統有保留埠號的概念。只有具有超級用戶特權的進程才允許給它自己分配一個保留埠號,這些埠號介於1~1023之間,一些應用程序將它作為客戶與伺服器之間身份認證的一部分。大多數TCP/IP實現給臨時埠分配1024~5000之間的埠號。大於5000的埠與是為其他伺服器預留的(Internet上並不常用的服務)。

查看埠號


當一台伺服器有大量的埠在使用,有兩種方式來查看埠:一種是利用系統內置的命令,一種是利用第三方埠掃描軟體。
1.用“netstat ”查看埠狀態
在Windows 2000/XP中,可以在命令提示符下使用“netstat ”查 看系統埠狀態,可以列出系統正在開放的埠號及其狀態。
2.用第三方埠掃描軟體
第三方埠掃描軟體有許多,界面雖然千差萬別,但是功能卻是類似的。這裡以“Fport” (可到?type_t=7或下載)為例講解。“Fport”在命令提示符下使用,運行結果 與“netstat -an”相似,但是它不僅能夠列出正在使用的埠號及類型,還可 以列出埠被哪個應用程序使用。
3.用“netstat -n”命令,以數字格式顯示地址和埠信息。
如果仔細檢查這些標準的簡單服務以及其他標準的TCP/IP服務(如Telnet、FTP、 SMTP等)的埠號時,我們發現它們都是奇數。這是有歷史原因的,因為這些埠號都是從NCP埠號派生出來的(NCP,即網路控制協議,是ARPANET的運輸層協議,是TCP的前身)。NCP是半雙工的,不是全雙工的,因此每個應用程序需要兩個連接,需預留一對奇數和偶數埠號。當TCP和UDP成為標準的運輸層協議時,每個應用程序只需要一個埠號,因此就使用了NCP中的奇數。

數據流分類


基於埠號的分類方法只適用於使用知名埠號的應用,而對於使用動態埠,或不固定搭載知名埠傳輸的協議則不適用。
基於知名埠號的數據流分類演演算法是最早期用於數據流分類的傳統方法。它的分類原理是使用TCP或UDP的伺服器埠號來識別底層應用,使用者只需識別出在源埠和目的埠中,哪一個是伺服器埠,哪一個是客戶端埠,將其與IANA(InternetAssignedNumbersAuthority)頒布的知名埠號列表相比對,即可獲知相應的應用。例如PoP2服務使用TCP/UDP109號埠,PoP3服務使用TCP/UDP110號埠,NNTP服務使用TCP/UDP119號埠等。由於具有時間複雜度低、演演算法簡單等特點,基於埠號匹配的數據流分類演演算法曾經一度作為數據流分類的主要演演算法。
然而,隨著網際網路應用的快速發展,埠識別的流分類方法越來越多的受到限制:
1.一部分應用協議為躲避防火牆的攔截而使用未定義埠號;
2.在一些情況下,伺服器埠被動態分配,如FTP在數據文件的過程中使用動態協議埠。
3.一些註冊的埠號被多個應用協議所使用,如:scp(securecode)與ssh(secureshell)同時使用TCP埠22。
4.一些應用搭載其它應用使用知名埠號,如:P2P搭載HTTP使用80埠進行文件傳輸。
5.一些應用使用常用埠以外的埠,以繞過訪問限制:如在非80埠上運行WWW伺服器。
6.一些情況下,伺服器的埠是動態分配的。
7.木馬等網路攻擊行為並不專屬於某一單一埠號。
8.一些新的協議不再使用IANA中的註冊埠,如BitTorrent等P2P協議。