次のエントリ: シェルの起動 [Android]
エミュレータでパケットキャプチャ
2011-02-01-1 / カテゴリ: [command][network][Android] / [permlink]
ホストPCやサーバ側でキャプチャできない環境の場合、エミュ自身の内蔵tcpdumpでキャプチャ可能。
多分使う機会はホストがwindowsで、ホスト自身で動かしてるサーバへアクセスする際のキャプチャくらいかね。(リモートならEthereal使えば良し)
基本は
-s 0 は、未指定だとデフォルトキャプチャサイズが96bytesになり、キャプチャ漏れが発生するので、適当に指定すればよし。0指定だと65535byteになる。
-X は指定なしだと訓練されていないと読めない(笑)
port 80 の部分は、キャプチャのフィルタ条件。指定がないとidleでも結構パケットが飛んでいるので、見たいパケットが見えなくなる。
"port 80" で 80/TCP の全てのパケット
"host jp-z.jp" で、jp-z.jp との全パケット
"port 80 and host jp-z.jp" で↑のand
「コマンドラインじゃわからん!wiershark/etherealで見たいんだ!」な場合は
あとはググッてねん。
ちなみに停止の^Cで、シェルごとなぜか抜けてしまうので、PCのシェル(コマンドライン)上で
実機だとpermission deniedになる。うーん、rootな端末もあった方が良いのかも。
多分使う機会はホストがwindowsで、ホスト自身で動かしてるサーバへアクセスする際のキャプチャくらいかね。(リモートならEthereal使えば良し)
基本は
# tcpdump -s 0 -X port 80など。
-s 0 は、未指定だとデフォルトキャプチャサイズが96bytesになり、キャプチャ漏れが発生するので、適当に指定すればよし。0指定だと65535byteになる。
-X は指定なしだと訓練されていないと読めない(笑)
port 80 の部分は、キャプチャのフィルタ条件。指定がないとidleでも結構パケットが飛んでいるので、見たいパケットが見えなくなる。
"port 80" で 80/TCP の全てのパケット
"host jp-z.jp" で、jp-z.jp との全パケット
"port 80 and host jp-z.jp" で↑のand
「コマンドラインじゃわからん!wiershark/etherealで見たいんだ!」な場合は
# tcpdump -s 0 -w /mnt/sdcard/capture.cap port 80でキャプチャ結果をファイルへ出力できるので、DDMSのファイルエクスプローラで取り出して見ればOK
あとはググッてねん。
ちなみに停止の^Cで、シェルごとなぜか抜けてしまうので、PCのシェル(コマンドライン)上で
% adb -s emulator-5554 shell tcpdump -s 0 -w /mnt/sdcard/capture.cap port 80 and host jp-z.jpとした方が良いかも知れん。
実機だとpermission deniedになる。うーん、rootな端末もあった方が良いのかも。
次のエントリ: シェルの起動 [Android]
2013 : 01 02 03 04 05 06 07 08 09 10 11 12
2012 : 01 02 03 04 05 06 07 08 09 10 11 12
2011 : 01 02 03 04 05 06 07 08 09 10 11 12
2010 : 01 02 03 04 05 06 07 08 09 10 11 12
2009 : 01 02 03 04 05 06 07 08 09 10 11 12
2008 : 01 02 03 04 05 06 07 08 09 10 11 12
2007 : 01 02 03 04 05 06 07 08 09 10 11 12
2006 : 01 02 03 04 05 06 07 08 09 10 11 12
2005 : 01 02 03 04 05 06 07 08 09 10 11 12
2004 : 01 02 03 04 05 06 07 08 09 10 11 12
最終更新時間: 2013-05-02 16:12