2017-04-10 2 views
1

Linuxホストで完全に動作するDockerコンテナが既にあります。今はWindowsとMacで動作したい  OS   X。このコンテナはUSBワイヤレスインターフェイスを使用しています。 Linuxでは、Dockerの実行コマンドで--net=hostを使用するのと同じくらい簡単です。それで、私はコンテナの中の無線インターフェイスを見ることができ、--privilegedを監視モードに変えることができます。今度はWindows/Macで試してみましょう。コンテナにワイヤレスデバイスを使用するようにboot2docker.isoをカスタマイズする(Docker-toolbox)

私の調査で、Windows/Mac用のDocker-toolboxを選択できました。このホストOS上の標準DockerでUSBデバイスをマップすることはできないようです。 VirtualBoxの「デフォルト」マシンを使用して、VirtualBox拡張パックをインストールし、USBデバイスをコンテナに接続するためのフィルタを作成しました。今すぐ私は(最後に!)USBデバイスをlsusbコマンドを使用してコンテナに入れることができます。これはすばらしいニュースです...残念ながら、私はまだiwconfigというワイヤレスインターフェイスとしては見えません。

私は、デフォルトのboot2dockerマシンにはこのためのドライバがないためだと思います。だから、私の調査は次のステップに再び私をもたらしました...

私はワイヤレスドライバでカスタムboot2docker.isoを作成しようとしています。私はDockerfileの公式boot2docker GitHub pageに私の計画が「ねじれている」と思っているのを見ました。コマンドはrm -rf ./*/kernel/net/wireless/*です。

意図的に削除されているようです。私はその行を削除し、新しいISOイメージを生成するイメージを構築しようとしました。カスタムboot2docker isoを作成するには、レポをダウンロード(クローン)してDockerをインストールしてから、docker build -t boot2docker . && docker run --rm boot2docker > boot2docker.isoを実行するだけです。新しいisoファイルが生成されます。

次に、この新しいISOイメージ(デフォルトのISOを上書きし、マシンを削除してもう一度作成する)に基づいてVirtualBoxのデフォルトマシンを再作成しようとしましたが、失敗しました。私は無線インターフェイスがコンテナ内の "wlanx"として見えません。

ワイヤレスドライバをサポートするboot2docker ISOイメージファイルを作成する手順はどれですか?何か不足していますか?誰も私が使用できるISOイメージをすでに持っていますか?

EDIT Dockerfileで多くの変更を加えました。すべてのカーネルオプションを含むkernel_configファイルがあります。明らかに目標は、無線操作をサポートするために設定されたすべてのカーネルオプションを含むisoを生成することです...すべてのワイヤレスドライバを有効にします(モジュールとしてではなく、自動的に検出されるように含まれています) can(atheros、realtek、ralink、intelなど)...すべてのオプションがカーネルを有効にしました。私はあまりにも "CONFIG_USB_MON = y"フラグを有効にしてモニタモードを使用できるようにしました。

私が調べて学習しているすべてのカーネルオプションに加えて、ドライバーもisoに追加する必要があります。そのために、Dockerfileのもう一つの部分が修正されています。それはtinycoreを使用しており、利用可能なすべてのパッケージはここにあります:http://distro.ibiblio.org/tinycorelinux/7.x/x86_64/tcz/と最後にドライバであるファームウェアパッケージを含むすべてのワイヤレス関連パッケージをインストールしました。

私は右の方向に向いています。今はコンテナ内の無線インターフェイスを見ることができます...でも、そのうちの1つ(Ralink Alfa)をモニタモードに入れますが、残念なことにコンテナ内のairodumpを使ってスキャンした後、パケット。私は何かが欠けている.../

何か助けていただければ幸いです。

EDIT2私はboot2docker repositoryをフォークします。 Dockerfileとkernel_configファイルに変更を加えました。誰かが何か試してみたいと思っている人は歓迎です...私が言ったように、この時点では、コンテナ内の無線インターフェイスを見てモニタモードにすることはできますが、キャプチャされたパケットはありません。ドライバに関連する何かが間違っている、私はカーネルのものは今okだと思う...私は別のチップセットを試し続けます。

答えて

1

私はそれを試す時間がありませんでしたので、塩の粒でこれを取るが、this guideはドッカーマシンをお勧めします。

+0

リンクありがとうございます。私はそれを達成するのにかなり近いです。私はDockerfileとkernel_optionsファイルを修正していますし、tryとerrorの無限ループでコンパイルしています...しかし、私はかなり近いです!!私は今コンテナ内のwlan0アダプタを見ることができます...今私はそれをモニタモードに置くために戦っています...最終的に私はそれを行う方法についてここで全体の説明を置くでしょう。 – OscarAkaElvis

+0

Haha amazing :)私は投稿をしてください! –

+0

Ohh私の神...私はモニターにカードを置くことができますが、スキャンしてもパケットは表示されません。 ...かなりかわいいです... – OscarAkaElvis

2

さて、ここであなたの質問を完全に理解するためにもう少し研究を行う必要があるかもしれません。しかし、私の理解から、基本的にカスタムネットワークインターフェイス(USBワイヤレスインターフェイス)にバインドされたコンテナネットワークを作成しようとしていますか?その場合は、特定のネットワークインターフェイスhereにバインドされたコンテナネットワークを作成する方法に関するドキュメントがあります。あなたはそのアプローチを試みましたか?基本的には、docker network createコマンドで-o com.docker.network.windowsshim.interface=<Interface>というオプションを使用して、新しいネットワークで使用するホストインターフェイスを指定する必要があります。正しいインタフェースにバインドされているネットワークにコンテナを接続してから、接続する必要があります。

+0

ハイパー-vでドッカーを使用する場合、あなたが提案するものを考えます。私が間違っている?私がやろうとしているのは、VirtualBox VMを使っているDocker-toolboxです。その方法でOSX環境でも動作するからです。とにかくあなたの答えをありがとう、非常に興味深いです、もちろん私もそれをチェックします。 – OscarAkaElvis

関連する問題