Какой порядок байтов IP-адреса указан в callify's classifyFn в WFP?
В callify's 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
Однако я не могу найти какую-либо документацию для указания "порядка байтов" IP-адреса из MSDN, OSR и т. Д.
Следующая ссылка - тот же вопрос, что и мой, но ответов не было.
1 ответ
Решение
Я не работал с IPv6-адресами, но WFP дает вам IPv4-адрес в "порядке узлов" (little-endian). Если вам нужно изменить его на "сетевой порядок" (big endian), вы можете вызвать функцию htonl () или, если вы пишете драйвер режима ядра, вы можете использовать RtlUlongByteSwap ().