題 尋找適用於Mac的HTTP調試代理,類似於Windows上的Fiddler [關閉]


在以前的工作中,當我使用Windows機器時,我已經習慣了 提琴手 用於查看HTTP事務和調試。

我特別希望監視一個ajax站點的HTTP事務,我正在努力驗證該站點正在按照我的預期進行操作。重寫HTTP(由Fiddler提供)是一個很好的,但不是必需的。

任何人都可以推薦類似的東西在Mac上使用嗎?


231


起源


這已經關閉,但仍然存在,因此需要補充:Fiddler現在處於mac os的alpha版本中。 - boomhauer
我不知道為什麼會關閉?它有113個贊成票。這不是關於堆棧溢出的問題。 - JaJ
在這些評論的正上方閱讀理由 - “尋求產品,服務或學習材料建議的問題是偏離主題的” - Doug Harris
Fireup Fiddler在附近的Windows機器上配置你的MAC代理通過Windows機器和瞧!您的MAC上的所有內容都將在Windows上看到:) - Korayem
僅供參考,對於那些非常興奮閱讀@boomhauer評論的人:OSX的Fiddler是 仍然 在Alpha,最後一次觸及2013年7月,它需要Mono框架(因此它基本上只是Windows版本的包裝器,實際上並沒有為Cocoa重新考慮),並且該版本有註釋:“Mac Note:WinForms Mac上的框架幾乎沒有錯誤。你最好的辦法是在Linux或Windows虛擬機中運行Fiddler並指出Mac的代理設置。“ - Anthony


答案:


使用Chrome並導航至chrome:// net-internals /

它允許詳細的分析和轉儲。


127



尼斯。知道什麼時候添加到chrome? - Doug Harris
不,謝謝。我曾經在Windows上與Fiddler一起工作,但是轉向Mac我在尋找隱藏的chrome功能的同時偶然發現了網絡內部。 - brains_at_work
這太棒了!謝謝!!! - w00t
這個工具似乎“整潔”,但你怎麼看到整個請求有效載荷(即GET請求頭?) - JaJ
此工具似乎只捕獲鍍鉻流量。有沒有辦法使用此工具從特定進程捕獲http流量? - morpheus


我發現 查爾斯代理。它更接近Fiddler的功能。它不是免費的,但它可能物有所值。


68



只是好奇:有沒有人在這裡使用它? - Arjan
我找到之後用了一兩個小時。試用版有一些嘮叨的屏幕和30分鐘的限制,但我不認為這些是不合理的。我正在尋找HTTP響應中的特定標頭,我能夠輕鬆地看到這些。 - Doug Harris
關於Charles的好處是它適用於OSX和Windows,所以如果你頻繁來回,這是一個很好的常用工具。 - Justin Ohms
charles(以及fiddler和webscarab)提供的一項重要功能是攔截和修改請求的能力,包括https解密。 - urban_raccoons
我使用Charles解密Instagram,Facebook和其他移動應用程序https請求。只需將iPhone代理指向Charles,我就能看到他們如何發送數據以及他們發送的數據! - Mário Carvalho


我最喜歡的用於監控流量的mac app是 HTTPScoop,我詳細說明了以及在命令行中使用tcpdump 這篇帖子我去年寫了博客


30



如果您碰巧知道Wireshark(或功能較弱的Cocoa Packet Analyzer):您能比較一下HTTPScoop嗎? - Arjan
它比wirehark IMO更簡單,但更容易使用。非常容易啟動和監控http流量,但不太善於監控其他類型的流量。我不熟悉可可包分析儀。 - Ted Naleid
可可包分析器也很簡單。但是,我從未弄清楚如何過濾某些特定的端口或服務器IP地址,然後看看 都 請求和回复......這在Wireshark中很容易完成。 (只需輸入 smtp 作為顯示過濾器,以查看使用SMTP協議的所有流量。要么 tcp.port == 25 獲得到25號港口的所有交通, 和 它的回應。要么 http and ip.addr == xxx 獲取進出某些服務器的所有HTTP流量。) - Arjan
httpscoop看起來很有希望,不幸的是它似乎被放棄了,我無法在10.9.2上捕獲localhost流量。最後一個版本的歷史可以追溯到2009年,該網站宣傳即將推出的即將推出的v2.0似乎不會出現:/ - Jean
不適合我 - János


我用過 mitmproxy 用於攔截HTTP流量。它是一個很棒的工具,您可以使用它來調試移動設備或任何操作系統。


27



這就是這個!順便提一下,對於所有的腳本小子,如果你用瀏覽器中的JS之外的其他東西編寫代碼,這件事就是票。 - Shane


不是你問的,而是在Firefox中 實時HTTP標頭 如果我想編輯和重新發送請求,包括更改URL和HTTP方法,我只需要加載項。

Live HTTP Headers

在Firebug中, 網絡監控 顯示所有請求和響應。同樣,在Safari中 資源窗格 內置的Web Inspector也涵蓋了我的大多數需求。 (通過首選項啟用Web Inspector: 在菜單欄中顯示“開發”菜單。)Chrome和Firefox有類似的工具。

當事情變得更加複雜時,我會激起我的興趣 Wireshark的 包嗅探器。然而,與Fiddler不同,Wireshark不會讓你 更改 數據,並不支持自動響應者之類的東西,就像Fiddler顯然那樣。

對於Wireshark,請參閱 超文本傳輸協議(HTTP) 對於一些通用的HTTP捕獲信息,以及 HTTP數據包捕獲調試Apache,舉個例子 顯示 過濾器。 (你可能想設置 捕獲 過濾到“port 80“,以顯示所有請求  那個端口和響應  那個港口。或者,要限制某些服務器,請使用 捕獲 過濾器“port 80 and host www.google.com“。) 喜歡:

#僅顯示404:找不到頁面
http.response.code == 404

#僅顯示某些HTTP方法
http.request.method ==“POST”|| http.request.method ==“PUT”

#只顯示javascript
http.content_type包含“javascript”

請注意,Wireshark可以為您動態解壓縮gzip或deflated編碼(壓縮)的東西。這使得事情更容易閱讀,因為大多數Web服務器將壓縮它們發送到瀏覽器的數據。

(至於汽車應急人員:優秀 JS Bin 有一個關於如何使用它來調試Ajax請求的簡短視頻。如果您不了解JS Bin,那麼首先查看介紹視頻。)


19



為Firebug +1 - 我喜歡他們的網絡監控工具 - Josh
我嘗試了但是我無法向另一個網址(在同一個域中)發出新請求而無法找到(例如從GET到POST)。 - Purefan
@Purefan,沒有更多細節我們無法幫助;它適用於我,請參閱我剛剛添加的屏幕截圖。你可能遇到過 mozdev.org/bugs/show_bug.cgi?id=25831 - Arjan


除了查爾斯(已經提到),我也喜歡 是HttpFox Mozilla Firefox的附加組件。像Charles一樣,你可以在Mac和Windows上使用它。它比Charles重量輕,因為它存在於瀏覽器中,對於快速排除故障非常有用。以下是來自HttpFox頁面的一些信息:

HttpFox監視和分析所有傳入和傳出的HTTP流量   瀏覽器和Web服務器之間。

它的目的是提供從HttpWatch或者工具中已知的功能   IEInspector到Firefox瀏覽器。

每個請求提供的信息包括:

  • 請求和響應標頭
  • 已發送和已收到的Cookie
  • 查詢字符串參數
  • POST參數
  • 回應機構

並且,截圖:

Screenshot of HttpFox add-on for Mozilla Firefox


7



這與較新版本的Firefox(Firedox 57和Firedex Deveolper Edition 57)不兼容 - Promather


不是代理,但它確實有助於調試HTTP:

只需在您要啟用HTTP流量的接口上開始掃描,執行流量然後停止掃描並輸入“HTTP”作為過濾字符串。然後,您將能夠檢查HTTP會話的所有數據包。打開“數據包詳細信息”視圖後,您可以打開HTTP部分,它將在數據包之間保持打開狀態。

這是一個很棒的工具,它不需要你更改瀏覽器代理。另一方面,它對HTTPS流量無能為力,因為它是加密的。 (雖然它 可以解密使用RSA的SSL連接


6



只是一個更新:Wireshark在OS X上很痛苦。它需要X11,它不再包含在OS X中,所以你最終總共使用了大約200MB的磁盤。 - Marko Bonaci
只是關於@MarkoBonaci更新的更新,Wireshark 2.x現在運行得很好,OSX放棄了對X11的需求。 - stedotmartin
@stemartin感謝您的信息。 - Marko Bonaci
@MarkoBonaci - 你應該用qt安裝。 - arcseldon


我遲到了 - 我用了 Paros代理。它是Java,因此,跨平台。雖然如果您希望將其打包為應用程序,那麼就有一個 這裡 在底部。


5





別忘了Burp Suite。他們有免費版本。這是跨平台的。 http://portswigger.net/burp/


4





似乎是免費的 GlimmerBlocker 可以做部分伎倆。

當然它可以阻止所有類型的內容,並且 轉變 瀏覽器收到它們之前的響應。但它實際上可以 修改請求和響應。雖然不是真正的調試,但它也提供了日誌記錄。所以,它可能適合 基本需求

在GlimmerBlocker中運行有4種類型的腳本,並且僅為某些腳本類型定義了一些對象:

  • 全局代理:這設置全局代理設置,並可以測試例如位置名稱,AirPort網絡。
  • 請求修改:這可以更改請求的URL,將重定向響應發送回瀏覽器,或將text / html發送回瀏覽器。
  • 關鍵字擴展。 [僅限Safari,AvB]
  • transform:修改Web服務器在將其發送回Safari [或任何設置為使用GlimmerBlocker,AvB提供的代理的瀏覽器]之前收到的響應。

(也可以使用它在收到的響應中包含各種Greasemonkey腳本,而不使用Greasemonkey加載項,如 阻止Flash 沒有安裝任何附加組件。)


2



GlimmerBlocker是一個有趣的工具,但不同於我正在尋找的。我重新編輯了原始描述以刪除重寫示例,並澄清我只是想監視流量而不是轉換它。 - Doug Harris