2013-08-01 44 views
1

我想寫我自己的虛擬網卡驅動程序/插件,可以爲VirtualBox中的虛擬機配置,以截獲包含傳入和傳出的數據包。
我發現VirtualBox的SDK的文檔在http://download.virtualbox.org/virtualbox/SDKRef.pdf,但不幸的是它只描述瞭如何使用遠程API來控制虛擬機,而不是如何爲虛擬機本身編寫自定義驅動程序或插件。VirtualBox - 如何編寫驅動程序/插件?

你知道這個主題的任何文檔或教程嗎?
任何指針都非常讚賞。

更新:
我在VirtualBox中的源瀏覽,發現如下:https://www.virtualbox.org/browser/vbox/trunk/src/VBox/Devices/Network/DrvNetSniffer.cpp
是否有可插拔的方式寫這樣功能沒有任何公開的接口?

+0

聽起來像另一個XY問題。爲什麼? – MSalters

回答

0

VMM(「虛擬機監視器」或「虛擬機管理程序」)中的網絡處理通常由一個簡單的接口完成,該接口「僞裝」爲朝向VM的網卡,並且是一個橋接器或交換機類型接口主機的網絡連接。我懷疑你將無法輕鬆地附加到它,並幾乎可以肯定,它沒有「SDK」接口 - 我沒有與VirtualBox合作過,但我曾在Xen Hypervisor(它是開放的來源,但即使如此,也沒有簡單的接口以有意義的方式攔截數據包)。

最好的辦法可能是在VMM提供的網橋或交換機接口的主機側實現此功能。爲了防火牆的目的,大多數操作系統都有辦法掛鉤本地端的網絡流。

(我仍然在等待SDK文檔下載 - 我認爲必須將服務器連接到互聯網,用一塊溼的字符串,因爲我已經收到了40KB,因爲我開始寫這篇文章)

相關問題