Android抓包方法(二) 之Tcpdump命令+Wireshark

出處: https://www.cnblogs.com/findyou/p/3491035.html

前言

做前端測試,基本要求會抓包,會分析請求數據包,查看接口是否調用正確,數據返回是否正確,問題產生是定位根本原因等。學會抓包分析是測試人員必備的功課之一。最先想的基本上都會是Fiddler代理抓包,但Fiddler有局限,如果APP不支持代理呢?比如郵箱是Imap協議呢?好吧,我們換個思路,安卓是基於linux,那麼linux的抓包工具命令是不是也能試用呢?本文主要對tcpdump進行抓包舉例。

 

轉載請註明出處
作者:Findyou
地址:http://www.cnblogs.com/findyou/p/3491035.html

 

 

[目錄]

1、抓包原理

2、方法優劣

3、安裝準備

4、工具安裝

5、實例

1、抓包原理

tcpdump(需Root用戶運行) 攔截和顯示發送或收到過網絡連接到該機器的TCP/IP和其他數據包。簡單說就監控手機進出網絡數據。

不明覺歷啊….

官方網站:  http://www.tcpdump.org (Android手機適用的另處下載)

 

2、方法優劣

[優點]:
1).手機數據包無遺漏

 

[缺點] :
1).基本只能針對Android手機
2).不能實時抓包
3).電腦需要安裝Android SDK
4).電腦需要安裝Wireshark
5).測試手機需要獲取root權限
6).測試手機需要安裝tcpdump軟件

 

3、安裝準備

1).手機獲得root權限

a.目前Root工具很多,隨便下個操作一下即可,都傻瓜式的。比如什麼刷機精靈、360一鍵ROOT、百度等等

 

2).電腦安裝Android SDK  

a.下載地址  http://developer.android.com/sdk/index.html

b.解壓下載的文件,再配置環境變量即可,具體請問谷哥或度娘,不再另做說明。

 

3).手機安裝tcpdump軟件  

a.下載地址  http://www.strazzere.com/android/tcpdump

4、工具安裝

1).Android手機USB連接電腦,打開Windows命令提示符窗口;

2).檢查手機連接是否正常;

adb devices    #檢查手機是否已連接

*執行記錄*:

注1:已檢查到手機連接正常

問題1:adb devices不可用       解決:檢查環境變量是否配置正確。

問題2:檢不到手機為空 解決:1、驅動是否安裝;2、如有裝騰訊手機管家,把tadb.exe進程給卡擦掉。

 

3).adb shell 進入手機修改 /data/local/ 目錄的權限為所有用戶可寫;

adb shell    #登入手機
su           #切換Root用戶
chmod 777 /data/local/     #修改目錄權限,修改後Ctrl+C退出adb shell

4).將tcpdump程序copy至android手機;

adb push E:\tcpdump /data/local/   #tcpdump文件存放在E盤根目錄,/data/local/為手機目標路徑

 

5).進入手機修改tcpdump權限,增加可執行權限;

adb shell    #登入手機
su           #切換Root用戶
chmod 777 /data/local/tcpdump     #增加可執行權限

*執行記錄*(第3步至第5步)

注:/data/local/為了安全起見,建議把權限改回原先權限

5、實例

ThinkDrive抓包實例

二期測試時,APP已不支持代理,抓不到數據包,測試無法準確知道是服務器問題還是APP問題,此處省略N字…以表對研發的詛咒。開玩笑的,大家目的都是為了版本質量提高,更加完善。下文以登錄為例,進行演示。

 

1).連接手機,切換Root用戶,執行抓包命令

adb shell    #登入手機
su           #切換Root用戶
/data/local/tcpdump -p -vv -s 0 -w /sdcard/ThinkDrive.pcap    #執行抓包命令,結果保存到SD卡ThinkDrive.pcap文件中

 

2).APP操作,生成請求數據

注:如果操作完成,不需要再抓包,則按Ctrl+C中斷抓包退出

 

3). 導出抓包結果至電腦

adb pull /sdcard/ThinkDrive.pcap E:/   #前為手機中文件及存放路徑,後為電腦E盤根目錄

 

4).  使用Wireshark等工具分析抓包文件ThinkDrive.pcap

注: Wireshark工具使用請Google或百度

 

未經允許不得轉載:GoMCU » Android抓包方法(二) 之Tcpdump命令+Wireshark