簡介
主要介紹如何利用tcpdump抓取andorid手機(jī)上網(wǎng)絡(luò)數(shù)據(jù)請求,利用Wireshark可以清晰的查看到網(wǎng)絡(luò)請求的各個過程包括三次握手憔涉,但相對來說使用Fiddler進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)抓包和展現(xiàn)更方便荠锭,優(yōu)點包括:
(1)無需root
(2)對Android和Iphone同樣適用
(3)操作更簡單方便(第一次安裝配置赫编,第二次只需設(shè)置代理即可)
(4)數(shù)據(jù)包的查看更清晰易懂
(5) 可以查看https請求
建議使用Fillder尿褪,具體可見:利用Fiddler進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)抓包。
準(zhǔn)備
1潘拨、下載并安裝tcpdump
2蒋畜、啟動并運行tcpdump
3、利用wireshark分析數(shù)據(jù)
-
下載并安裝tcpdump
安裝tcpdump啄栓,命令行模式依次執(zhí)行:
1.adb root 2.adb push C:\Users\Trinea\Desktop\tcpdump /data/local/tcpdump 3.adb shell chmod 6755 /data/local/tcpdump
其中adb push的第一個參數(shù)為本地tcpdump的路徑娄帖。
-
啟動并運行tcpdump
命令行模式運行下面命令:--adb shell /data/local/tcpdump -n -s 0
這時在手機(jī)上做任何涉及到網(wǎng)絡(luò)的操作都會在屏幕上打印出來,可以通過ctrl+c停止昙楚。
由于命令行最大輸出的限制及屏幕不斷滾動近速,查看不方便,我們可以將抓取的網(wǎng)絡(luò)包保存到sd卡堪旧,如下命令:--adb shell /data/local/tcpdump -i any -p -s 0 -w /sdcard/netCapture.pcap
依然通過ctrl+c停止削葱,將文件拉取到本地PC
--adb pull /sdcard/netCapture.pcap d:\\
通過–help我們發(fā)現(xiàn)tcpdump支持如下參數(shù):
tcpdump [-aAdDeflLnNOpqRStuUvxX] [-c count] [ -C file_size ]
[ -E algo:secret ] [ -F file ] [ -i interface ] [ -M secret ]
[ -r file ] [ -s snaplen ] [ -T type ] [ -w file ]
[ -W filecount ] [ -y datalinktype ] [ -Z user ]
[ expression ]
其中-c表示監(jiān)控的請求個數(shù);-C表示存儲文件的最大大衅槌 佩耳;
-i表示監(jiān)控的類型;-s表示抓取的網(wǎng)絡(luò)請求返回的大小谭跨,0表示抓取整個網(wǎng)絡(luò)包干厚;-w表示抓取的包保存的文件路徑,此時不會在標(biāo)準(zhǔn)輸出打印螃宙。并且可以添加port參數(shù)表示端口蛮瞄。
- 利用wireshark分析數(shù)據(jù)
wireshark下載地址,中文版地址:http://www.onlinedown.net/softdown/2883_2.htm谆扎,英文版地址(需要翻墻):http://www.wireshark.org/download.html
用wireshark打開capture.pcap即可分析log
關(guān)于wireshark具體可見:http://www.cnblogs.com/TankXiao/archive/2012/10/10/2711777.html