2011-11-04 18 views
5

私は現在、アプリケーションとサーバー間の通信をデバッグする必要があります。私はtcpdumpスイッチでエミュレータを起動してパケットをキャプチャすることができました:OSXのWiresharkのAndroidエミュレータからtcpdumpのライブビューを取得するにはどうすればよいですか?

%emulator -tcpdump emulator.cap @MyDroid 

私が持っている問題は、私はWiresharkのでemulator.capファイルを開くことができる前に、私はシャットダウンするエミュレータを必要とするということです。さもなければ、Wiresharkはキャプチャが不完全であると不平を言うでしょう。このプロセスは非常に遅いです。私はWiresharkのemulator.capファイルのライブビューを取得できるようにしたいと思います。

これはパイプを使用して行う必要があるようです。私はOS   Xで私の開発をしており、このガイドからWay 1とWay 2を試しました:http://wiki.wireshark.org/CaptureSetup/Pipes

少なくともキャプチャのスナップショットを見ることができますが、リアルタイムで更新されたビューは表示されません。 Wiresharkの更新ボタンをクリックしても、キャプチャされたパケットは更新されません。 Wiresharkを終了して再起動してアップデートを入手する必要があります(エミュレータを再起動するよりも速い)。

WiresharkのAndroidエミュレータからライブキャプチャを表示する手順は何ですか?  X?

答えて

2

まず、名前付きパイプを作成し、読み込むためにWiresharkを開きます。次に、エミュレータのtcpdumpに同じ名前付きパイプへの書き込みを指示します。 Wiresharkは、この順序で処理することに敏感であるように見えます。そうでなければ、libcap形式について不平を言います。ここで

は、コマンドは次のとおりです。

%mkfifo /tmp/emulator 
%wireshark -k -i /tmp/emulator & 
%emulator -tcpdump /tmp/emulator @MyDroid 

更新:

しばらくこれを使用した後、脆性のようです。私はWiresharkにパケットについて不平を言うようにさせました。回復する唯一の方法は、これらすべてのステップをもう一度やり直すことでした。より強固なソリューションがありますか?

関連する問題