在callout的classifyFn中,可以使用以下代码获取远程IP地址:
inFixedValues->
incomingValue[FWPS_FIELD_ALE_AUTH_CONNECT_V4_IP_REMOTE_ADDRESS].value.uint32;
// IPv4
或
inFixedValues->
incomingValue[FWPS_FIELD_ALE_AUTH_CONNECT_V6_IP_REMOTE_ADDRESS].value.byteArray16;
// IPv6
但是,我找不到任何文档来指定MSDN,OSR等IP地址的“字节顺序”。
以下链接与我的问题相同,但没有答案。
答案 0 :(得分:1)
我没有使用IPv6地址,但是WFP gives you the IPv4 address in "host order"(小端)。如果您需要将其更改为“网络顺序”(big endian),则可以调用htonl()函数,或者如果您正在编写内核模式驱动程序,则可以使用RtlUlongByteSwap()。