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