有没有一种方法可以从Windows命令行检查特定端口的状态?我知道我可以使用netstat来检查所有端口,但netstat很慢,而查看特定的端口可能不是。
当前回答
您可以将netstat与-np标志和指向find或findstr命令的管道结合使用。
基本用法是这样的:
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上的连接。
其他回答
对于80端口,命令是:netstat -an | find "80" 对于端口n,命令如下:netstat -an | find "n"
这里,netstat是计算机的指令
-a:显示所有连接和监听端口 -n:以数字格式显示所有地址和指令(这是必需的,因为-a的输出可能包含机器名)
然后,一个find命令来“模式匹配”前一个命令的输出。
它会给你一个特定IP上所有活动的套接字:
netstat -an | find "172.20.1.166"
为了改进@EndUzr的回复:
要查找外部端口(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 *[^ ]*:[^ ]*"
如其他地方所述:使用netstat,使用适当的开关,然后使用find[str]过滤结果
最基本的:
netstat -an | find ":N"
or
netstat -a -n | find ":N"
要找到一个你可以使用的外国端口:
netstat -an | findstr ":N[^:]*$"
要查找您可能使用的本地端口:
netstat -an | findstr ":N.*:[^:]*$"
其中N为您感兴趣的端口号。
-n确保所有端口都是数字,即不返回转换为服务名称的端口。
-a将确保你搜索所有的连接(TCP, UDP,监听…)
在find字符串中,必须包含冒号作为端口限定符,否则该数字可能匹配本地地址或外部地址。
您可以根据需要使用其他netstat开关进一步缩小搜索范围…
进一步阅读(^0^)
netstat /?
find /?
findstr /?
netstat -a -n | find /c "10.240.199.9:8080"
它会告诉你在特定IP和端口上活动的套接字的数量(服务器端口号)
推荐文章
- 如何找到可用的端口?
- 在Sublime Text 2中使用Ctrl+D进行多个选择时,我如何跳过匹配?
- #定义WIN32_LEAN_AND_MEAN具体排除了什么?
- 如何通过windows命令行关闭TCP和UDP端口
- 如何添加一个设置路径只执行批处理文件?
- 最好的轻量级web服务器(只有静态内容)的Windows
- UDP和TCP比起来快多少?
- npm犯错!错误:EPERM:操作不允许,重命名
- 崇高的文本从命令行
- 如何保持Python脚本输出窗口打开?
- ssh -L转发多个端口
- 使用.bat文件检查文件夹是否存在
- 如何查看Windows库(*.lib)的内容
- 在Windows中删除大文件夹最快的方法是什么?
- 一个干净、轻量级的Python扭曲的替代品?