1

我想编写自己的虚拟网卡驱动程序/插件,可以为 VirtualBox 中的虚拟机配置来拦截传入和传出的数据包。我在http://download.virtualbox.org/virtualbox/SDKRef.pdf
找到了 VirtualBox 的 SDK 的文档,但不幸的是,它只描述了如何使用远程 API 来控制 VM,而不是如何为 VM 编写自定义驱动程序或插件本身。

你知道这个主题的任何文档或教程吗?
任何指针都是高度赞赏的。

更新:
我浏览了 VirtualBox 的资源并发现以下内容:https://www.virtualbox.org/browser/vbox/trunk/src/VBox/Devices/Network/DrvNetSniffer.cpp
是否没有记录的接口用于编写此类功能以可插拔的方式?

4

1 回答 1

0

VMM(“虚拟机监视器”或“管理程序”)中的网络处理通常由一个简单的接口完成,该接口“假装”为通往 VM 的网卡,并且是通往主机网络连接的桥接或交换机类型接口.

我怀疑您将无法轻松附加到它,并且几乎可以肯定它没有“SDK”接口 - 我没有使用过 VirtualBox,但我使用过 Xen Hypervisor(它是开源的,但即使然后,没有简单的接口以有意义的方式拦截数据包)。

您最好的选择可能是在 VMM 提供的网桥或交换机接口的主机端实现这一点。大多数操作系统都有办法连接到本机端的网络流以用于防火墙目的。

(我还在等待 SDK 文档的下载——我认为服务器必须用一根湿绳连接到互联网,因为自从我开始写这篇文章以来,我已经收到了 40KB)

于 2013-08-01T10:36:33.883 回答