2013-03-31 4 views
0

Может ли кто-нибудь объяснить (в пределах размера ответа stackoverflow) код, необходимый для эмуляции сетевого интерфейса? Я просто знаю, что там есть программное обеспечение для виртуализации, такое как Qemu, которое использует этот тип эмуляции оборудования, но понятия не имеет, как это будет работать. Много книг покажут вам, как создать программу, которая слушает в сокете TCP, но не создает хост, который получает свой собственный IP-адрес.Эмуляция сетевого интерфейса

+0

http://serverfault.com/questions/83234/how-do-i-create-a-linux-virtual-network-interface-alias-with-a-real-interface –

+0

http://stackoverflow.com/questions/47854/how-do-you-create-a-virtual-network-interface-on-windows –

ответ

2

VirtualBox - это с открытым исходным кодом. В качестве виртуальной машины с поддержкой сети вам должно быть достаточно, чтобы продемонстрировать вам, что делать, наряду с рабочей реализацией. https://www.virtualbox.org/wiki/Downloads

+0

Это ответит на мой вопрос, хотя мне придется просмотреть много исходного кода. Возможно, мне придется задать другой вопрос, но я намерен либо создать, либо найти источник для самого минимального виртуального хоста, который может взаимодействовать с сетью с наиболее распространенными базовыми командами, такими как ipconfig –

0

Это действительно зависит от того, что вы имеете в виду и чего вы хотите достичь. Если вы хотите эмулировать какое-то реальное оборудование, которое вам нужно с помощью примитива гипервизора, эмулируйте большинство аспектов, упомянутых в спецификации соответствующего адаптера, если вы хотите ввести некоторую услугу, например. DNS или HTTP-служба, видимая во внутренней сети: вам нужно, чтобы порт преподавал некоторый стек земли пользователя (например, LWIP или Slirp, или часть, если вам нужен только UDP или ниже) для связи с внутренней сетью гипервизора.

Смежные вопросы