Перенаправление соединения WFP - Как получить исходный IP-адрес и порт назначения из пользовательского режима в Windows 7? - PullRequest
0 голосов
/ 18 июня 2019

Я программирую драйвер выноски для Windows 7 / Server 2008 R2.

Я пытаюсь создать драйвер выноски в режиме ядра, который перенаправлял бы трафик TCP в службу пользовательского режима.Я зарегистрировал выноску на слоях FWPM_ALE_CONNECT_REDIRECT_V{4|6}.В сервисе usermode я хочу найти исходный IP-адрес назначения и номер порта.Я наткнулся на этот фрагмент для Windows 8 +:

BYTE* redirectRecords;
BYTE redirectContext[CONTEXT_SIZE];
listenSock = WSASocket(…);
result = bind(listenSock, …);
result = listen(listenSock, …);
clientSock = WSAAccept(listenSock, …);
WSAIoctl(clientSock,
    SIO_QUERY_WFP_CONNECTION_REDIRECT_RECORDS,
    redirectRecords, …);

Теперь SIO_QUERY_WFP_CONNECTION_REDIRECT_RECORDS IOCTL доступен только после Windows 8. Мне интересно, возможен ли подобный IOCTL в Windows 7. Как мне получитьисходный IP-адрес и номер порта в Windows 7?

...