我想用User应用程序创建一个简单的VPN。我去了不同的VPN应用软件。我可以看到他们中的大多数使用Miniport虚拟适配器,例如: OpenVPN使用Windows TAP驱动程序。另一个VPN软件使用微型端口和过滤器驱动程序。 注意:过滤器驱动程序从真实物理微型端口发送和接收数据。是不是?
现在我是驱动程序开发过程的初学者。我有一些疑问重新调整VPN驱动程序。如果我想在Windows环境下的С++中创建一个简单的VPN应用程序,
如果我创建一个新的虚拟驱动程序,是否应该对Windows 10及更高版本进行HLK / HCK驱动程序签名测试?
答案 0 :(得分:1)
一般情况下,除非操作系统通过内置的过滤器驱动程序公开API,否则您需要创建自己的API。您将进一步了解2种基本类型的用法。
Virtual Miniport / Nic - VPN连接创建一个虚拟接口,然后也可以在路由表等其他决策中引用
内联 - 它们位于您的协议堆栈和物理接口之间,并根据自己的逻辑加密并重定向它们。
至少在Windows上说你有几种方法来创建一个基于用户模式的VPN应用程序。最新且最活跃的开发是在Windows.networking.vpn的UWP api空间中。 https://docs.microsoft.com/en-us/uwp/api/Windows.Networking.Vpn>