尝试以与this post相同的方式实现透明代理,但我有一个"代理"仅在环回接口上侦听。一旦我将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;
没有任何影响。
有没有办法实现这样的配置?
答案 0 :(得分:0)
与原始链接帖子一样,此处似乎没有任何处理反向路径的代码(即处理连接 - >代理,但代理 - >连接不是)。这可以解释为什么永远不会收到SYNACK
。
要转移到本地代理,请参阅streamdump示例程序。