如何在.NET中创建虚拟网络适配器?

我想在运行时(通过代码)创建/添加虚拟网络适配器到客户端操作系统,最好是在C#中。 类似于VirtualBox / VMware / Himachi在安装软件时创建的内容。 我猜这将需要一些C / C ++恶作剧用于驱动程序集成,但如果它只用于C#,那就更好了。

我知道OpenVPN,他们的东西主要是在C中,我也知道TUN / TAP驱动程序浮动,我只是不知道这些是否是唯一的解决方案,不需要我为Windows创建一个满载的网络驱动程序。

如果您需要简单的function,那么您可以使用Microsoft Loopback Adapter。 要安装它,请使用devcon工具。 以下是有关它的一些信息http://support.microsoft.com/kb/311272 。 devcon -r install%WINDIR%\ Inf \ Netloop.inf * MSLOOP之后你可以使用C#的WMI查询来获取新的连接名,然后使用netsh来配置它(即.netsh int ip set address name =“Local Area Connection 2 “static 192.168.0.3 255.0.0.0)