Windows 7 防火墙不运行时会阻止数据包吗?

Windows 7 防火墙不运行时会阻止数据包吗?

我停止了 Windows 7 防火墙Services,但它(或它的一个子程序)仍然丢弃数据包。

我正在尝试使用rtiddsping(我正在使用的 DDS 框架的自定义 ping)来调试两台 Windows 计算机之间的 DDS 通信问题。应该接收 ping 的计算机丢弃了它们,并在事件查看器中显示消息“Windows 过滤平台已阻止数据包”。

事件属性图片

我停止了 Windows 防火墙服务,但数据包仍然被丢弃。我可以在接收机器上的 Wireshark 中看到被阻止的数据包。发生了什么?我遗漏了什么?有Windows Filtering Platform什么不同吗?我没有看到它在运行Services

回复下面的@Frank,是的,我尝试启用防火墙并创建规则以允许我想要的程序。见下图。

防火墙规则图片

为了回应下面的@ernie,以下是关闭 DDS Spy 后事件查看器中的两张屏幕截图。请注意,它禁止入站数据包和入站连接。

入境包裹图片

入站连接图片

更新:为了回应下面评论中的@ernie,我创建了一个 DDS 应用程序,该应用程序在同一台计算机上发布和订阅,以查看 WFP 是否按设计运行,而 DDS 中间件是否只是丢弃了数据包。

使用同一台计算机发布和订阅,我没有在事件查看器中看到任何被阻止的 DDS 数据包,并且消息按预期传递。我认为当事件查看器显示“Windows 过滤平台已阻止数据包”时,这意味着数据包停在那里并且没有被路由。

为什么这些数据包被 WFP 阻止了?

答案1

我不知道为什么 WFP 似乎会阻止这些数据包,但我通过对 DDS 进行一些配置找到了这个特定的答案。我最好的猜测是我错误地配置了 DDS。

对于 Google 员工来说,我缺少的是以下信息:

1) QNX 端有一个名为 的环境变量NDDS_DISCOVERY_PEERS。按如下方式设置:

export NDDS_DISCOVERY_PEERS=udpv4://239.255.0.1,udpv4://127.0.0.1,udpv4://<remote_IP_here>

2) 在 Windows 7 端,同名的环境变量。设置如下:

set NDDS_DISCOVERY_PEERS=udpv4://239.255.0.1,udpv4://127.0.0.1,udpv4://<remote_IP_here>

3) 对于 DDS 新手还有一点需要注意:特定主题的 QOS 设置在两侧必须相同,否则就会出现问题。

这来自于RTI DDS 5.0 用户手册第 14.2.2 节

还要注意,如果您rtiddsping -peer remoteIPaddress在双方调用,则不必设置发现环境变量。

相关内容