7

尝试以与本文相同的方式实现透明代理,但我有一个仅在环回接口上侦听的“代理”。一旦我将 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;

没有任何影响。

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

4

1 回答 1

0

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

要转移到本地代理,请参阅streamdump示例程序。

于 2017-03-25T13:02:17.477 回答