Android流量分析tcpdump&wireshark

4587 ワード

アプリの競争はすでに白熱しており、自分のAndroidアプリケーションのトラフィックをコントロールすることで、ユーザーに良いユーザー体験を与えることができます.ユーザーにアンインストールしない理由を一つあげることができます.
Androidはどのように流量分析を行いますか?tcpdump&wiresharkという2つのツールを使えばいいです.1、android tcpdumpを携帯電話data/local経路下にプッシュ
C:\Users\autotest>adb push C:\Users\autotest\Desktop\tcpdump /data/local
1519 KB/s (2202152 bytes in 1.415s)

2、命令を実行する
126|root@:/data/local # tcpdump -p -s 0 -w /sdcard/001.pcap
tcpdump -p -s 0 -w /sdcard/001.pcap
tcpdump: listening on wlan0, link-type EN10MB (Ethernet), capture size 65535 bytes

コマンドの説明:
「-p」:disable promiscous mode(ハイブリッドモードを使用しない)「-s 0」:capture the entire packet(-sパラメータはパケットキャプチャ長を指定するために使用され、ここでは0を指定し、完全なパケットをキャプチャすることを意味する)「-w*.pcap」:write packets to a file(端末に直接表示せずに結果をpcapファイルに書き込む)
3、データを取り出す
C:\Users\autotest>adb pull /sdcard/001.pcap D:/001.pcap
955 KB/s (13704 bytes in 0.014s)

4、wireshark分析の導入
第1の領域は簡単なパケット情報を表示するために使用され、tcpdumpでパケットをキャプチャする場合、デフォルトではこのように表示されます.2番目の領域は選択したパケットの詳細を表示するために使用され、注意深く見るとTCP/IP 4層構造に従って表示され、1行目はデータリンク層の情報、2行目はネットワーク層情報(IPプロトコル)、3行目は伝送層情報(TCPプロトコル)、4行目はアプリケーション層情報(HTTPプロトコル)、各行を展開して具体的な内容を観察することができます.R 3領域は、このパケットの正体を表示するためのものである.
パラメータの詳細:
root@ # tcpdump -help tcpdump -help tcpdump version 4.5.1 libpcap version 1.5.2 Usage: tcpdump [-aAbdDefhHIJKlLnNOpqRStuUvxX] [ -B size ] [ -c count ] [ -C file_size ] [ -E algo:secret ] [ -F file ] [ -G seconds ] [ -i interface ] [ -j tstamptype ] [ -M secret ] [ -Q in|out|inout ] [ -r file ] [ -s snaplen ] [ -T type ] [ -V file ] [ -w file ] [ -W filecount ] [ -y datalinktype ] [ -z command ] [ -Z user ] [ expression ]
1、tcpdump    
  tcpdump [ -adeflnNOpqStvx ] [ -c    ] [ -F     ]
          [ -i      ] [ -r    ] [ -s snaplen ]
          [ -T    ] [ -w     ] [    ]
  tcpdump     
   -a                   ;
   -d                           ;
   -dd              c          ;
   -ddd                      ;
   -e                     ;
   -f        Internet            ;
   -l                ;
    -n               ;
    -t                 ;
    -v               ,   ip      ttl        ;
    -vv             ;
    -c               ,tcpdump    ;
    -F                ,        ;
    -i             ;
    -r              (       -w    );
    -w             ,         ;
    -T                       ,      rpc (      ) snmp(        ;)

2、tcpdumpパラメータ転自http://www.cnblogs.com/maifengqiang/p/3863168.html
1つ目は、主にhost、net、port、例えばhost 210.27.48.2を含むタイプのキーワードであり、210.27.48.2がホストであることを示し、net 202.0.0が202.0.0.0がネットワークアドレスであることを示し、port 23がポート番号23であることを示す.タイプが指定されていない場合、デフォルトのタイプはhostです.2つ目は、主にsrc、dst、dst or src、dst and srcを含む伝送方向を決定するキーワードであり、これらのキーワードは伝送の方向を示す.例えば、src 210.27.48.2は、ipパケット内のソースアドレスが210.27.48.2であることを示し、dst net 202.0.0.0は、ターゲットのネットワークアドレスが202.0.0.0であることを示す.方向キーが指定されていない場合は、デフォルトはsrc or dstキーです.3つ目はプロトコルのキーワードで、主にfddi、ip、arp、rarp、tcp、udpなどのタイプが含まれています.Fddiは、FDDI(分散ファイバデータインタフェースネットワーク)上の特定のネットワークプロトコルであることを示し、実際には「ether」の別名であり、fddiおよびetherは類似のソースアドレスおよび宛先アドレスを有するため、fddiプロトコルパケットをetherのパケットとして処理および分析することができる.他のいくつかのキーワードは、リスニングされたパケットのプロトコル内容を示すことです.プロトコルが指定されていない場合、tcpdumpはすべてのプロトコルのパケットをリスニングします.この3つのタイプのキーワードに加えて、他の重要なキーワードは以下の通りです:gateway、broadcast、less、greater、そして3つの論理演算があり、非演算は「not」!'、演算とは‘and’,’&&;あるいは演算は「or」、「|」;これらのキーワードは、人々のニーズを満たすために強力な組み合わせ条件を構成することができます.
以下にいくつかの例を示す:Aはすべての210.27.48.1のホストが受信し、発行したすべてのパケットをキャプチャしたい:#tcpdump host 210.27.48.1 Bはホスト210.27.48.1とホスト210.27.48.2または210.27.48.3の通信をキャプチャしたい.使用コマンド:(コマンドラインにカッコを適用する場合は、必ず#tcpdump host 210.27.48.1 and/(210.27.48.2 or 210.27.48.3/)Cホスト210.27.48.1ホスト210.27.48.1とホスト210.27.48.2以外のすべてのホストと通信するipパケットを取得したい場合は、コマンド:#tcpdump ip host 210.27.48.1 and!210.27.48.2 Dホスト210.27.48.1が受信または発行するtelnetパケットを取得するには、次のコマンドを使用します:#tcpdump tcp port 23 host 210.27.48.1
3、wireshark転自http://www.cnblogs.com/TankXiao/archive/2012/10/10/2711777.html
4、Androidはどのように流量分析しますか?具体的な操作4.1、tcpdump tcpdump-i any-p-vv-s 0-w/sdcard/dump.cap 4.2、adb pull adb pull/sdcard/dump.cap D:\dump.Cap 4.3、wiresharkはwiresharkでD:dumpを表示する.Cap 4.4、詳細分析wireshark分析により、より詳細な分析が必要であればdump.Capはwiresharkからcsvファイルにエクスポートし、自分で小さなプログラム分析を書きます.
ある時tcpdumpで手に入れたcapファイルは分裂して、一連の例えば1.cap 2.cap 3.cap 4.cap ……
命令で彼らをつなぎ合わせることも考えられる.
mergecap -w output.pcap input1.cap input2.cap input3.cap
5、まとめ:
Androidトラフィック分析はAndroidアプリケーションの後期最適化において重要な面であり、tcpdump&wiresharkをうまく使えばアプリケーションのトラフィックをコントロールすることができる.
参考記事https://blog.csdn.net/vshuang/article/details/40679179 https://blog.csdn.net/xlyrh/article/details/50895921