抓包前準(zhǔn)備
原料
1.預(yù)抓包的App一個(我們以app抓包為例)
2.已配置android sdk
3.分析軟件Wireshark(Windows版)
4.抓包命令:tcpdump
5.模擬器或真機(jī)(以模擬器為例,真機(jī)需root)
抓包準(zhǔn)備
首先我們先配置下環(huán)境變量
1.先來個ANDROID_HOME:SDK的路徑,類似于JAVA_HOME。(一勞永逸,以后安裝到別的路徑,改變一下HOME路徑就行)

2.把sdk路徑下的platfrom-tools和tools添加到環(huán)境變量

配置好就可以用adb命令了

3.安裝我們的原料app(以實際要抓的app為主)。為防止侵權(quán),這里我就隨便抓取手機(jī)上的數(shù)據(jù)包。
4.打開命令行,執(zhí)行adb shell,進(jìn)入android的shell環(huán)境,執(zhí)行su切換到root用戶。

開抓
1.執(zhí)行tcpdump命令
tcpdump可以將網(wǎng)絡(luò)中傳送的數(shù)據(jù)包完全截獲下來提供分析。
tcpdump -i any -p -n -s 0 -w /sdcard/capture.pcap
//或
/data/local/tcpdump -i any -p -n -s 0 -w /sdcard/capture.pcap
以上命令將截獲的數(shù)據(jù)包保存到sdcard,capture.pcap抓取是數(shù)據(jù)包,pcap為Wireshark分析文件的后綴。

這時抓包就開始了,在手機(jī)上刷新幾下要抓取數(shù)據(jù)的app。
抓完之后按ctrl+c停止抓包

2.將抓取的數(shù)據(jù)導(dǎo)出到電腦上(從sdcard導(dǎo)出到電腦上分析)
退出android shell環(huán)境(命令行輸入兩次exit),回到Windows環(huán)境。

接著執(zhí)行
adb pull /sdcard/capture.pcap d:/capture.pcap
導(dǎo)出剛才抓到的文件到電腦d盤。(如果導(dǎo)出失敗,自己手動把抓包數(shù)據(jù)復(fù)制到電腦上)

或者通過DDMS導(dǎo)出到電腦

3.Wireshark打開剛才獲取到的.pcap文件
過濾出http

點(diǎn)擊某一個抓到的http包,可以查看它的詳細(xì)信息(自己判斷一下可能是哪個域名)

我們可以看到是get請求

復(fù)制出來去請求一下(右鍵->復(fù)制->值)

去瀏覽器中請求

再結(jié)合app,看看是哪個界面的內(nèi)容
4.新建個文本文件,保存抓到的借口。例如:

看看請求出來ip地址,順著ip找出所有的api借口

54開頭的就是我要抓的app。