Android
VirtualBox
Genymotion
mitmproxy

VirtualBoxを使用したAndroidエミュレーターをmitmproxyに通す方法

More than 1 year has passed since last update.

さっき知ったのでメモのために書いておきます。

AndyやGenymotionなどをmitmproxyに通す方法です。


通す方法

AndyとGenymotionでしか試していないため、おそらくこれに限らないです。


Genymotionの場合

まず、私の環境でしか試してないためあまり大きく言えないのですが、初期の状態だと「Wi-Fi」→「WiredSSID」のところで「ネットワークを変更」ができないようです。

追記2016/05/29

もう一度1からデバイスを作ってみたところ、ネットワークを変更はすぐに現れました。

もし誰か他にも同じ事例の方がいたら先に再起動をお試しください。

以下は念のために残しておきますが、必要ないかもしれません。


こちらのStackoverflowのチェックマークのついた回答のARM Translation Installer v1.1と、エミュレートしているAndroidOSのバージョンに対応しているGoogle Appsを落とし、ARM Translation Installer v1.1Google Appsの順番でインストールしてください。

詳しい説明については省かせていただきます。


各デバイス起動前の設定内にあるNetworkタブでの設定がうまくいってないようでしたが、こちらのミスであることも十分考えられるので、もしかしたらそっちで設定したほうがいいかもしれません。


共通の設定

まず、Androidの設定を開きます。

スクリーンショット 2016-05-29 02.57.54.png

次に、Wi-Fiを開きます。

スクリーンショット 2016-05-29 02.59.59.png

WiredSSIDをロングタップします。

スクリーンショット 2016-05-29 03.00.22.png

ネットワークを変更をタップし、詳細設定項目にチェックを入れ、プロキシ手動にし、プロキシのホスト名を10.0.3.2、ポートはホストのOSでmitmproxyが待ち受けているポートを指定し、保存をタップします。

スクリーンショット 2016-05-29 03.00.50.png

この設定の後は、通常のmitmproxyの設定通りにmitm.itに接続し、証明書をインストールしてください。

スクリーンショット 2016-05-29 03.01.22.png


10.0.3.2とは

10.0.3.2は、多分VirtualBoxが割り当てたホストOSのlocalhostを示すIPです。

もしホストOSで立ち上げている何かにAndroidエミュから接続したい場合は、10.0.3.2:ポート番号というようにすることで接続することができます。

ちなみに、ホストOSからゲストOSに接続したい場合は、

1. Virtual Box マネージャーを立ち上げ、

2. エミュレートしている端末の設定を開き、

3. ネットワークタブのアダプター2タブを開き、

4. 割り当てをNATにし、ポートフォワーディングのボタンから

5. ゲストポートとホストポートをそれぞれ設定し終わりです。