Как создать виртуальный сетевой адаптер в .NET?

Я хотел бы создать/добавить виртуальный сетевой адаптер в клиентскую операционную систему во время выполнения (через код), желательно на С#. Что-то похожее на то, что создает VirtualBox/VMware/Himachi при установке своего программного обеспечения. Я предполагаю, что для интеграции драйверов потребуются некоторые синонимы C/С++, но если это возможно только с С#, тем лучше.

Я знаю OpenVPN, их материал, в основном, на C, и я также знаю, что драйверы TUN/TAP плавают вокруг, я просто не знал, были ли это единственными решениями, не требующими от меня создания полностью загруженной сети драйвер для Windows.

Ответ 1

Если вам нужна простая функциональность, вы можете использовать адаптер Loopback от Microsoft. Чтобы установить его, используйте инструмент devcon. Вот некоторая информация об этом http://support.microsoft.com/kb/311272. devcon -r install% WINDIR%\Inf\Netloop.inf * MSLOOP После этого вы можете использовать запрос WMI с С# для получения нового имени соединения, а затем netsh для его настройки (т.е. netsh int ip set address name= "Подключение по локальной сети 2", статическое 192.168.0.3 255.0.0.0)