一、抓包使用場景
在開發(fā)過程中畦幢,通常我們會遇到系列問題:
1、在與后臺聯(lián)調(diào)的過程中不斷的下斷點或者輸出 log 缆蝉,以查看給后臺的參數(shù)是否正確宇葱,后臺返回給我們的結(jié)果是否有誤。打斷點耗時刊头,大量輸出 log 是代碼不夠整潔黍瞧。
2、在我們沒有修改代碼的情況下出現(xiàn)問題原杂,想找出是后臺的鍋還是我們的鍋印颤。
二、抓包軟件
抓包軟件有很多比如: wireshark穿肄、Charles年局、Fiddler 等。
本文以 Charles 為例咸产。
三矢否、如何在iPhone上抓包
- 3.1 在 Mac 上安裝抓包軟件 Charles
-
3.2 在電腦上打開軟件,并在手機上設(shè)置 HTTP 代理
點擊無線局域網(wǎng)后面的詳情脑溢,拉到最后面僵朗,找到 HTTP 代理,點擊配置代理,選擇手動验庙,并填寫 服務(wù)器地址(你的電腦 IP 地址)顶吮,端口(默認 8888)
-
3.3 填寫完成后并保存后,隨便打開一個網(wǎng)址壶谒,電腦端應(yīng)該后彈出提示云矫,請點擊 Allow。
此時應(yīng)該已經(jīng)可以看到手機發(fā)出的請求了汗菜。但是同時你會發(fā)現(xiàn),很多請求前面有個小鎖挑社,我們無法查看請求信息陨界。這是因為這些請求是 HTTPS 請求。下面我們來講怎么進行 HTTPS 抓包痛阻。
四菌瘪、HTTPS 抓包
- 4.1 安裝證書
在 Charles 的菜單欄點擊 help => SSL Proxying => Install Charles Root Certificate
在添加證書的彈窗中點擊 “添加”,此時證書被添加到“鑰匙串”阱当,但是還沒有結(jié)束俏扩,因為證書默認是不信任狀態(tài),我們還要把證書改成信任狀態(tài)弊添。
在鑰匙串中搜索 “ Charles ”找到證書录淡,雙擊證書,并選擇 始終信任
- 4.2 在iPhone上安裝證書
- 4.2.1 在mac上保持 Charles 打開狀態(tài)油坝,iPhone 和 Mac處于同一網(wǎng)絡(luò)中嫉戚。在iPhone 的 Safari 中打開如下網(wǎng)址:
- 4.2.2 此時會彈出一個彈窗詢問師傅允許添加描述文件,點擊允許澈圈,并安裝證書彬檀。
- 4.2.3 在 iPhone 上信任證書
設(shè)置 = > 關(guān)于本機 => 證書信任設(shè)置 =>信任
圖示如下:
- 4.3 SSL 代理設(shè)置
Charles 菜單欄 => Proxy => SSL Proxying Settings =>add 添加主機和端口。
圖示如下瞬女,以微博為例:
添加主機和端口
不出意外的話你應(yīng)該可以看到微博的接口數(shù)據(jù)了窍帝,大功告成。
五诽偷、抓指定接口數(shù)據(jù)
抓包你已經(jīng)學(xué)會了坤学,但是有時候我們會發(fā)現(xiàn)我們的手機和電腦無時無刻不在發(fā)送和接受數(shù)據(jù),造成 Charles 的導(dǎo)航欄很亂渤刃,影響觀感拥峦。只想抓取我們想要的接口的數(shù)據(jù),解決方案如下:
- 5.1 過濾
Charles 菜單欄 => Proxy => Recoding Settings =>Include =>add (添加相關(guān)信息卖子,支持通配符)略号。
比如我們只想抓微博的數(shù)據(jù),則填寫如下規(guī)則
規(guī)則生效后的效果:只有微博的借口數(shù)據(jù)。
(大多數(shù)軟件可能有多個服務(wù)器玄柠,請根據(jù)實際情況填寫規(guī)則)