抓包工具在APP開發(fā)過程中使用非常頻繁,對開發(fā)者理解網(wǎng)絡(luò)傳輸原理以及分析定位網(wǎng)絡(luò)方面的問題非常有幫助。
筆者一直比較喜歡Wireshark,但由于最近的項目是短連接項目,Wireshark太過重量。所以筆者選擇Charles進(jìn)行App的抓包,配置也更加簡單。
1. HTTP抓包配置
1.1 查看當(dāng)前wifi的IP地址
1.2 設(shè)置手機(jī)HTTP代理
iOS手機(jī),連接與電腦同一個WiFi。然后點擊“設(shè)置->無線局域網(wǎng)->連接的WiFi”,設(shè)置HTTP代理。
進(jìn)入wifi的配置設(shè)置。
增加代理信息并保存。
服務(wù)器為電腦IP地址:如192.168.0.102 端口:8888
端口默認(rèn)為8888,設(shè)置的IP要與電腦的IP一樣
配置代理之后,電腦必須打開Charles才能上網(wǎng)。所以抓包結(jié)束后,要將配置代理關(guān)閉。
1.3 電腦上打開Charles進(jìn)行HTTP抓包
打開Charles。
手機(jī)配置成功后會彈出提示,點擊“Allow”即可。
此時,HTTP的網(wǎng)絡(luò)包已經(jīng)可以查看,但是HTTPS的依舊不可以。
2. HTTPS抓包配置
想要HTTPS抓包,首先要按照順序完成上面的HTTP的配置。
2.1 手機(jī)配置加密證書
點擊上面選項后,Charles會彈出提示。
在手機(jī)Safari瀏覽器輸入地址 "chls.pro/ssl",出現(xiàn)證書安裝頁面,點擊安裝
點擊安裝。
對于iOS10之后的系統(tǒng)版本,需要進(jìn)行下面的操作——對根證書進(jìn)行信任操作。
2.2 Charles配置加密
開啟“SSL Proxying”
點擊“SSL Proxying Setting”,增加SSL攔截規(guī)則,像筆者比較懶,就如圖將所有443端口的請求都進(jìn)行了攔截。
不需要重啟Charles,此時開始,所有的HTTPS的請求也是可見的了。
3. 抓包之后一定要做到
抓包結(jié)束后一定要關(guān)閉wifi的代理配置,否則Charles關(guān)閉后,手機(jī)將無法用這個wifi上網(wǎng)。
最后,限于筆者經(jīng)驗水平有限,歡迎讀者就文中的觀點提出寶貴的建議和意見。如果想獲得更多的學(xué)習(xí)資源或者想和更多的技術(shù)愛好者一起交流,可以關(guān)注我的公眾號『全菜工程師小輝』后臺回復(fù)關(guān)鍵詞領(lǐng)取學(xué)習(xí)資料、進(jìn)入前后端技術(shù)交流群和程序員副業(yè)群。
本文摘自 :https://blog.51cto.com/u