端口号及分类
在網絡技術中,端口(Port)包括邏輯端口和物理端口兩種類型。物理端口指的是物理存在的端口,如ADSL Modem、集線器、交換機、路由器上用 于連接其他網絡設備的接口,如RJ-45端口、SC端口等等。邏輯端口是指邏輯意義上用于區分服務的端口,如TCP/IP協議中的服務端口,端口號的范圍從0到65535,比如用于瀏覽網頁服務的80端口,用于FTP服務的21端口等。由于物理端口和邏輯端口數量較多,為了對端口進行區分,將每個端口進行了編號,這就是端口號。
端口包括物理端口和邏輯端口。物理端口是用于連接物理設備之間的接口,邏輯端口是邏輯上用于區分服務的端口。TCP/IP協議中的端口就是邏輯端口,通過不同的邏輯端口來區分不同的服務。一個IP地址的端口通過16bit進行編號,最多可以有65536個端口。端口是通過端口號來標記的,端口號只有整數,范圍是從0 到65535。
端口有什么用呢?我們知道,一臺擁有IP地址的主機可以提供許多服務,比如Web服務、FTP服務、SMTP服務等,這些服務完全可以通過1個IP地址來實現。那么,主機是怎樣區分不同的網絡服務呢?顯然不能只靠IP地址,因為IP 地址與網絡服務的關系是一對多的關系。實際上是通過“IP地址+端口號”來區 分不同的服務的。
服務器一般都是通過知名端口號來識別的。例如,對于每個TCP/IP實現來說,FTP服務器的TCP端口號都是21,每個Telnet服務器的TCP端口號都是23,每個TFTP(簡單文件傳送協議)服務器的UDP端口號都是69。任何TCP/IP實現所提供的服務都用知名的1~1023之間的端口號。這些知名端口號由Internet號分配機構(InternetAssignedNumbersAuthority,IANA)來管理。
到1992年為止,知名端口號介于1~255之間。256~1023之間的端口號通常都是由Unix系統占用,以提供一些特定的Unix服務—也就是說,提供一些只有Unix系統才有的、而其他操作系統可能不提供的服務,IANA管理1~1023之間所有的端口號。
Internet擴展服務與Unix特定服務之間的一個差別就是Telnet和Rlogin。它們二者都允許通過計算機網絡登錄到其他主機上。Telnet是采用端口號為23的TCP/IP標準且幾乎可以在所有操作系統上進行實現。Rlogin只是為Unix系統設計的(盡管許多非Unix系統也提供該服務),它的有名端口號為513。
客戶端通常對它所使用的端口號并不關心,只需保證該端口號在本機上是唯一的就可以了??蛻舳丝谔栍址Q作臨時端口號(即存在時間很短暫)。這是因為它通常只是在用戶運行該客戶程序時才存在,而服務器則只要主機開著的,其服務就運行。
大多數TCP/IP實現給臨時端口分配1024~5000之間的端口號。大于5000的端口號是為其他服務器預留的(Internet上并不常用的服務)。我們可以在后面看見許多這樣的給臨時端口分配端口號的例子。
Solaris2.2是一個很有名的例外。通常TCP和UDP的缺省臨時端口號從32768開始。
使用
TCP與UDP段結構中端口地址都是16比特,可以有在0---65535范圍內的端口號。對于這65536個端口號有以下的使用規定:
(1)端口號小于256的定義為常用端口,服務器一般都是通過常用端口號來識別的。任何TCP/IP實現所提供的服務都用1---1023之間的端口號,是由ICANN來管理的;
(2)客戶端只需保證該端口號在本機上是惟一的就可以了??蛻舳丝谔栆虼嬖跁r間很短暫又稱臨時端口號;
(3)大多數TCP/IP實現給臨時端口號分配1024---5000之間的端口號。大于5000的端口號是為其他服務器預留的。
邏輯端口
計算機端口可分為3大類:
? ? 1) 公認端口(Well Known Ports):從0到1023,它們緊密綁定于一些服務。通常這些端口的通訊明確表明了某種服 務的協議。例如:80端口實際上總是HTTP通訊。
2) 注冊端口(Registered Ports):從1024到49151。它們松散地綁定于一些服務。也就是說有許多服務綁定于這些端口,這些端口同樣用于許多其它目的。例如:許多系統處理動態端口從1024左右開始。
3) 動態和/或私有端口(Dynamic and/or Private Ports):從49152到65535。理論上,不應為服務分配這些端口。實際上,機器通常從1024起分配動態端口。但也有例外:SUN的RPC端口從32768開始。
保留端
Unix系統有保留端口號的概念。只有具有超級用戶特權的進程才允許給它自己分配一個保留端口號。
這些端口號介于1~1023之間,一些應用程序(如有名的Rlogin,26.2節)將它作為客戶與服務器之間身份認證的一部分。
知名端口號
//注: 由于一些應用軟件占用了部分端口, 因此此文件中的部分端口被注釋掉了(注釋字符為: //)
常用端口:
8080端口
端口說明:8080端口同80端口,是被用于WWW代理服務的,可以實現網頁瀏覽,經常在訪問某個網站或使用代理服務器的時候,會加上“:8080”端口號,比如 http://www.cce.com.cn:8080。
端口漏洞:8080端口可以被各種病毒程序所利用,比如Brown Orifice(BrO)特洛伊木馬病毒可以利用8080端口完全遙控被感染的計算機。另外,RemoConChubo,RingZero木馬也可以利用該端口進行攻擊。
操作建議:一般我們是使用80端口進行網頁瀏覽的,為了避免病毒的攻擊,我們可以關閉該端口。
端口:21
服務:FTP
說明:FTP服務器所開放的端口,用于上傳、下載。最常見的攻擊者用于尋找打開anonymous的FTP服務器的方法。這些服務器帶有可讀寫的目錄。木馬Doly Trojan、Fore、Invisible FTP、WebEx、WinCrash和Blade Runner所開放的端口。
端口:22
服務:Ssh
說明:PcAnywhere建立的TCP和這一端口的連接可能是為了尋找ssh。這一服務有許多弱點,如果配置成特定的模式,許多使用RSAREF庫的版本就會有不少的漏洞存在。
端口:23
服務:Telnet
說明:遠程登錄,入侵者在搜索遠程登錄UNIX的服務。大多數情況下掃描這一端口是為了找到機器運行的操作系統。還有使用其他技術,入侵者也會找到密碼。木馬Tiny Telnet Server就開放這個端口。
端口:25
服務:SMTP
說明:SMTP服務器所開放的端口,用于發送郵件。入侵者尋找SMTP服務器是為了傳遞他們的SPAM。入侵者的帳戶被關閉,他們需要連接到高帶寬的E-MAIL服務器上,將簡單的信息傳遞到不同的地址。木馬Antigen、Email Password Sender、Haebu Coceda、Shtrilitz Stealth、WinPC、WinSpy都開放這個端口。
端口:80
服務:HTTP
說明:用于網頁瀏覽。木馬Executor開放此端口。
端口:102
服務:Message transfer agent(MTA)-X.400 over TCP/IP
說明:消息傳輸代理。
端口:109
服務:Post Office Protocol -Version3
說明:POP3服務器開放此端口,用于接收郵件,客戶端訪問服務器端的郵件服務。POP3服務有許多公認的弱點。關于用戶名和密碼交 換緩沖區溢出的弱點至少有20個,這意味著入侵者可以在真正登陸前進入系統。成功登陸后還有其他緩沖區溢出錯誤。
端口:110
服務:SUN公司的RPC服務所有端口
說明:常見RPC服務有rpc.mountd、NFS、rpc.statd、rpc.csmd、rpc.ttybd、amd等
一臺服務器有大量的端口在使用,怎么來查看端口呢?有兩種方式: 一種是利用系統內置的命令,一種是利用第三方端口掃描軟件。
1.用“netstat ”查看端口狀態
在Windows 2000/XP中,可以在命令提示符下使用“netstat ”查 看系統端口狀態,可以列出系統正在開放的端口號及其狀態.
2.用第三方端口掃描軟件
第三方端口掃描軟件有許多,界面雖然千差萬別,但是功能卻是類似 的。這里以“Fport” (可到?type_t=7或下載)為例講解?!癋port”在命令提示符下使用,運行結果 與“netstat -an”相似,但是它不僅能夠列出正在使用的端口號及類型,還可 以列出端口被哪個應用程序使用。
3.用“netstat -n”命令,以數字格式顯示地址和端口信息。
如果仔細檢查這些標準的簡單服務以及其他標準的TCP/IP服務(如Telnet、FTP、 SMTP等)的端口號時,我們發現它們都是奇數。這是有歷史原因的,因為這些端口號都是從NCP端口號派生出來的(NCP,即網絡控制協議,是ARPANET的運輸層協議,是TCP的前身)。NCP是半雙工的,不是全雙工的,因此每個應用程序需要兩個連接,需預留一對奇數和偶數端口號。當TCP和UDP成為標準的運輸層協議時,每個應用程序只需要一個端口號,因此就使用了NCP中的奇數。
總結
- 上一篇: 标准和非标poe交换机如何选择
- 下一篇: 如何从Rstudio中导出合适的图片?