【问题标题】:WFP driver giving 0.0.0.0 as local ip address for connectionWFP 驱动程序将 0.0.0.0 作为连接的本地 IP 地址
【发布时间】:2020-05-16 09:01:21
【问题描述】:

我正在为 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

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

谢谢

【问题讨论】:

  • 如果您正在编写 WFP 标注,有很多情况像您一样。文档说有 IP 信息,但是当你获得价值时,没有价值,因为信息在该上下文中不可用或确定。您应该放弃从 WFP 标注中获取信息并设计其他方法。
  • 是的,可能是信息不可用。 MSDN 应该已经更新,信息可用性可能存在不确定性

标签: windows redirect networking driver wfp


【解决方案1】:

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

【讨论】:

  • 我看到 TCP 的 ip 有效端口为零。指向的链接确实谈到没有获得有效的 IP/端口,我对此不确定,并且一定会检查这个(感谢您提供指点)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-30
  • 2011-04-09
  • 1970-01-01
  • 2011-06-06
相关资源
最近更新 更多