[英]How to find a free TCP port
如何在服務器上找到完全免費的TCP端口? 我已經嘗試過命令行了;
netstat -an
但是我被告知狀態為LISTENING的人已經被使用。
我還嘗試了一個名為TCPView的工具,但它再次僅顯示正在使用的TCP端口。 我知道如何通過telnet到端口來檢查端口是否打開,但是我需要找到一個免費的端口。
netstat -lntu
這將解決您的目的。
在Bash中,您可以編寫簡單的for
循環來檢查哪些TCP端口是空閑的,例如
$ for i in {1..1024}; do (exec 2>&-; echo > /dev/tcp/localhost/$i && echo $i is open); done
22 is open
25 is open
111 is open
587 is open
631 is open
841 is open
847 is open
1017 is open
1021 is open
有關更多信息,請參見: 高級Bash腳本指南:第29章。/ /dev
和/proc
受https://gist.github.com/lusentis/8453523啟發
從種子端口開始,然后增加它直到可用
BASE_PORT=16998
INCREMENT=1
port=$BASE_PORT
isfree=$(netstat -taln | grep $port)
while [[ -n "$isfree" ]]; do
port=$[port+INCREMENT]
isfree=$(netstat -taln | grep $port)
done
echo "Usable Port: $port"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.