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






