0

我正在尝试重定向来自应用程序的特定网络数据包并将它们路由到我的以太网网络适配器。这样我就可以拥有我的前任:普通网络上的浏览器和我的 VPN 网络上的所有其他东西。

为此,我正在使用来自www.ntkernel.com和 PacketDotNet 的 Windows 数据包过滤器。

整个逻辑是:
我的普通适配器的内部 IP 是:192.168.1.6
我的 VPN 适配器的内部 IP 是:10.128.19.222

我有一个连接如下的应用程序:
本地地址:10.128.32.222:50449 -> 远程地址:54.210.0.167:443

对于从 10.128.32.222:50449 发送到 54.210.0.167:443 的所有数据包,我会监听 VPN 适配器。

然后获取数据包并使用 PacketDotNet 解析并将源地址和 MAC 更改为我的正常适配器地址,因此新数据包具有以下网络数据:
Source 192.168.1.6:50449 ;目的地:54.210.0.167:443
然后新数据包通过普通适配器向下发送到网络堆栈。

在一个单独的线程中,我监听从 Source: 54.210.0.167:443 接收到的所有数据包的普通适配器;Destination: 192.168.1.6:50449
然后获取数据包并使用 PacketDotNet 解析,并将目标地址和 MAC 更改为我的 VPN 适配器地址,因此新数据包具有以下网络数据:
Source: 54.210.0.167:443 ; 目的地:10.128.32.222:50449
然后新数据包通过 VPN 适配器向上发送到网络堆栈。

我在网络方面几乎没有经验,所以我不确定我做错了什么,但这会阻止我对该特定应用程序的整个流量,但我没有收到我发送的数据包的任何响应。

这是我的完整代码存储库:https ://github.com/jonathans04/NetworkReddirect

4

0 回答 0