【发布时间】:2015-02-03 12:21:13
【问题描述】:
- 考虑一个服务器套接字和一个客户端套接字。
- 服务器套接字端点由对(IP/
Ws.Xs.Ys.Zs,TCP 端口/Ps)标识。 - 当客户端套接字发起与服务器套接字的连接时,客户端端点与该对(IP/
Wc.Xc.Yc.Zc,TCP 端口/Pc)相关联。 - 客户端套接字是“Winsock”。
- 在客户端计算机上,端口
Ps的出站流量未被阻止。 - 在连接时,
Pc会自动在客户端计算机的临时/动态端口池中选择。 - 客户端套接字向服务器套接字发送消息
Mc。 - 服务器套接字响应并将消息
Ms发送回客户端套接字。 - 此消息将发送到由(IP/
Wc.Xc.Yc.Zc,TCP 端口/Pc)标识的端点。
有没有办法通过在客户端计算机上防火墙的“入站”部分设置防火墙规则来阻止此消息Ms?
我试过设置这样的规则,但似乎没有阻止任何东西:
In the Windows firewall, in the "Inbound" rules section:
- "New Rule..." -> "Port"
- TCP
- Specific local ports: 49152-65535
(This is the dynamic ports range on the client machine (given by the command "netsh int ipv4 show dynamicport tcp")).
- Block the connection
- When does this rule apply? I checked: "Domain", "Private" and "Public".
为什么它不起作用?为什么Ms 没有被防火墙拒绝?
是因为套接字实现吗?类似于:如果客户端套接字实际上可以将其消息发送到服务器套接字,则必须在 (IP/Wc.Xc.Yc.Zc, TCP 端口/Pc) 上接受来自服务器的响应,即使在防火墙?
或者,我在上面设置的规则实际上并没有阻止我认为它正在阻止的内容......
感谢您的帮助。 最好的问候。
【问题讨论】:
-
为什么?如果要阻止连接,请阻止连接。允许连接然后尝试通过该连接阻止消息是没有意义的。
标签: sockets tcp winsock windows-firewall