而由于物理端口和邏輯端口數(shù)量較多,為了對(duì)端口進(jìn)行區(qū)分,將每個(gè)端口進(jìn)行了編號(hào),即就是端口號(hào)。那么看到這里我們會(huì)好奇,有那么多的端口,他們到底是怎么分類(lèi)的?
分類(lèi):
1.按端口號(hào)劃分
公認(rèn)端口(Well Known Ports)
0~1023,它們緊密綁定于一些服務(wù),通常這些端口的通訊明確表明了某種服務(wù)的協(xié)議,如:80端口對(duì)應(yīng)與HTTP通信,21端口綁定與FTP服務(wù),25端口綁定于SMTP服務(wù),135端口綁定與RPC(遠(yuǎn)程過(guò)程調(diào)用)服務(wù)。
注冊(cè)端口(Registered Ports)
1024~49151,它們松散的綁定于一些服務(wù),也就是說(shuō)有許多服務(wù)綁定于這些端口,這些端口同樣用于其他許多目的,如:許多系統(tǒng)處理端口從1024開(kāi)始 - 動(dòng)態(tài)和/或私有端口(Dyanmic and /or Private Ports)49152~65535,理論上,不應(yīng)為服務(wù)分配這些端口,通常機(jī)器從1024開(kāi)始分配動(dòng)態(tài)端口。例外:SUN的RPC端口從32768開(kāi)始。
2.按協(xié)議類(lèi)型劃分
按協(xié)議類(lèi)型劃分可分為T(mén)CP端口、UDP端口、IP端口、ICMP(Internet控制消息協(xié)議)。
TCP端口:
即傳輸控制協(xié)議端口,需要在客戶(hù)端和服務(wù)器之間建立連接,這樣可以提供可靠的數(shù)據(jù)傳輸。常見(jiàn)的包括FTP的21端口,Telnet的23端口,SMTP的25端口,HTTP的80端口。
UDP端口:
即用戶(hù)數(shù)據(jù)報(bào)協(xié)議端口,無(wú)需在客戶(hù)端和服務(wù)器端建立連接,安全性得不到保障。常見(jiàn)的DNS的53端口,SNMP(簡(jiǎn)單網(wǎng)絡(luò)管理協(xié)議)的161端口,QQ使用的8000和4000端口。
保留端口:
UNIX有保留端口號(hào)的概念,只有超級(jí)用戶(hù)特權(quán)的進(jìn)程才允許給它自己分配一個(gè)保留端口號(hào)。這些端口號(hào)介于1~1023之間,一些應(yīng)用程序?qū)⑺鳛榭蛻?hù)與服務(wù)器認(rèn)證的一部分。
那怎么打開(kāi)和關(guān)閉端口呢?
關(guān)閉端口號(hào):iptables -A INPUT -p tcp --drop 端口號(hào)-j DROP
iptables -A OUTPUT -p tcp --dport 端口號(hào)-j DROP
打開(kāi)端口號(hào):iptables -A INPUT -ptcp --dport 端口號(hào)-j ACCEPT
以下是linux打開(kāi)端口命令的使用方法。
nc -lp 23 &(打開(kāi)23端口,即telnet)
netstat -an | grep 23 (查看是否打開(kāi)23端口)
要注意的一點(diǎn)是,Linux打開(kāi)端口命令打開(kāi)的每一個(gè)端口,都需要有與之對(duì)應(yīng)的監(jiān)聽(tīng)程序才可以。
上一個(gè)教程:Linux常用的端口,你都知道嗎?
下一個(gè)教程:Linux系統(tǒng)下關(guān)閉端口的三種方法你都知道嗎?