如何找到一个空闲的 TCP 端口

AJF*_*AJF 7 linux port netstat tcp

如何在服务器上找到一个完全免费的 TCP 端口?我试过命令行;

netstat -an
Run Code Online (Sandbox Code Playgroud)

但我听说状态为 LISTENING 的那些已经被使用了。

我还尝试了一个名为 TCPView 的工具,但它再次仅显示正在使用的 TCP 端口。我知道如何 telnet 到一个端口来检查它的打开情况,但我需要找到一个免费的。

小智 6

灵感来自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"
Run Code Online (Sandbox Code Playgroud)


Nev*_*161 5

netstat -lntu

这将解决您的目的。

  • 此命令将列出打开的网络端口以及拥有它们的进程。访问:https://superuser.com/a/529831/881022 (2认同)