端口概念
在網絡技術中,端口(Port)大致有兩種意思:
一是物理意義上的端口,比如,ADSL Modem、集線器、交換機、路由器用於連接其他網絡設備的接口,如RJ-45端口、SC端口等等。
二是邏輯意義上的端口,一般是指TCP/IP協議中的端口,端口號的范圍從0到65535,比如用於瀏覽網頁服務的80端口,用於FTP服務的21端口等等。
我們這里將要介紹的就是邏輯意義上的端口。
按端口號分布划分
(1)知名端口(Well-Known Ports)
知名端口即眾所周知的端口號,范圍從0到1023,這些端口號一般固定分配給一些服務。比如21端口分配給FTP服務,25端口分配給SMTP(簡單郵件傳輸協議)服務,80端口分配給HTTP服務,135端口分配給RPC(遠程過程調用)服務等等。
(2)動態端口(Dynamic Ports)
動態端口的范圍從1024到65535,這些端口號一般不固定分配給某個服務,也就是說許多服務都可以使用這些端口。只要運行的程序向系統提出訪問網絡的申請,那么系統就可以從這些端口號中分配一個供該程序使用。比如1024端口就是分配給第一個向系統發出申請的程序。在關閉程序進程后,就會釋放所占用的端口號。
不過,動態端口也常常被病毒木馬程序所利用,如冰河默認連接端口是7626、WAY 2.4是8011、Netspy 3.0是7306、YAI病毒是1024等等。
常用端口及其對應服務
21端口:21端口主要用於FTP(File Transfer Protocol,文件傳輸協議)服務。
22端口:22端口主要用於SSH(Secure Shell,安全殼協議)服務。
23端口:23端口主要用於Telnet(遠程登錄)服務,是Internet上普遍采用的登錄和仿真程序。
25端口:25端口為SMTP(Simple Mail Transfer Protocol,簡單郵件傳輸協議)服務器所開放,主要用於發送郵件,如今絕大多數郵件服務器都使用該協議。
53端口:53端口為DNS(Domain Name Server,域名服務器)服務器所開放,主要用於域名解析,DNS服務在NT系統中使用的最為廣泛。
80端口:80端口是為HTTP(HyperText Transport Protocol,超文本傳輸協議)開放的,這是上網沖浪使用最多的協議,主要用於在WWW(World Wide Web,萬維網) 服務上傳輸信息的協議。
443端口:443端口即網頁瀏覽端口,主要是用於HTTPS服務,是提供加密和通過安全端口傳輸的另一種HTTP。
1024端口:1024端口一般不固定分配給某個服務,在英文中的解釋是“Reserved”(保留)。
1080端口:1080端口是Socks代理服務使用的端口,大家平時上網使用的WWW服務使用的是HTTP協議的代理服務。
8080端口:8080端口同80端口,是被用於WWW代理服務的,可以實現瀏覽網頁。
端口分類
邏輯意義上的端口有多種分類標准,下面將介紹兩種常見的分類:
按協議類型划分
按協議類型划分,可以分為TCP、UDP、IP和ICMP(Internet控制消息協議)等端口。下面主要介紹TCP和UDP端口:
- TCP端口
TCP端口,即傳輸控制協議端口,需要在客戶端和服務器之間建立連接,這樣可以提供可靠的數據傳輸。常見的包括FTP服務的21端口,Telnet服務的23端口,SMTP服務的25端口,以及HTTP服務的80端口等等。
- UDP端口
UDP端口,即用戶數據包協議端口,無需在客戶端和服務器之間建立連接,安全性得不到保障。常見的有DNS服務的53端口,SNMP(簡單網絡管理協議)服務的161端口,QQ使用的8000和4000端口等等。
查看端口
在linux系統中,執行:netstat -tln 可查看當前使用的端口