Winsock客户端套接字 - 阻止防火墙中的动态端口

时间:2014-12-05 10:42:00

标签: sockets tcp winsock windows-firewall

  • 考虑一个服务器套接字和一个客户端套接字。
  • 服务器套接字端点由对(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)标识的端点。

有没有办法可以通过在" Inbound"中设置防火墙规则来阻止此消息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),即使存在阻止防火墙中的规则? 或者,我上面设置的规则实际上并没有阻止我认为阻止的内容......

感谢您的帮助。 最好的问候。

1 个答案:

答案 0 :(得分:1)

防火墙阻止连接尝试,而不是阻止单个数据包。出站过滤器可防止与远程服务器的出站连接,入站过滤器可防止到本地服务器的入站连接。

除此之外,还有一条消息"可能需要传输多个数据包,或者可能与其他消息进行分组"在一个数据包中。

所以不,一旦成功建立连接,防火墙就无法阻止特定的消息"通过该连接传输。该连接已被信任,防火墙不会分析和过滤连接的内容。