【发布时间】:2011-08-28 10:12:52
【问题描述】:
PC1 和 PC2 用一个开关连接。
PC1--<-->--SWITCH--<-->--PC2
两者都安装了 Windows 7。
PC1 已开启防火墙。
PC2 的防火墙已关闭。
他们可以共享文件。
他们可以互相远程桌面。
PC2 的 80 端口上有一个 HttpListener,但无法从 PC1 连接到 PC2 的 80 端口。
可能是什么问题呢?
PC1 网络信息:
Ethernet adapter Local Area Connection:
Connection-specific DNS Suffix . :
Link-local IPv6 Address . . . . . : fe80::5948:69a8:d29e:6bfe%11
Autoconfiguration IPv4 Address. . : 169.254.107.254
Subnet Mask . . . . . . . . . . . : 255.255.0.0
Default Gateway . . . . . . . . . :
PC2 网络信息:
Ethernet adapter Local Area Connection:
Connection-specific DNS Suffix . :
Link-local IPv6 Address . . . . . : fe80::5cd8:ed4e:8848:569%11
Autoconfiguration IPv4 Address. . : 169.254.5.105
Subnet Mask . . . . . . . . . . . : 255.255.0.0
Default Gateway . . . . . . . . . :
telnet pc2 80,来自 PC1 说:
无法在端口 80 上打开与主机的连接:连接失败。
PC2 上的“netstat -anb”:
Active Connections
Proto Local Address Foreign Address State
TCP 0.0.0.0:80 0.0.0.0:0 LISTENING
Can not obtain ownership information
TCP 0.0.0.0:135 0.0.0.0:0 LISTENING
RpcSs
[svchost.exe]
TCP 0.0.0.0:445 0.0.0.0:0 LISTENING
Can not obtain ownership information
TCP 0.0.0.0:554 0.0.0.0:0 LISTENING
[wmpnetwk.exe]
TCP 0.0.0.0:2869 0.0.0.0:0 LISTENING
Can not obtain ownership information
TCP 0.0.0.0:5357 0.0.0.0:0 LISTENING
Can not obtain ownership information
TCP 0.0.0.0:10243 0.0.0.0:0 LISTENING
Can not obtain ownership information
TCP 0.0.0.0:49152 0.0.0.0:0 LISTENING
[wininit.exe]
TCP 0.0.0.0:49153 0.0.0.0:0 LISTENING
eventlog
[svchost.exe]
TCP 0.0.0.0:49154 0.0.0.0:0 LISTENING
Schedule
[svchost.exe]
TCP 0.0.0.0:49155 0.0.0.0:0 LISTENING
[services.exe]
TCP 0.0.0.0:49156 0.0.0.0:0 LISTENING
[lsass.exe]
TCP 169.254.5.105:139 0.0.0.0:0 LISTENING
Can not obtain ownership information
TCP [::]:80 [::]:0 LISTENING
Can not obtain ownership information
TCP [::]:135 [::]:0 LISTENING
RpcSs
[svchost.exe]
TCP [::]:445 [::]:0 LISTENING
Can not obtain ownership information
TCP [::]:554 [::]:0 LISTENING
[wmpnetwk.exe]
TCP [::]:2869 [::]:0 LISTENING
Can not obtain ownership information
TCP [::]:3587 [::]:0 LISTENING
p2pimsvc
[svchost.exe]
TCP [::]:5357 [::]:0 LISTENING
Can not obtain ownership information
TCP [::]:10243 [::]:0 LISTENING
Can not obtain ownership information
TCP [::]:49152 [::]:0 LISTENING
[wininit.exe]
TCP [::]:49153 [::]:0 LISTENING
eventlog
[svchost.exe]
TCP [::]:49154 [::]:0 LISTENING
Schedule
[svchost.exe]
TCP [::]:49155 [::]:0 LISTENING
[services.exe]
TCP [::]:49156 [::]:0 LISTENING
[lsass.exe]
TCP [fe80::5cd8:ed4e:8848:569%11]:445 [fe80::5948:69a8:d29e:6bfe%11]:49569 ESTABLISHED
Can not obtain ownership information
UDP 0.0.0.0:68 *:*
Dhcp
[svchost.exe]
UDP 0.0.0.0:123 *:*
W32Time
[svchost.exe]
UDP 0.0.0.0:3702 *:*
EventSystem
[svchost.exe]
UDP 0.0.0.0:3702 *:*
FDResPub
[svchost.exe]
UDP 0.0.0.0:3702 *:*
FDResPub
[svchost.exe]
UDP 0.0.0.0:3702 *:*
EventSystem
[svchost.exe]
UDP 0.0.0.0:5004 *:*
[wmpnetwk.exe]
UDP 0.0.0.0:5005 *:*
[wmpnetwk.exe]
UDP 0.0.0.0:5355 *:*
Dnscache
[svchost.exe]
UDP 0.0.0.0:56904 *:*
FDResPub
[svchost.exe]
UDP 0.0.0.0:56906 *:*
EventSystem
[svchost.exe]
UDP 0.0.0.0:65438 *:*
EventSystem
[svchost.exe]
UDP 127.0.0.1:1900 *:*
SSDPSRV
[svchost.exe]
UDP 127.0.0.1:56903 *:*
SSDPSRV
[svchost.exe]
UDP 169.254.5.105:137 *:*
Can not obtain ownership information
UDP 169.254.5.105:138 *:*
Can not obtain ownership information
UDP 169.254.5.105:1900 *:*
SSDPSRV
[svchost.exe]
UDP 169.254.5.105:56902 *:*
SSDPSRV
[svchost.exe]
UDP [::]:123 *:*
W32Time
[svchost.exe]
UDP [::]:3540 *:*
p2pimsvc
[svchost.exe]
UDP [::]:3702 *:*
FDResPub
[svchost.exe]
UDP [::]:3702 *:*
EventSystem
[svchost.exe]
UDP [::]:3702 *:*
FDResPub
[svchost.exe]
UDP [::]:3702 *:*
EventSystem
[svchost.exe]
UDP [::]:5004 *:*
[wmpnetwk.exe]
UDP [::]:5005 *:*
[wmpnetwk.exe]
UDP [::]:5355 *:*
Dnscache
[svchost.exe]
UDP [::]:56905 *:*
FDResPub
[svchost.exe]
UDP [::]:56907 *:*
EventSystem
[svchost.exe]
UDP [::]:65439 *:*
EventSystem
[svchost.exe]
UDP [::1]:1900 *:*
SSDPSRV
[svchost.exe]
UDP [::1]:56901 *:*
SSDPSRV
[svchost.exe]
UDP [fe80::5cd8:ed4e:8848:569%11]:546 *:*
Dhcp
[svchost.exe]
UDP [fe80::5cd8:ed4e:8848:569%11]:1900 *:*
SSDPSRV
[svchost.exe]
UDP [fe80::5cd8:ed4e:8848:569%11]:56900 *:*
SSDPSRV
[svchost.exe]
EDIT1 - 一些 Wireshark 报告(telnet pc2 80):
62 28.544466 169.254.5.105 169.254.107.254 NBSS 126 Session request, to PC1<20> from PC2<00>
63 28.544538 169.254.107.254 169.254.5.105 NBSS 58 Positive session response
64 28.544761 169.254.5.105 169.254.107.254 SMB 213 Negotiate Protocol Request
65 28.545154 169.254.107.254 169.254.5.105 SMB2 228 NegotiateProtocol Response
66 28.545359 169.254.5.105 169.254.107.254 SMB2 162 NegotiateProtocol Request
67 28.545527 169.254.107.254 169.254.5.105 SMB2 228 NegotiateProtocol Response
68 28.546260 169.254.5.105 169.254.107.254 SMB2 220 SessionSetup Request, NTLMSSP_NEGOTIATE
69 28.546416 169.254.107.254 169.254.5.105 SMB2 339 SessionSetup Response, Error: STATUS_MORE_PROCESSING_REQUIRED, NTLMSSP_CHALLENGE
70 28.546836 169.254.5.105 169.254.107.254 SMB2 294 SessionSetup Request, NTLMSSP_AUTH, User: \, Unknown message type
71 28.547306 169.254.107.254 169.254.5.105 SMB2 159 SessionSetup Response, Unknown message type
72 28.547646 169.254.5.105 169.254.107.254 SMB2 162 TreeConnect Request Tree: \\PC1\IPC$
73 28.547723 169.254.107.254 169.254.5.105 SMB2 138 TreeConnect Response
EDIT2 - Wireshark,跟随 TCP 流:
12 2.197774 fe80::5948:69a8:d29e:6bfe fe80::5cd8:ed4e:8848:569 TCP 86 50243 > http [SYN] Seq=0 Win=8192 Len=0 MSS=1440 WS=256 SACK_PERM=1
14 5.197056 fe80::5948:69a8:d29e:6bfe fe80::5cd8:ed4e:8848:569 TCP 86 50243 > http [SYN] Seq=0 Win=8192 Len=0 MSS=1440 WS=256 SACK_PERM=1
19 11.197398 fe80::5948:69a8:d29e:6bfe fe80::5cd8:ed4e:8848:569 TCP 82 50243 > http [SYN] Seq=0 Win=8192 Len=0 MSS=1440 SACK_PERM=1
SORRY GUYS:防火墙没有完全禁用专用网络只有公共网络,我再次检查并发现..现在一切正常。谢谢。
【问题讨论】:
-
你能在 pc2 上
telnet localhost 80,你能在 pc1 上ping pc2吗?看来这对我来说一定是防火墙问题......是的,我知道你说它已经关闭,但仍然...... -
telnet localhost 80 没有问题,ping pc2,来自 pc1 结果:
Pinging PC1 [fe80::5cd8:ed4e:8848:569%11] with 32 bytes of data: Reply from fe80::5cd8:ed4e:8848:569%11: time<1ms Reply from fe80::5cd8:ed4e:8848:569%11: time<1ms Reply from fe80::5cd8:ed4e:8848:569%11: time<1ms Reply from fe80::5cd8:ed4e:8848:569%11: time<1ms Ping statistics for fe80::5cd8:ed4e:8848:569%11: Packets: Sent = 4, Received = 4, Lost = 0 (0% loss), Approximate round trip times in milli-seconds: Minimum = 0ms, Maximum = 0ms, Average = 0ms -
这可能是 IPv4 与 IPv6 的问题,尝试通过 IPv4 地址而不是通过 NetBIOS 名称显式连接:
telnet 169.254.5.105 80 -
我想值得一试,但如果指定 IPv4 地址仍然不起作用,则不太可能有所作为。我认为这是某处的防火墙问题-也许值得重新启动 HTTPListener 以使其重新绑定,然后再试一次?另外,如果这不起作用,如果您绑定到特定地址(即您的 IPv4
169...地址),它是否有效? -
Windows 7 再次来袭... 最好将其保持开启并明确允许您的应用程序通过它以防止此类问题(并提高安全性)。
标签: c# sockets networking connection httplistener