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