端口的是一個命令行實用程序和Python庫,與當地的TCP端口同治幫助。
它可以找到一個未使用的TCP本地主機端口和記憶的關係。
當你安裝的是棧軟件由多部分組成需要的端口號這可能是有用的。
注意
如果你正在尋找一個臨時的端口,然後socket.bind((主機,0))是您最好的選擇:
>>>進口插座
>>> S = socket.socket()
>>> s.bind((“”,0))
>>> s.getsockname()
(“0.0.0.0”,54485)
端口的需要,當你需要持久的免費本地端口號。
端口為是s.bind正好相反((主機,0))是某種意義上說,它不應該返回端口s.bind((主機,0))可能會返回(因為這樣的端口可能是暫時的重新分配由OS)。
有幾個規則端口用於正試圖以查詢並返回一個新的未使用的端口:
1.端口必須是未使用:端口對試圖連接到端口綁定到它會檢查這個。
2.端口必須是IANA未分配否則不能知名:這是通過保持未分配的端口列表(IANA從維基百科和分析)來達到的。
3.端口不應該是裡面的臨時端口範圍。這很重要,因為從臨時端口範圍的端口可以通過OS(例如,通過機器的IP堆棧)分配臨時的,這可能會阻止服務重新啟動在某些情況下。 gimme_port不返回從當前機器配置的臨時端口範圍的端口。
4.其他啟發式也適用:端口的嘗試,從更大的端口範圍返回一個端口;它也不會返回端口過於接近公知的端口。
安裝
全系統:
須藤easy_install的端口進行
腳本使用
端口用於
此實用程序實際上不綁定端口或以其他方式阻止端口正在採取的其他軟件。然而,嘗試選擇的端口是不太可能被使用的其他軟件(並且是未使用的,在呼叫過程中的時間)。實用程序還可以確保港口的欄將不會返回相同的端口端口foo的同一台機器上。
$ sudo的端口為富
37987
$ sudo的端口為富
37987
您可能還需要前綴您的應用程序名稱:
$ sudo的端口為instance1.apache
35456
請注意,端口腳本需要讀取和寫入訪問/etc/port-for.conf所以sudo的可能是必要的,以便運行它。
庫的使用
>>>進口port_for
>>> port_for.select_random()
37774
>>> port_for.select_random()
48324
>>> 80 port_for.available_good_ports()
假
。深入到源代碼更
要求:
- 在Python中
評論沒有發現