模拟网络接口

时间:2013-03-31 04:35:02

标签: c networking virtualization

有人可以解释(在stackoverflow答案的大小范围内)模拟网络接口所需的代码吗?我只知道像Qemu这样的虚拟化软件可以进行这种特定类型的硬件仿真,但不知道这是如何工作的。很多书将向您展示如何创建一个侦听TCP套接字的程序,但不会创建一个获取自己IP地址的主机。

2 个答案:

答案 0 :(得分:2)

VirtualBox是开源的。作为具有网络支持的VM,应该足以向您演示如何操作以及工作实现。 https://www.virtualbox.org/wiki/Downloads

答案 1 :(得分:0)

这取决于你的意思和想要实现的目标。如果你想要模拟一些真正的硬件,你需要通过hypervisor的原语来模拟相应适配器的数据表中提到的大多数方面,如果你想引入一些服务,例如内部网络中可见的DNS或HTTP服务:您需要端口教一些用户堆栈(例如LWIP或Slirp,或者只有您需要UDP或更低的部分)才能与虚拟机管理程序的内部网络通信。