私のAndroid Phone。のネットワークトラフィックを監視したい。
別の質問は次のとおりです。特定のアプリケーションの交通データを監視したい場合、それを行うためのコマンドはありますか?
TCPDUMPは、ネットワークを分析するための私のお気に入りのツールの1つですが、Android向けのtcpdumpをクロスコンパイルするのが難しい場合は、市場のアプリケーションを使用することをお勧めします。
これらは私が話していたアプリケーションです:
Sharkアプリはルート化されたデバイスで動作するため、インストールする場合は、デバイスが既にルート化されていることを確認してください。
幸運を ;)
エミュレータから実行している場合、次のように実行できます。
実行emulator -tcpdump emulator.cap -avd my_avd
エミュレータのすべてのトラフィックをPCのローカルファイルに書き込み、wiresharkで開く
役立つかもしれない同様の投稿があります [〜#〜] here [〜#〜]
注:tcpdumpにはルート権限が必要なので、まだ行っていない場合は電話をルート化する必要があります。 tcpdumpのARM binary です(これは私のSamsung Captivateで機能します)。独自のバイナリをビルドする場合は、 here (はい、クロスコンパイルする必要があるでしょう)。
また、 Shark For Root (an Android tcpdumpに基づくパケットキャプチャツール))も確認してください。
Tcpdumpが特定のプロセスIDでトラフィックを監視できるとは思わない。クリス・ストラットンが言及するstrace method は、その価値よりも多くの努力のようです。ターゲットプロセスで使用される特定のIPとポートを監視する方が簡単です。その情報が不明な場合は、プロセスアクティビティの期間中にすべてのトラフィックをキャプチャし、Wiresharkで結果のpcapを選別します。
Android SDKに含まれるDDMSツールには、ネットワークトラフィックを監視するためのツールが含まれています。tcpdumpや類似の低レベルツールから得られる詳細情報は提供しませんが、それでも非常に便利です。
公式ドキュメント: http://developer.Android.com/tools/debugging/ddms.html#network
電話をルート化してtcpdumpをクロスコンパイルするか、誰かが既にコンパイルしたバージョンを使用する必要があります。
エミュレータを使用してこれらの実験を行う方が簡単な場合があります。その場合、ホスティングPCから監視を行うことができます。実際のデバイスを使用する必要がある場合、別のオプションは、tcpdumpを実行しているlinuxボックスのセカンダリインターフェイスからぶら下がっているwifiネットワークに配置することです。
特定のプロセスでどのようにフィルタリングを行うかは頭の中でわからない。クイックグーグルで見つけた1つの提案は、システムでtcpdumpの代わりに対象プロセスでstraceを使用することです。
ルートがなければ、 Charlesproxy &Coのようなデバッグプロキシを使用できます。
Android Phones(Without Root)::このアプリケーションを使用できます tPacketCapture これにより、キャプチャを有効にすると、デバイスのネットワークトラフィックがキャプチャされます。参照してください このURL デバイスをルート化せずにネットワークスニッフィングの詳細について。
.pcap
形式のファイルを作成したら、このファイルを使用して、Wiresharkなどのトラフィックアナライザーを使用してトラフィックを分析できます。
wiresharkでの携帯電話トラフィックのキャプチャ の詳細については、この投稿も参照してください
パケットキャプチャは、Androidでネットワークデータを追跡するための最適なツールです。ルートアクセスを必要とせず、アプリケーションに基づいて呼び出しを簡単に読み取って保存できます。チェック this out
前提条件:adbとwiresharkがコンピューターにインストールされ、ルート化されたAndroidデバイスがあります。
adb Push ~/Downloads/tcpdump /sdcard/
adb Shell
su root
mv /sdcard/tcpdump /data/local/
cd /data/local/
chmod +x tcpdump
./tcpdump -vv -i any -s 0 -w /sdcard/dump.pcap
exit
exit
adb pull /sdcard/dump.pcap ~/Downloads/
これで、Wiresharkを使用してpcapファイルを開くことができます。
特定のプロセスの監視に関する質問については、アプリのバンドルIDを見つけて、com.Android.myapp
ps | grep com.Android.myapp
/data/local
上記のtcpdump
に対して行ったのと同じ方法を使用します。cd /data/local
./strace -p 1234 -f -e trace=network -o /sdcard/strace.txt
これで、strace.txtでIPアドレスを確認し、wiresharkログでそれらのIPをフィルタリングできます。
このアプリケーションをお試しください https://play.google.com/store/apps/details?id=app.greyshirts.sslcapture
すべてのネットワーク通信を表示できます。SSL暗号化通信も表示できます。
一般的なアプローチは、次のように「cat/proc/net/netstat」を呼び出すことです。