用于查看特定端口的命令行

时间:2012-08-17 17:45:24

标签: windows networking port command-prompt

有没有办法从Windows命令行检查特定端口的状态?我知道我可以使用netstat来检查所有端口但是netstat很慢并且查看特定端口可能不是。

14 个答案:

答案 0 :(得分:204)

以下是端口查找的简易解决方案 ...

在cmd中:

netstat -na | find "8080"

在bash中:

netstat -na | grep "8080"

答案 1 :(得分:100)

您可以将netstat-np标记结合使用,并使用findfindstr命令管道。

基本用法是这样的:

netstat -np <protocol> | find "port #"

例如,要检查TCP上的端口80,您可以这样做:netstat -np TCP | find "80" 最终会产生以下类型的输出:

TCP    192.168.0.105:50466    64.34.119.101:80       ESTABLISHED
TCP    192.168.0.105:50496    64.34.119.101:80       ESTABLISHED

如您所见,这仅显示TCP协议的端口80上的连接。

答案 2 :(得分:66)

当我遇到WAMP apache问题时,我使用此代码查找哪个程序正在使用端口80。

netstat -o -n -a | findstr 0.0:80

enter image description here

3068是PID,因此我可以从任务管理器中找到它并停止该过程。

答案 3 :(得分:61)

我用:

netstat –aon | find "<port number>"

这里o表示进程ID。 现在你可以使用进程ID执行任何操作。 要终止该过程,例如,请使用:

taskkill /F /pid <process ID>

答案 4 :(得分:19)

如其他地方所述:使用netstat,使用适当的开关,然后使用find [str]

过滤结果

最基本的:

netstat -an | find ":N"

netstat -a -n | find ":N"

要找到您可以使用的外国港口:

netstat -an | findstr ":N[^:]*$"

要查找您可能使用的本地端口:

netstat -an | findstr ":N.*:[^:]*$"

N 是您感兴趣的端口号。

-n确保所有端口都是数字的,即不会被转换为服务名称。

-a将确保您搜索所有连接(TCP,UDP,监听...)

find字符串中,您必须包含冒号,作为端口限定符,否则该数字可能与本地或外部地址匹配。

您可以根据需要使用其他netstat开关进一步缩小搜索范围......

进一步阅读(^ 0 ^)

netstat /?

find /?

findstr /?

答案 5 :(得分:8)

netstat -a -n | find /c "10.240.199.9:8080"

它将为您提供特定IP和端口上的活动套接字数(服务器端口号)

答案 6 :(得分:5)

对于Windows 8用户:打开命令提示符,键入 netstat -an |找到“您的端口号”,输入。

如果回复就像 LISTENING 那么该端口正在使用中,否则它是免费的。

答案 7 :(得分:2)

改进@EndUzr's response

要查找外部端口(IPv4或IPv6),您可以使用:

netstat -an | findstr /r /c:":N [^:]*$"

要查找本地端口(IPv4或IPv6),您可以使用:

netstat -an | findstr /r /c:":N *[^ ]*:[^ ]* "

其中N是您感兴趣的端口号。“/ r”开关告诉它将其处理为regexp。 “/ c”开关允许findstr在搜索字符串中包含空格,而不是将空格视为搜索字符串分隔符。这个增加的空间可以防止更长的端口被错误处理 - 例如,“:80”vs“:8080”以及其他端口更改问题。

列出与本地RDP服务器的远程连接,例如:

netstat -an | findstr /r /c:":3389 *[^ ]*:[^ ]*"

或者看看谁在触摸您的DNS:

netstat -an | findstr /r /c:":53 *[^ ]*:[^ ]*"

如果要排除仅限本地的端口,可以使用带有“/ v”的一系列异常和带反斜杠的转义字符:

netstat -an | findstr /v "0.0.0.0 127.0.0.1 \[::\] \[::1\] \*\:\*" | findstr /r /c:":80 *[^ ]*:[^ ]*"

答案 8 :(得分:2)

它将为您提供特定 IP 上的所有活动套接字:

netstat -an | find "172.20.1.166"

答案 9 :(得分:1)

对于端口80,命令为:netstat -an |找到&#34; 80&#34; 对于端口n,命令为:netstat -an |找到&#34; n&#34;

此处,netstat是您机器的指令

-a:显示所有连接和侦听端口 -n:以数字格式显示所有地址和指令(这是必需的,因为-a的输出可以包含机器名称)

然后,找到&#34;模式匹配&#34;上一个命令的输出。

答案 10 :(得分:-1)

此命令将显示所有端口及其目标地址:

netstat -f 

答案 11 :(得分:-1)

这将为您提供帮助

netstat -atn | grep <port no>          # For tcp
netstat -aun | grep <port no>           # For udp
netstat -atun | grep <port no>          # For both

答案 12 :(得分:-1)

在RHEL 7中,我使用以下命令过滤处于LISTEN状态的多个端口:

sudo netstat -tulpn | grep LISTEN | egrep '(8080 |8082 |8083 | etc )'

答案 13 :(得分:-4)

使用lsof命令&#34; lsof -i tcp:port#&#34;,这是一个例子。

$ lsof -i tcp:1555 
COMMAND   PID USER   FD   TYPE   DEVICE SIZE/OFF NODE NAME
java    27330 john  121u  IPv4 36028819      0t0  TCP 10.10.10.1:58615->10.10.10.10:livelan (ESTABLISHED)
java    27330 john  201u  IPv4 36018833      0t0  TCP 10.10.10.1:58586->10.10.10.10:livelan (ESTABLISHED)
java    27330 john  264u  IPv4 36020018      0t0  TCP 10.10.10.1:58598->10.10.10.10:livelan (ESTABLISHED)
java    27330 john  312u  IPv4 36058194      0t0  TCP 10.10.10.1:58826->10.10.10.10:livelan (ESTABLISHED)