Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android下使用TCPDUMP實現數據抓包教程

Android下使用TCPDUMP實現數據抓包教程

編輯:關於Android編程

如果想分析Android下 某個APP的網絡數據交互,需要在Android手機上抓包,最常用的抓包工具非tcpdump莫屬,用tcpdump生成Wireshark識別的 pcap文件,然後將pcap文件下載到電腦上,用電腦上的Wireshark加載pcap文件,通過Wireshark分析tcpdump抓取的數據。

一、安裝tcpdump

為Android手機安裝tcpdump,首先必須將Android手機root,現在市面上常用的root工具都很傻瓜很強大,推薦使用root精靈,將手機root以後,我們就可以為手機安裝tcpdump了。

先下載tcpdump文件, 下載地址:http://xiazai.jb51.net/201502/other/tcpdump.rar
復制代碼 代碼如下:
adb push tcpdump /sdcard/ 
adb Shell 
su 
cat /sdcard/tcpdump > /system/bin/tcpdump 

上一條命令如果提示沒有權限,接著執行如下命令嘗試給 /system 目錄增加寫權限
復制代碼 代碼如下:
su
mount

在mount結果中找到包含/system的一行,類似如下:
復制代碼 代碼如下:
/dev/block/platform/msm_sdcc.1/by-name/system /system ext4 ro,seclabel,relatime,data=ordered 0 0 

去處/system前半行,即/dev/block/platform/msm_sdcc.1/by-name/system,執行如下命令:
復制代碼 代碼如下:
mount -o remount /dev/block/platform/msm_sdcc.1/by-name/system /system 

這個時候/system就擁有寫權限了,繼續執行:
復制代碼 代碼如下:
cat /sdcard/tcpdump > /system/bin/tcpdump 
chmod 777 /system/bin/tcpdump 

到此為止,tcpdump就成功安裝到了/system/bin/目錄下,接著用如下命令還是抓包

二、使用tcpdump抓包
復制代碼 代碼如下:
tcpdump -i wlan0 -s 0 -w /sdcard/1.pcap 

可以結束時使用Ctrl+c快捷鍵讓tcpdump結束抓包,抓到數據會存到/sdcard/1.pcap文件內

重新打開一個終端(Terminal),執行如下命令
復制代碼 代碼如下:
adb pull /sdcard/1.pcap . 

1.pcap文件被下載到了終端上的當前目錄下

三、安裝Wireshark並分析pcap文件

從Wireshark官網https://www.wireshark.org/下 載適合你系統的Wireshark,然後點擊你下載後的Wireshark安裝包安裝好Wireshark,找到剛剛下載好的1.pcap文件,雙擊 1.pcap文件,1.pcap文件會自動被Wireshark打開。在Wireshark的Filter內輸入如下一些過濾條件,可以更加方便地分析數 據來源。
復制代碼 代碼如下:
tcp.port == 80 //過濾來自80端口的TCP數據 
udp.port == 12345 //過濾來自12345端口的UDP數據 
ip.src == 192.168.0.1 //過濾源IP為192.168.0.1的數據 
ip.dst == 192.168.0.1 //過目的IP為192.168.0.1的數據 

以上過濾條件可以用and跟or相互組合,例如
復制代碼 代碼如下:
tcp.port == 80 and ip.src == 192.168.0.1 //過濾來自80端口,源IP為192.168.0.1的TCP數
udp.port == 12345 or ip.dst == 192.168.0.1 //過濾來自12345端口的UDP數據,或者目的IP為192.168.0.1的數據

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved