为了实现自动化,我构建了一个用于发送和接收 UDP 数据包的应用程序,并在 Windows 7 计算机上每隔几个小时运行一次此工具。但是 Windows 防火墙阻止我发送/接收数据包 - 我收到消息“Windows 防火墙已阻止此程序的某些功能”。
由于此工具已重建,我无法添加“让此程序使用 UDP”的规则。相反,我编写了两个自定义入站规则和两个自定义出站规则。这些规则打开 UDP 和 TCP 以进行发送和接收。
尽管如此,我的应用程序仍然不断被阻止。
但是,如果我在 Windows 防火墙属性中转到“域配置文件”选项卡并允许入站和出站连接,则我的应用程序不会被阻止。将这些设置为“阻止(默认)”,我的应用程序再次被阻止。
应用程序本身不在本地计算机上,而是从网络执行的。这可能是我设置的防火墙规则不适用的原因吗?
答案1
正如 Jim B 所说,使用基于端口的规则而不是应用程序规则,
还要检查防火墙设置中是否有其他规则可以取代您的规则。这可能是拒绝在与您的程序相同的端口上运行的应用程序规则。
您可能还想启动 Wireshark(http://www.wireshark.org/)查看使用哪个端口来初始化连接。
您可以使用http://packetlife.net/media/library/13/Wireshark_Display_Filters.pdf能够过滤掉您不想要的数据包。
答案2
使用基于端口的规则而不是应用程序规则