[类似本文][1] 和 [本文][2] 的文章展示了如何使用 Telnet 或 PowerShell 测试端口是否打开。当我尝试时,这两种方法都失败了(超时),不仅是我在 Windows 防火墙中打开的特殊端口,而且端口 80 也应该可以工作——对吧?我遗漏了什么?
以下是 PowerShell 方法:
test-netconnection <address> -p <port number>
输出结果为:
PS C:\Windows\system32> test-netconnection 192.168.1.107 -p 80
WARNING: TCP connect to (192.168.1.107 : 80) failed
ComputerName : 192.168.1.107
RemoteAddress : 192.168.1.107
RemotePort : 80
InterfaceAlias : Ethernet 2
SourceAddress : 192.168.1.105
PingSucceeded : True
PingReplyDetails (RTT) : 0 ms
TcpTestSucceeded : False
PS C:\Windows\system32> ping 192.168.1.107
Pinging 192.168.1.107 with 32 bytes of data:
Reply from 192.168.1.107: bytes=32 time<1ms TTL=128
Reply from 192.168.1.107: bytes=32 time=1ms TTL=128
答案1
不,端口 80 不应该默认工作,除非您正在运行 HTTP(不安全)Web 服务器。
PingSucceeded : True
此行显示 tnc 输出与您的 ping 命令一致。您只是没有在 .107 主机上打开端口 80。成功的 ICMP ping 并不意味着 TCP 端口已打开。
您的test-netconnection
命令按预期工作。如果您想测试开放端口,请尝试一些常用端口:135、443、445、3389 等。