開源免費:基於Node實現的跨平臺web調試代理工具——whistle

介紹

whistle(讀音[ˈwɪsəl],拼音[wēisǒu])基於Node實現的跨平臺web調試代理工具,類似的工具有Windows平臺上的Fiddler,主要用於查看、修改HTTP、HTTPS、Websocket的請求、響應,也可以作為HTTP代理服務器使用,不同於Fiddler通過斷點修改請求響應的方式,whistle採用的是類似配置系統hosts的方式,一切操作都可以通過配置實現,支持域名、路徑、正則表達式、通配符、通配路徑等多種匹配方式,且可以通過Node模塊擴展功能:




開源免費:基於Node實現的跨平臺web調試代理工具——whistle



Github

打開Github後鍵入whistle關鍵字,第一個項目便是



開源免費:基於Node實現的跨平臺web調試代理工具——whistle



基本功能

  • 查看 HTTP、HTTPS、HTTP2、WebSocket、TCP 請求響應數據
  • 修改 HTTP、HTTPS、HTTP2、WebSocket、TCP 請求響應數據修改請求 url、方法、頭部、內容等修改響應狀態碼、頭部、內容,並支持本地替換等修改 WebSocket 和 TCP 收發的幀數據
  • 設置 hosts(支持 IPv6)、http-proxy、https-proxy、socks
  • 作為HTTP代理或反向代理
  • 集成常用的 web 調試工具,如 weinre 和 log 等
  • 支持用 Node 編寫插件擴展



  • 開源免費:基於Node實現的跨平臺web調試代理工具——whistle



    如若圖片不清晰可以到Github上或者文檔中查看

    whistle基本上覆蓋了所有抓包調試代理可以實現的功能,且所有操作都可以通過類似配置hosts的方式實現。

    傳統hosts的配置方式:

    <code># 普通模式127.0.0.1 xxx.xxx.xxx# 組合模式127.0.0.1 xxx.xxx.xxx xxx.xxx.qqq aaa.bbb.ccc /<code>

    傳統hosts配置方式為 ip pattern ... patternN,其中pattern只能為域名,ip為純ip不能帶端口

    whistle的配置方式不僅兼容上述傳統hosts的配置方式,也支持豐富的匹配模式及操作功能,具體如下:

    <code># 默認模式pattern operatorURI# 組合模式pattern operatorURI operatorURI2 operatorURIN# 如果pattern和operatorURI不同時為普通url,兩種位置可以調換operatorURI pattern# 組合模式operatorURI pattern pattern2 patternN/<code>

    其中:

    1、pattern 為匹配請求url的表達式,可以為:域名,路徑,正則及通配符等等多種匹配方式,具體內容參見:匹配模式

    2、operatorURI 為對應的操作,由操作協議+操作值組成:operatorURI = opProtocol://opValue opProtocol(操作協議) 對應某類操作,具體內容參見:協議列表opValue(操作值) 對應具體操作的參數值

    3、pattern 和 operatorURI 不同時為普通url時位置可以調換,且支持組合模式

    安裝啟動

    whistle安裝過程需要以下步驟(缺一不可):

    1. 安裝Node
    2. 安裝whistle
    3. 啟動whistle
    4. 配置代理
    5. 安裝根證書

    上述步驟的詳細操作分別參見如下文檔:

    1. 安裝啟動whistle
    2. 安裝whistle根證書

    安裝成功後,可以通過如下命令查看whistle的所有命令行操作:

    <code>w2 --help/<code>

    啟動、停止、重啟whistle的命令行命令如下:

    <code>w2 startw2 stopw2 restart/<code>

    更新whistle只需重新安裝下whistle即可

    如何使用可以查看Github上的文檔或者官方Gitbook的文檔

    總結

    相比一些收費的代理調試工具,whistle具備開源免費的優點,enjoy it!


    分享到:


    相關文章: