尝试以与this post中相同的方式实现透明代理,但是我有一个“代理”仅在回送接口(interface)上监听。一旦我将DstAddr设置为回送,就永远不会收到第二个TCP握手数据包

...
iphdr->DstAddr = htonl(INADDR_LOOPBACK);
tcphdr->DstPort = ProxyPort;
addr->Direction = WINDIVERT_DIRECTION_INBOUND;
...

但如果DstAddr = address_of_network_interface_packet_captured_from,则可以使用。

还尝试更改addr:
    addr->IfIdx = 1;
    addr->SubIfIdx = 0;

没有任何影响。

有没有办法实现这样的配置?

最佳答案

与原始链接的帖子一样,这里似乎没有任何代码可以处理反向路径(即可以处理connection-> proxy,但不能处理proxy-> connection)。这可以解释为什么从未收到SYNACK

有关转移到本地代理的信息,请参见streamdump示例程序。

关于wfp - WinDivert : redirect to proxy listening on loopback interface only,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42528347/

10-13 05:17