Androidアプリケーションのhttpメッセージの1つをwiresharkでキャプチャしたいと思います。
AndroidのIPアドレス、次にMacアドレスにフィルタリングしようとしましたが成功しませんでした。解決策は簡単だと思いますが、まだ理解できませんでした。
Genymotion VMには、基盤となるVirtualBox構成に2つのネットワークアダプターがあります。どちらをキャプチャするかは、探しているものによって異なります。また、一部の詳細(アダプター名など)は、使用しているOSによって異なります。ただし、概念は同じです。
アダプター1、通常はUbuntuを使用している場合はvboxnet0
は、ホスト専用アダプターであり、ローカル間の相互作用をサポートするために使用されます。ホストとVM。デフォルトのUbuntuセットアップでは、これは192.168.56.0
ネットワークです。ホストマシンは192.168.56.1
であり、VMは通常VirtualBoxの組み込みDHCPサーバーから192.168.56.101
を取得します。この接続はAndroid Debug Bridge(ADB )開発ツールをVMに接続します。たとえば、これはEclipseADTとAndroid StudioがAPKなどをインストールするためにVM)と通信する方法です。 。adb Shell
を実行すると、このネットワーク経由でも接続します。開発ツールがVMとどのように通信しているかを調べたい場合は、vboxnet0
(または同等のもの)でキャプチャします。
アダプタ2は通常、ホストのネットワーク接続にNATされます。通常、Ubuntuではeth0
やwlan0
のようなものです。これにより、VMのインターネットアクセスが可能になります。 VMがローカルネットワークまたはインターネットとどのように相互作用しているかを確認したい場合は、ホストのメインネットワークアダプターに対してキャプチャします。残念ながら、VMがNATされている場合、VMトラフィックはホストと同じIPを持つため、フィルタリングが困難になります。これにより問題が発生する場合は、VMをシャットダウンし、VirtualBoxを直接開きます(つまり、Genymotionランチャーがない場合)、アダプター2を「ブリッジアダプター」に変更し、VMのネットワーク構成で現在アクティブなホストアダプターを選択します。ローカルLANがDHCPを使用している場合(可能性が高い)、これによりVM独自のIPを取得し、Wiresharkでフィルタリングできます。VM(Genymotion Launcherから)を再起動すると、adb Shell ifconfig
で割り当てられているアドレスを確認できます。ホスト。VIrtualBoxアダプター2に対応するeth1
を探します(eth0
はVirtualBoxアダプター1を介したadb
接続用です)。
Genymotionを使用する場合、ホスト(つまりマシン)とゲスト(つまりGenymotionエミュレーター)の間のトラフィックをキャプチャするのは非常に簡単です。
WireSharkを使用してトラフィックを監視したくない場合は、 Fiddler を使用して、Genymotionでプロキシ設定を構成することもできます(Genymotionに記載されているプロキシ手順の追加 docs )Fiddler-running machine IP address and port
。
また、Fiddlerでトラフィックをキャプチャするには、次の設定を行います:Tools menu > Fiddler Options > Connections
そしてAllow Remote Computers to connect box
にチェックマークを付けてから、Fiddlerを再起動します。