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

Posted

技术标签:

【中文标题】如何在 .NET 中创建虚拟网络适配器?【英文标题】:How to Create a Virtual Network Adapter in .NET? 【发布时间】:2011-01-15 02:25:28 【问题描述】:

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

我知道 Open***,他们的东西主要是用 C 语言编写的,而且我也知道 TUN/TAP 驱动程序四处飘荡,我只是不知道这些是否是唯一不需要我创建满载网络的解决方案Windows 驱动程序。

【问题讨论】:

我很想知道是否可以在托管的 .NET 代码中执行 any 像这样的低级 Windows 驱动程序。我想我从来没有听说过这样的事情,尽管我可能是错的。 【参考方案1】:

如果您需要简单的功能,那么您可以使用 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="本地连接2"静态192.168.0.3 255.0.0.0)

【讨论】:

这正是我想要的。我熟悉创建/使用 MS Loopbacks,但不知道 devcon 的存在。很好的答案,在我的搜索中还没有找到另一个合乎逻辑的答案。非常感谢! Win7 x64 的朋友,可能对superuser.com/questions/305685/…感兴趣 x64版本的MD5:3904d0698962e09da946046020cbcb17 devcon failed 我。

以上是关于如何在 .NET 中创建虚拟网络适配器?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Retrofit 中创建用于暂停功能的调用适配器?

Mac OS X 中的虚拟网络接口

错误记录VMware 虚拟机报错 ( VMWare 中的 Ubuntu 虚拟机网络设置 | 第一次网络设置 )

虚拟机如何连接网络

如何在VMWARE中配置net模式上网

如何在vmware虚拟机内设置网卡?