什么是抓包?
抓包(packet capture)就是將網(wǎng)絡(luò)傳輸發(fā)送與接受的數(shù)據(jù)包進(jìn)行截獲、重發(fā)、編輯、轉(zhuǎn)存,也用來檢查網(wǎng)絡(luò)安全,也經(jīng)常進(jìn)行數(shù)據(jù)截取
所以,抓包的目的是?
- 分析數(shù)據(jù)傳輸協(xié)議
- 定位網(wǎng)絡(luò)協(xié)議的問題
- 從數(shù)據(jù)包中獲取想要的信息
- 將截取到的數(shù)據(jù)包進(jìn)行修改,偽造,重發(fā)
抓包的重要性
網(wǎng)絡(luò)抓包,是Android應(yīng)用逆向分析的重中之重,很多時候我們拿到一個APP,不知道從何入手分析,往往是從抓包開始,先弄清楚他與服務(wù)器通信的內(nèi)容,如果一目了然,我們完全可以照搬,自行寫一個程序來模擬,如果有一些加密字段和隨機(jī)字段,也不用擔(dān)心,我們可以從抓包中了解到一些關(guān)鍵的URL和session之類的信息,然后再反編譯分析代碼的時候,這些字符串可以幫助我們更快的定位關(guān)鍵代碼所在之處。
抓包工具有很多,我采用的是Android studio自帶的 Profiler
我今天就著重講一下
如何使用Android Studio Profiler 抓包
我寫了一個demo

image.png
一. 我們運(yùn)行到手機(jī)上,并點(diǎn)擊下方工具欄中的Profiler

image.png
二.選擇設(shè)備及應(yīng)用,并點(diǎn)擊NetWork

image.png
三.抓取數(shù)據(jù)

image.png

image.png
就抓取到數(shù)據(jù)了

image.png
注意
可能會出現(xiàn),使用profiler查看返回的json時,會返現(xiàn)里面的漢字都是亂碼現(xiàn)象,解決辦法:
- android studio -> help ->Edit Custom VM options
- 在這里加一個 JVM 啟動參數(shù)
- -Dfile.encoding=UTF-8
- 重啟studio就沒亂碼了
不過一個小問題,我運(yùn)行到模擬器上沒用,但運(yùn)行到手機(jī)上就可以進(jìn)行抓包了,如果大家有解決辦法,可以在評論區(qū)告訴我!
今天的分享就到這里了!