1. 什么是端口
端口就好一個房子的門,是出入這間房子的必經之路。
如果一個程序需要收發網絡數據,那么就需要有這樣的端口
在linux系統中,端口可以有65536(2的16次方)個之多!
既然有這么多,操作系統為了統一管理,所以進行了編號,這就是端口號
2. 端口號
端口是通過端口號來標記的,端口號只有整數,范圍是從0到65535
注意:端口數不一樣的*nix系統不一樣,還可以手動修改
3. 端口是怎樣分配的
端口號不是隨意使用的,而是按照一定的規定進行分配。
端口的分類標準有好幾種,我們這里不做詳細講解,只介紹一下知名端口和動態端口
3.1 知名端口(Well Known Ports)
知名端口是眾所周知的端口號,范圍從0到1023
80端口分配給HTTP服務 21端口分配給FTP服務
可以理解為,一些常用的功能使用的號碼是估計的,好比 電話號碼110、10086、10010一樣
一般情況下,如果一個程序需要使用知名端口的需要有root權限
3.2 動態端口(Dynamic Ports)
動態端口的范圍是從1024到65535
之所以稱為動態端口,是因為它一般不固定分配某種服務,而是動態分配。
動態分配是指當一個系統程序或應用程序程序需要網絡通信時,它向主機申請一個端口,主機從可用的端口號中分配一個供它使用。
當這個程序關閉時,同時也就釋放了所占用的端口號
3.3 怎樣查看端口 ?
用“netstat -an”查看端口狀態
lsof -i [tcp/udp]:2425
4. 小總結
端口有什么用呢 ? 我們知道,一臺擁有IP地址的主機可以提供許多服務,比如HTTP(萬維網服務)、FTP(文件傳輸)、SMTP(電子郵件)等,這些服務完全可以通過1個IP地址來實現。那么,主機是怎樣區分不同的網絡服務呢?顯然不能只靠IP地址,因為IP地址與網絡服務的關系是一對多的關系。實際上是通過“IP地址+端口號”來區分不同的服務的。 需要注意的是,端口并不是一一對應的。比如你的電腦作為客戶機訪問一臺WWW服務器時,WWW服務器使用“80”端口與你的電腦通信,但你的電腦則可能使用“3457”這樣的端口。