我正在寻找一种方法来模拟 Windows 上的网络适配器,并能够在程序中使用数据包。然后程序将通过其他方式发送它们。我只需要创建一个虚拟网络适配器,让我可以访问数据包。是否有预先编写的自定义驱动程序,还是我需要自己编写?我读了一些关于 Windows 的 TAP 驱动程序的文章,但我不确定这是否是我需要的。
答案1
是的,对于独立虚拟接口,最常用的方法确实是 TAP 驱动程序 - 最初由 OpenVPN 制作,用于模仿 Linux 内置的“tap”接口类型。它是开源的,但您可能希望使用官方发行版,因为它是数字签名的(如今这是一项要求)。
另一种方法是构建一个自定义驱动程序来执行相同的操作。我相信这就是 VirtualBox 的“仅主机网络”功能(也是将所有数据包发送到软件的虚拟接口)所做的事情。
如果你需要的只是第 3 层(IP)数据包,你也可以尝试将应用程序实现为 WindowsVPN 提供商,尽管这仅适用于 UWP 应用程序 - 但不需要驱动程序。