一、前言
對(duì)于移動(dòng)開(kāi)發(fā)和測(cè)試人員來(lái)說(shuō),抓包是日常工作中必不可少的一個(gè)環(huán)節(jié)。只有抓取到客戶端與服務(wù)器之間傳輸?shù)臄?shù)據(jù),我們才能準(zhǔn)確定位和解決各種網(wǎng)絡(luò)請(qǐng)求方面的問(wèn)題。今天給大家推薦一款功能強(qiáng)大,操作簡(jiǎn)單的iOS平臺(tái)抓包工具——【Stream HTTP抓包工具】,目前限時(shí)免費(fèi),感興趣的朋友千萬(wàn)不要錯(cuò)過(guò)!
二、主要功能
Stream是一款專為iOS平臺(tái)開(kāi)發(fā)的HTTP/HTTPS抓包工具,主要功能包括:
- 抓取 HTTP&HTTPS 請(qǐng)求,其中 HTTPS 請(qǐng)求需要配置 CA 證書。
- 訪問(wèn)抓包歷史,預(yù)覽請(qǐng)求體 (request body) 以及響應(yīng)體 (response body),目前支持文本/JSON/文件/表單。
- 域名過(guò)濾: 只攔截您所需要的流量,不攔截其他流量,避免干擾其他應(yīng)用。
- 請(qǐng)求重寫: 支持重定向,支持替換請(qǐng)求或響應(yīng)報(bào)文,也可以根據(jù)增則修改請(qǐng)求或或響應(yīng)。
- 請(qǐng)求屏蔽: 支持根據(jù)URL屏蔽請(qǐng)求,不讓請(qǐng)求發(fā)送到服務(wù)器。
- 腳本: 支持編寫JavaScript腳本來(lái)處理請(qǐng)求或響應(yīng)。
- 搜索:根據(jù)關(guān)鍵詞響應(yīng)類型多種條件搜索請(qǐng)求
三、準(zhǔn)備工作
1. 首先點(diǎn)擊下方網(wǎng)址下載并安裝Stream 下載地址:https://apps.apple.com/cn/app/id6483685232
或掃描下方二維碼進(jìn)行下載
2. 打開(kāi)Stream,點(diǎn)擊"啟用HTTPS代理",然后點(diǎn)擊"下載根證書",如下圖
3. 在彈出的Safari頁(yè)面會(huì)彈出下載一個(gè)描述文件,點(diǎn)擊"允許",如下圖
4. 打開(kāi)iOS系統(tǒng)設(shè)置,點(diǎn)擊"已下載描述文件",再點(diǎn)擊"安裝",輸入鎖屏密碼后確認(rèn)安裝,如下圖
5. 安裝完成后,回到系統(tǒng)設(shè)置,點(diǎn)擊"通用"-"關(guān)于本機(jī)",拉到最下面點(diǎn)擊"證書信任設(shè)置",如下圖
6. 找到"Stream Generated Certificate",將其啟用,如下圖,這一步是為了讓iOS信任Stream的根證書,否則HTTPS抓包會(huì)失敗。
7.重新回到Stream,打開(kāi)“啟用HPPS代理”開(kāi)關(guān)
四、開(kāi)始抓包
1. 完成準(zhǔn)備工作后,回到Stream的主界面,點(diǎn)擊"開(kāi)始抓包",如下圖
2. 如果是第一次使用,會(huì)提示需要添加VPN配置,點(diǎn)擊"允許"并驗(yàn)證,如下圖
3. 開(kāi)始抓包后,你可以訪問(wèn)任何網(wǎng)站或者打開(kāi)任何App,Stream會(huì)自動(dòng)記錄所有的網(wǎng)絡(luò)請(qǐng)求,如下圖
4. 要停止抓包,點(diǎn)擊右下角的紅色方塊即可,如下圖
五、分析數(shù)據(jù)
- 停止抓包后,可以在Stream的請(qǐng)求列表中查看每一條網(wǎng)絡(luò)請(qǐng)求的詳細(xì)信息
- 點(diǎn)擊請(qǐng)求,可以查看該請(qǐng)求的請(qǐng)求頭、請(qǐng)求體、響應(yīng)頭、響應(yīng)體等
六、請(qǐng)求重寫
Stream提供了強(qiáng)大的請(qǐng)求重寫功能,可以通過(guò)自定義規(guī)則來(lái)動(dòng)態(tài)修改HTTP/HTTPS請(qǐng)求和響應(yīng)的內(nèi)容。目前Stream支持以下5種重寫類型:
- 替換請(qǐng)求:完全替換原始請(qǐng)求,包括請(qǐng)求行、請(qǐng)求頭、請(qǐng)求體
- 替換響應(yīng):完全替換原始響應(yīng),包括狀態(tài)行、響應(yīng)頭、響應(yīng)體
- 修改請(qǐng)求:對(duì)請(qǐng)求進(jìn)行局部修改,如增刪改請(qǐng)求參數(shù)、請(qǐng)求頭等
- 修改響應(yīng):對(duì)響應(yīng)進(jìn)行局部修改,如修改響應(yīng)頭、響應(yīng)體等
- 重定向:將請(qǐng)求重定向到另一個(gè)URL
1、創(chuàng)建規(guī)則
你可以通過(guò)以下兩種方式來(lái)創(chuàng)建重寫規(guī)則:
- 在Stream主界面,點(diǎn)擊"設(shè)置"-"請(qǐng)求重寫",然后點(diǎn)擊"+"按鈕新建一個(gè)規(guī)則
- 在抓包詳情頁(yè)面,點(diǎn)擊消息體右上角的重寫圖標(biāo),可以快速創(chuàng)建一個(gè)針對(duì)當(dāng)前請(qǐng)求的重寫規(guī)則
創(chuàng)建重寫規(guī)則
2、替換響應(yīng)
此重寫行為表示整體替換響應(yīng)數(shù)據(jù),支持替換的部分:狀態(tài)碼方法、響應(yīng)頭、響應(yīng)體。
3、修改請(qǐng)求
假設(shè)我們要修改如下URL中name參數(shù)的值,但要保留age參數(shù)不變:
https://example.com?name=123&age=32
可以創(chuàng)建一個(gè)修改請(qǐng)求的重寫規(guī)則,將name參數(shù)的值替換為345:修改請(qǐng)求參數(shù)如果參數(shù)的key不確定,也可以用正則表達(dá)式來(lái)匹配和替換:正則替換請(qǐng)求參數(shù)你還可以通過(guò)修改請(qǐng)求的重寫規(guī)則來(lái)實(shí)現(xiàn)刪除、新增請(qǐng)求參數(shù),以及修改請(qǐng)求頭、請(qǐng)求體等。Stream支持為一個(gè)請(qǐng)求創(chuàng)建多個(gè)重寫規(guī)則,并按照規(guī)則列表中的順序依次執(zhí)行。
七、寫在最后
以上就是Stream HTTP抓包工具的基本使用流程,整個(gè)過(guò)程不需要越獄,也不需要USB連接電腦,非常便捷。Stream的功能遠(yuǎn)不止于此,它還支持請(qǐng)求重寫、自定義腳本等高級(jí)功能,感興趣的朋友可以在使用中繼續(xù)探索。目前Stream限時(shí)免費(fèi),建議大家趕緊下載體驗(yàn)。
希望Stream能夠成為你開(kāi)發(fā)和調(diào)試工作中的好幫手!