在 Windows 处理之前捕获接收到的数据包

Catch received packets before Windows processes them

我正在尝试捕获我在 Windows 10 上收到的数据包,然后在 Windows 可以处理它们之前修改它们。

实际上我该怎么做?

一些想法-

  1. 创建 windows 网络适配器,连接方式如下: (我的真实网络适配器 - 新适配器 - 互联网)
  2. 获取对某些打开的套接字的响应,接收数据包,解密它,然后以某种方式让 google chrome 处理它。

在这个新适配器上捕获数据包,修改它们,然后将它们发送到真正的网络适配器。

更多信息:

我正在创建一个 vpn 服务器(代理 + 加密负载)

所以,在客户端,我捕捉到我的所有流量“即时”修改它们(加密负载),将其发送到服务器,服务器解密数据包,并将其发送到互联网,接收响应,加密并发送回来了。 客户端接收 - (例如简单的 http html 响应)和加密的负载。在 windows 网络堆栈接收到这个数据包进行处理之前,我需要对其进行解密。

所以,找到答案了。

要实现我正在尝试做的事情,您可以使用 Pydivert - https://pypi.org/project/pydivert/ 使用它,您可以停止入站和出站数据包并修改它们,然后它们将被 Windows 网络堆栈处理。