一、端口的含義
端口是英文port的意譯,可以認為是設備與外界通訊交流的出口。端口可分為虛擬端口和物理端口,其中虛擬端口指計算機內部或交換機路由器內的端口,不可見。例如計算機中的80端口、21端口、23端口等。物理端口又稱為接口,是可見端口,計算機背板的RJ45網口,交換機路由器集線器等RJ45端口。電話使用RJ11插口也屬于物理端口的范疇。
端口的分類:
1、公認端口
公認端口(Well Known Ports)也稱為“常用端口”,其端口號的范圍為0-1023,它們緊密地綁定于一些特定的服務。通常這些端口的通信明確地表明了某種服務的協議,這種端口不可再重新定義它的作用對象。例如,21端口分配給了FTP服務,而23端口是Telnet服務專用的,SMTP使用25號端口,80端口是HTTP通信所使用的,135端口分配給了RPC(遠程過程調用)服務。這些端口通常不會被如木馬這樣的黑客程序利用。
2、注冊端口
注冊端口(Registered Ports)的端口號范圍為1024~49151,也就是說有許多服務綁定于這些端口,這些端口同樣用于許多其他的目的。這些端口大多數沒有明確定義的服務對象,應用程序會根據自己的實際需要進行定義。例如,騰訊QQ客戶端用的就是4000端口。需要指出的是:這些端口也是木馬程序的常用端口,是防護和查殺木馬程序必須要檢查的端口。
3、動態和/或私有端口
動態和/或私有端口(Dynamic and/or Private Ports)的端口范圍為49152~65535。理論上不應將這些端口分配給服務,但實際上一些較為特殊的程序,特別是一些木馬程序就喜歡使用這些端口,因為這些端口通常不被人們注意,容易隱藏。
二、端口的作用
端口是對TCP/IP體系的應用進程進行統一的標志,使運行不同操作系統的計算機的應用進程能夠互相通信,端口主要用于標識不同的進程或應用程序之間的通信通道,它能幫助應用程序識別彼此、建立連接并傳輸數據。
三、端口號的含義
端口號是訪問服務器的標識,端口號,就好像是門牌號一樣,客戶端可以通過ip地址找到對應的服務器端,但是服務器端是有很多端口的,每個應用程序對應一個端口號,通過類似門牌號的端口號,客戶端才能真正的訪問到該服務器。為了對端口進行區分,將每個端口進行了編號,這就是端口號。
一些常見的端口號及其用途如下:
21端口:FTP 文件傳輸服務22端口:SSH 遠程連接服務23端口:TELNET 終端仿真服務25端口:SMTP 簡單郵件傳輸服務53端口:DNS 域名解析服務80端口:HTTP 超文本傳輸服務443端口:HTTPS 加密的超文本傳輸服務3306端口:MYSQL數據庫端口5432端口:PostgreSQL數據庫端口6379端口:Redis數據庫端口8080端口:TCP服務端默認端口8888端口:Nginx服務器的端口9200端口:Elasticsearch服務器端口27017端口:mongoDB數據庫默認端口22122端口:fastdfs服務器默認端口四、端口號的作用
端口號的主要作用是表示一臺計算機中的特定進程所提供的服務。網絡中的計算機是通過IP地址來代表其身份的,它只能表示某臺特定的計算機,但是一臺計算機上可以同時提供很多個服務,如數據庫服務、FTP服務、Web服務等,我們就通過端口號來區別相同計算機所提供的這些不同的服務,如常見的端口號21表示的是FTP服務,端口號23表示的是Telnet服務端口號25指的是SMTP服務等。端口號一般習慣為4位整數,在同一臺計算機上端口號不能重復,否則,就會產生端口號沖突這樣的例外。
延伸閱讀1:UNIX常用端口號
UNIX操作系統因具有運行穩定、系統要求低、安全性高,而得到廣泛應用。其伯克利套接字,發展較早,具有鮮明特點,例如:UNIX系統有保留端口號的概念。只有具有超級用戶特權的進程才允許給它自己分配一個保留端口號,這些端口號介于1~1023之間,一些應用程序將它作為客戶與服務器之間身份認證的一部分。大多數TCP/IP實現給臨時端口分配1024~5000之間的端口號。大于5000的端口與是為其他服務器預留的(Internet上并不常用的服務)。