為了解phonegap及一些android應用的webview使用情況,查找了一些資料,總結如下:
主要操作流程如下:
使用tcpdump工具,抓tcp資料包。将資料包上傳到pc,通過wireshark檢視資料包。
如果要從實體裝置(手機)上抓包,要確定擁有該裝置的root權限。本文是用android虛拟裝置進行實驗。
1、下載下傳tcpdump
tcpdump下載下傳位址http://www.strazzere.com/android/tcpdump
2、啟動android虛拟機或手機,啟動成功後,打開cmd,切換至adb.exe所在的目錄
筆者的adb.exe所在目錄為:e:\android\android-sdk\platform-tools\adb.exe
3、從pc上傳tcpdump檔案到手機的sd卡
1
<code>adb push e:\android\tcpdump</code><code>/data/local/tcpdump</code>
4、設定tcpdump檔案的權限
<code>adb shell</code><code>chmod</code>
<code>6755</code><code>/data/local/tcpdump</code>
5、啟動監聽程式 并将監聽的資料包存放在/sdcard/capture.pcap
<code>adb shell</code><code>/data/local/tcpdump</code>
<code>-p -vv -s 0 -w</code><code>/sdcard/capture</code><code>.pcap </code>
6、取消監聽ctrl+c
7、下載下傳資料封包件(.pcap檔案擴充名)
<code>adb pull</code><code>/sdcard/capture</code><code>.pcap e:\android</code>
本文下載下傳到e盤android目錄
8、解包
得到的封包件是.pcap檔案擴充名的檔案。
官網下載下傳wireshark軟體:(免費開源)
http://www.wireshark.org/download.html
wireshark是一個免費開源的網絡協定包分析軟體,對于分析網絡協定有很重要的幫助,它不同于fiddler,不是通過代理實作的,能更加底層的抓取網卡上的資料包。
對于筆者,大多數情況隻需要分析http包,是以我們打開資料包後,進行一下過濾。