python基礎學習-埠介紹說明

安全劍客發表於2020-01-26
埠,就好像是門牌號,客戶端可以通過ip地址找到對應的伺服器端,但是伺服器端是有很多的埠,每個應用程式對應一個埠號,通過門牌號的埠號,客戶端才能真正的訪問到該伺服器。對埠進行區分,將每個埠進行了編號 。
1. 什麼是埠

python基礎學習-埠介紹說明python基礎學習-埠介紹說明

埠就好一個房子的門,是出入這間房子的必經之路。

python基礎學習-埠介紹說明python基礎學習-埠介紹說明

如果一個程式需要收發網路資料,那麼就需要有這樣的埠

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”這樣的埠。

原文地址: https://www.linuxprobe.com/port-jieshao-python.html

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31559985/viewspace-2674301/,如需轉載,請註明出處,否則將追究法律責任。

相關文章