我已經有一個在Linux主機上完全工作的Docker容器。現在我想讓它在Windows和Mac上工作 OS X.此容器使用USB無線接口。在Linux中,它就像在Docker運行命令中使用--net=host
一樣簡單,就這麼簡單。有了這個,我可以看到容器內的無線接口,並將--privileged
我可以將它們更改爲監視模式。現在讓我們嘗試在Windows/Mac ...自定義boot2docker.iso以在容器上使用無線設備(Docker-toolbox)
我的調查使我選擇Docker-toolbox for Windows/Mac。在主機操作系統上似乎無法將USB設備與標準Docker進行映射。現在,使用VirtualBox「默認」機器,我安裝了VirtualBox擴展包並創建了將USB設備連接到容器的過濾器。現在我可以看到(最後!!!)使用lsusb
命令將USB設備裝入容器中,這是個好消息......但不幸的是,我看不到它們是作爲iwconfig
的無線接口。
我想這是因爲默認的boot2docker機器沒有這個驅動。所以,我的調查再次帶我進入下一步......
我試圖用無線驅動程序創建一個自定義boot2docker.iso。我在官方boot2docker GitHub page的Dockerfile中看到一個命令,我認爲是「搞砸了」我的計劃......命令是rm -rf ./*/kernel/net/wireless/*
。
看來它故意刪除它們。我試圖刪除該行並構建生成新ISO映像的映像。要創建一個自定義的boot2docker iso,就像下載(克隆)回購庫並安裝Docker一樣簡單,然後執行此docker build -t boot2docker . && docker run --rm boot2docker > boot2docker.iso
。它會生成一個新的iso文件。
然後我試着在兩個系統(Windows和Mac)上重新創建基於這個新ISO映像的VirtualBox默認機器(覆蓋默認的iso,刪除機器並重新創建它),但失敗了。我無法在容器中看到無線接口爲「wlanx」。
哪個程序創建boot2docker ISO映像文件與無線驅動程序支持?我錯過了什麼嗎?有沒有人有我可以使用的ISO映像?
編輯 我在Dockerfile上修改了很多東西。有一個帶有所有內核選項的kernel_config
文件。顯然,目標是生成一個iso,並設置所有內核選項以支持無線操作...因此,我啓用了所有無線驅動程序(不包括模塊,我的意思是包括自動檢測),就像我可以(atheros,realtek,ralink,intel等)......所有選項都啓用了內核。我也啓用了「CONFIG_USB_MON = y」標誌,以便能夠使用監視器模式。
除了我正在研究和學習的所有內核選項......當然還必須將驅動程序添加到iso中。爲此,我正在修改Dockerfile的另一部分。它使用tinycore,所有可用的軟件包位於:http://distro.ibiblio.org/tinycorelinux/7.x/x86_64/tcz/,我安裝了所有無線相關軟件包,包括最終驅動程序的固件包。
我在正確的方向,因爲現在我可以看到容器內的無線接口...即使我把它們中的一個(Ralink Alfa)置於監視器模式下,但不幸的是,在容器內使用airodump進行掃描後,數據包。我錯過了一些東西...:/
任何幫助表示讚賞。
EDIT2我分叉boot2docker repository。我推動了對Dockerfile和kernel_config文件的更改。如果有人想嘗試一些東西是值得歡迎的......正如我所說的,在這一點上,我們能夠看到容器內部的無線接口,並將它們置於監視模式下......但沒有捕獲數據包。與驅動程序相關的東西是錯誤的,我猜內核的東西現在好了......我會繼續嘗試使用不同的芯片組。
感謝您的鏈接。我相當接近實現它。我正在修改Dockerfile和kernel_options文件,並在一個無限循環的嘗試和錯誤中編譯它......但是我非常接近!我現在可以看到容器內的wlan0適配器...現在我正在與它戰鬥,把它放在監視器模式...如果最終我實現了它,我會在這裏把關於如何做到這一點的整個解釋。 – OscarAkaElvis
哈哈令人驚歎:)請保持我張貼! –
哦,我的上帝......我可以把卡放在監視器中,但在掃描時不顯示數據包......我錯過了一些東西! ...非常接近... – OscarAkaElvis