Fiddler收費沒得用?這款抓包神器 Github star 過萬,一個字:香

關於抓包,那是測試人員必備技能之一了,通常我們會通過一些抓包工具來輔助我們測試、定位bug。

我最早接觸並使用的就是 fiddler ,不過目前最新版本已經要開始付費了,以前很老的那版我也不愛用了,這可咋整?

還好找到了另一款開源抓包神器whistle,目前 GitHub 上 1W+ 的 star,不可謂不強。不敢獨自享用,趕緊拿來分享。

一、whistle 簡介

whistle(讀音[ˈwɪsəl],拼音[wēisǒu]),是基於Node實現的跨平臺web調試代理工具。主要用於查看、修改HTTP、HTTPS、Websocket的請求、響應,也可以作爲HTTP代理服務器使用。

不同於Fiddler通過斷點修改請求響應的方式,whistle採用的是類似配置系統hosts的方式,一切操作都可以通過配置實現,支持域名、路徑、正則表達式、通配符、通配路徑等多種匹配方式。

目前我主要使用它來抓包手機APP,可以查看接口請求,以及做一些接口響應的替換等。

二、安裝

1. 安裝 node

whistle基於node,所以要先安裝node環境。直接進入node官網,安裝最新版即可(我的是win10系統)。
https://nodejs.org/

安裝成功後,在cmd窗口執行node -v就可以看到安裝好的node版本。

2. 安裝 whistle

有了node環境,就可以直接使用npm來安裝whistle

npm install -g whistle

因爲npm默認鏡像是在國外,這裏推薦大家使用taobao的鏡像安裝:

npm install whistle -g --registry=https://registry.npm.taobao.org

等待安裝完成即可。接着可以執行w2 help,就可以看到whistle的幫助信息。

3. 安裝根證書

點擊工具欄中的 https ,再點擊圖片就可以下載證書了。

根據圖示進行證書安裝即可。

三、使用

1. 啓動

執行命令w2 start即可啓動。

默認的端口是8899,我們也可以加上-p指定端口來啓動。

啓動完成,就可以通過控制檯輸出的地址打開web界面了,就是文首圖示裏的界面。

總體來說界面還是很友好的,有過抓包工具使用的童鞋基本上可以很快上手。

在真正使用之前,別忘記打開對應的代理,比如我現在抓電腦瀏覽器裏網頁的請求,就要打開電腦的代理設置。

可能會存在8899端口訪問不了的情況,可以去檢查下防火牆設置,添加個白名單或者關閉防火牆(剛踩完的坑o(╥﹏╥)o)。

2. 停止

執行命令w2 stop

3. 重啓

執行命令w2 restart

4. 查看 whistle 狀態

執行命令w2 status可以查看 whistle 實例的狀態。

三、手機抓包

1. 配置代理

手機端配置代理,需要與 whistle 端處於一個WiFi下,對WiFi進行對應的配置即可。

2. 安裝證書

手機可以掃碼安裝,或者直接瀏覽器輸入rootca.pro即可以下載證書。iOS安裝根證書需要到連接遠程服務器進行驗證,需要暫時把Https攔截功能關掉。

ios安裝完證書後記得要打開證書信任設置,路徑:設置-通用-關於本機-證書信任設置

四、替換響應

這裏提一下替換響應的操作。

有時候我需要模擬接口的異常返回,來測試下APP端上出現的提示是否足夠友好,那麼我就可以把接口的響應內容替換成我的目標錯誤碼即可。

在 whistle 中操作非常簡單,通過簡單的配置即可實現。首先在 rules 中配置一個規則,這裏有一個默認的規則,我直接在這裏配置,當然你也可以新建規則。

前面的url就是我要替換的目標地址,後面的file://{vcode_resp_500}就是我要替換上去的內容,這裏的vcode_resp_500是我的文件名。

在 values 中,我新建了一個文件名字叫vcode_resp_500,裏面貼上了我要的返回內容就行了。

五、結語

這裏只是 whistle 的一個簡單分享,具體更多的內容體驗操作大家有興趣可以學習下官方文檔:http://wproxy.org/whistle/webui/

也歡迎使用的小夥伴互相交流。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章