我试图在服务器上的替代端口下安装站点,但端口可能被防火墙关闭。是否有一种方法可以ping出或ping入一个特定的端口,以查看它是否打开?


当前回答

我喜欢这样:

netstat -an | find "8080" 

从远程登录

telnet 192.168.100.132 8080

确保那台机器的防火墙已经关闭。

其他回答

如果没有telnet,请下载“PuTTY”。它是一个远比Telnet、SSH等更优秀的客户端,在许多情况下都很有用,而不仅仅是在这种情况下,特别是在管理服务器时。

假设您正在尝试使用的是TCP(而不是UDP)端口:

在服务器本身上,使用netstat -an检查哪些端口正在监听。 在外部,只需使用telnet主机端口(或Unix系统上的telnet host:port)查看连接是否被拒绝、接受或超时。

在后一个测试中,一般来说:

拒绝连接意味着该端口上没有任何运行 接受意味着某些东西正在该端口上运行 超时意味着防火墙正在阻止访问

在Windows 7或Windows Vista上,默认选项“telnet”不能被识别为内部或外部命令、可操作的程序或批处理文件。要解决这个问题,只需启用它:单击*开始**→控制面板→程序→打开或关闭Windows功能。2 .在下拉列表中,选择“Telnet客户端”,单击“确定”。

在Windows机器上,您可以使用Microsoft的PortQry来检查应用程序是否已经在侦听特定端口,使用以下命令:

portqry -n 11.22.33.44 -p tcp -e 80

来自Sysinternals的pspring也非常好。

你可以在Windows上使用

netstat -na | findstr "your_port"

缩小结果范围。你也可以过滤LISTENING, ESTABLISHED, TCP等等。注意它是区分大小写的。