有没有一种方法可以从Windows命令行检查特定端口的状态?我知道我可以使用netstat来检查所有端口,但netstat很慢,而查看特定的端口可能不是。
当前回答
为了改进@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 /?
这是一个简单的解决方案的港口寻找…
在cmd:
netstat -na | find "8080"
在bash中:
netstat -na | grep "8080"
PowerShell:
netstat -na | Select-String "8080"
Windows 8用户:打开命令提示符,输入netstat -an | find "your port number",输入。
如果回复是LISTENING,那么端口正在使用中,否则它是空闲的。
精确匹配[windows命令提示符]
netstat -aon | findstr "\<5000\>"
在RHEL 7中,我使用这个命令来过滤LISTEN状态下的几个端口:
sudo netstat -tulpn | grep LISTEN | egrep '(8080 |8082 |8083 | etc )'
推荐文章
- 如何在命令提示符中使用空格?
- 在Python中如何在Linux和Windows中使用“/”(目录分隔符)?
- 命令行从操作系统级配置中删除环境变量
- 在特定的文件夹中打开Cygwin
- 命令行svn for Windows?
- Gulp命令未找到-安装Gulp后错误
- 如何找到并运行keytool
- 我的Windows应用程序的图标应该包括哪些大小?
- 在Windows上设置Python simpleHTTPserver
- 如何从批处理文件运行PowerShell脚本
- 如何解决“java.net.BindException: Address already in use: JVM_Bind”错误?
- 增加Linux中TCP/IP连接的最大数量
- 使用“start”命令并将参数传递给已启动的程序
- 无法在打开用户映射区段的文件上执行所请求的操作
- 如何编写多行命令?