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