首页 > 解决方案 > WFP 驱动程序将 0.0.0.0 作为连接的本地 IP 地址

问题描述

我正在为 WFP 驱动程序执行连接重定向的标注例程。我已经在FWPS_LAYER_ALE_CONNECT_REDIRECT_V4层注册了。一切正常。当我尝试获取连接的本地 IP 地址时,我总是将其设为 0。这是预期的吗?我正在将连接重定向到本地服务。

local_ip = RtlUlongByteSwap(inFixedValues->incomingValue
              [FWPS_FIELD_ALE_CONNECT_REDIRECT_V4_IP_LOCAL_ADDRESS]) 

IN const FWPS_INCOMING_VALUES *inFixedValues 作为调用例程的参数接收。

用户 sid 也是如此。它总是像 s-1-0-0 这基本上是无效的 sid

我正在获取用户的 sid blob 作为

inFixedValues->incomingValue[FWPS_FIELD_ALE_CONNECT_REDIRECT_V6_ALE_PACKAGE_ID].value.sid

需要帮助理解是这种预期的行为还是我在这里遗漏的东西!

谢谢

标签: windowsredirectnetworkingdriverwfp

解决方案


据我所知,这不是记录在案的行为,但我已经看到这个标注被调用两次用于 UDP 连接:第一次使用本地地址和端口的零值,第二次使用实际值。这里这里都有报道。我通过检查地址和端口字段的零值并在这种情况下忽略标注来解决它。


推荐阅读