web-dev-qa-db-de.com

Auf der Suche nach einem HTTP-Debug-Proxy für Mac, der Fiddler unter Windows ähnelt

In früheren Jobs, als ich auf einem Windows-Computer gearbeitet habe, habe ich Fiddler zum Anzeigen von HTTP-Transaktionen und zum Debuggen verwendet.

Ich möchte speziell die HTTP-Transaktionen für eine Ajax-Site überwachen, an der ich arbeite, um sicherzustellen, dass die Site das tut, was ich erwarte. Das Umschreiben von HTTP (wie von Fiddler bereitgestellt) ist ein Muss, aber nicht unbedingt erforderlich.

Kann jemand etwas Ähnliches für die Verwendung auf einem Mac empfehlen?

237
Doug Harris

Ich fand Charles Proxy . Es ist viel näher an der Funktionalität von Fiddler. Es ist nicht kostenlos, aber es kann den Preis wert sein.

69
Doug Harris

Verwenden Sie Chrome und navigieren Sie zu chrome: // net-internals /

Es ermöglicht detaillierte Analysen und Dumps.

128
brains_at_work

Meine Lieblings-Mac-App zum Überwachen des Datenverkehrs ist HTTPScoop . Ich beschreibe dies ebenso wie die Verwendung von tcpdump über die Befehlszeile in diesem Beitrag, den ich letztes Jahr gebloggt habe .

30
Ted Naleid

Ich habe mitmproxy zum Abfangen von HTTP-Verkehr verwendet. Es ist ein großartiges Tool und Sie können es auch zum Debuggen mobiler Geräte oder jedes Betriebssystems verwenden.

30
eikes

Nicht das, wonach Sie gefragt haben, aber in Firefox ist das Add-On Live HTTP Headers alles, was ich brauche, um Anforderungen zu bearbeiten und erneut abzuspielen, einschließlich der Änderung der URL und der HTTP-Methode.

 Live HTTP Headers

In Firebug werden in Netzwerküberwachung alle Anforderungen und Antworten angezeigt. Ebenso werden in Safari im Bereich Ressourcen des integrierten Web-Inspektors die meisten meiner Anforderungen abgedeckt. (Aktivieren Sie den Web Inspector über die Einstellungen: Menü "Entwickeln" in der Menüleiste anzeigen .) Chrome und Firefox verfügen über ähnliche Tools.

Wenn es komplizierter wird, zünde ich meinen Wireshark Packet Sniffer an. Im Gegensatz zu Fiddler lässt Wireshark Sie die Daten nicht ändern und unterstützt keine Funktionen wie Auto-Responder, wie es Fiddler anscheinend tut.

Informationen zu Wireshark finden Sie unter HTTP (Hyper Text Transfer Protocol) für allgemeine Informationen zur HTTP-Erfassung und HTTP-Paketerfassung zum Debuggen von Apache , zum Beispiel unter display filters. (Möglicherweise möchten Sie den Filter capture auf "port 80" setzen, um alle Anforderungen an diesen Port und die Antworten von diesen Port anzuzeigen. Oder, um die Anzahl der Anforderungen zu begrenzen Verwenden Sie auf einem Server capture filter "port 80 and Host www.google.com".)

# Nur 404 anzeigen: Seite nicht gefunden 
 Http.response.code == 404 
 
 # Nur bestimmte HTTP-Methoden anzeigen 
 Http.request.method == " POST "|| http.request.method == "PUT" 
 
 # Zeige nur Javascript 
 http.content_type enthält "Javascript"

Beachten Sie, dass Wireshark gzip dekomprimieren oder codierte (komprimierte) Dinge für Sie im Handumdrehen entleeren kann. Das erleichtert das Lesen erheblich, da die meisten Webserver die an einen Browser gesendeten Daten komprimieren.

(Was Auto-Responder angeht: Das exzellente JS Bin enthält ein kurzes Video zur Verwendung zum Debuggen von Ajax-Anfragen. Wenn Sie JS Bin nicht kennen, sehen Sie sich zuerst das Einführungsvideo an.)

19
Arjan

Neben Charles (bereits erwähnt) gefällt mir auch dasHttpFoxAdd-On für Mozilla Firefox. Sie können es wie Charles auf Mac und Windows verwenden. Es ist leichter als Charles, da es im Browser gespeichert ist und eine schnelle Fehlerbehebung ermöglicht. Hier sind einige Informationen von der HttpFox-Seite:

HttpFox überwacht und analysiert den gesamten eingehenden und ausgehenden HTTP-Verkehr zwischen dem Browser und den Webservern.

Ziel ist es, die von Tools wie HttpWatch oder IEInspector bekannten Funktionen in den Firefox-Browser zu bringen.

Die auf Anfrage verfügbaren Informationen umfassen:

  • Anforderungs- und Antwortheader
  • Gesendete und empfangene Cookies
  • Querystring-Parameter
  • POST-Parameter
  • Reaktionskörper

Und ein Screenshot:

Screenshot of HttpFox add-on for Mozilla Firefox

7
Chris W. Rea

Kein Proxy, aber es hilft beim Debuggen von HTTP:

Starten Sie einfach einen Scan auf der Schnittstelle, auf der Sie den HTTP-Verkehr haben möchten, führen Sie den Verkehr aus, beenden Sie den Scan und geben Sie "HTTP" als Filterzeichenfolge ein. Sie können dann alle Pakete der HTTP-Konversation überprüfen. Bei geöffneter Paketdetailansicht können Sie den HTTP-Abschnitt öffnen, der zwischen Paketen geöffnet bleibt.

Es ist ein großartiges Tool, und Sie müssen den Browser-Proxy nicht ändern. Andererseits kann es beim HTTPS-Verkehr nicht helfen, da dieser verschlüsselt ist. (Obwohl es SSL-Verbindungen entschlüsseln kann, die RSA verwenden )

6
w00t

Ich bin spät dran, aber ich benutze Paros Proxy . Es ist in Java, also plattformübergreifend. Wenn Sie möchten, dass es als App gepackt wird, finden Sie eine hier unten.

5
Abhinav Gupta

Vergessen Sie nicht, Burp Suite. Sie haben eine kostenlose Version. Es ist plattformübergreifend. http://portswigger.net/burp/

4
smileBot

Es scheint, dass der freie GlimmerBlocker einen Teil des Tricks tun kann.

Natürlich kann es alle Arten von Inhalten blockieren und Antworten transformieren , bevor der Browser sie empfängt. Aber es kann tatsächlich sowohl Anforderungen als auch Antworten ändern . Und obwohl es kein echtes Debugging ist, bietet es auch Protokollierung. So könnte es Grundbedürfnisse passen:

Es gibt 4 Arten von Skripten, die in GlimmerBlocker ausgeführt werden, und einige Objekte sind nur für einige der Skriptarten definiert:

  • globaler Proxy: Hiermit werden die globalen Proxy-Einstellungen festgelegt, und Sie können z. Standortname, AirPort-Netzwerk.
  • anforderungsänderung: Dies kann die angeforderte URL ändern, eine Umleitungsantwort an den Browser zurücksenden oder Text/HTML an den Browser zurücksenden.
  • keyword-Erweiterung. [Nur Safari, AvB]
  • transform: Ändert die vom Webserver empfangene Antwort, bevor sie an Safari zurückgesendet wird [oder an einen Browser, der so eingerichtet ist, dass er den von GlimmerBlocker, AvB, bereitgestellten Proxy verwendet].

(Man kann es auch verwenden, um verschiedene Greasemonkey-Skripte in die empfangene Antwort einzubeziehen, ohne ein Greasemonkey-Add-On zu verwenden, wie um Flash zu blockieren ohne ein Add-On zu installieren.)

2
Arjan

Sie können Fiddler für Mac ganz einfach mithilfe von Parallels gemäß den Anweisungen auf der Website konfigurieren.

Die einzige Einschränkung besteht darin, dass Sie Ihre Netzwerkeinstellungen manuell so konfigurieren müssen, dass sie auf die IP-Adresse des VM verweisen, aber nicht wirklich so wichtig sind.

2
aleemb

jMeter könnte auch hilfreich sein; Es wurde für das Testen der Auslastungsleistung auf Webservern entwickelt, kann aber dennoch das tun, was Sie benötigen. jMeter ist in Java geschrieben, sodass Sie eine .jar-Datei herunterladen können, die auf Mac, Windows oder Linux ausgeführt werden kann.

1
Evie

Cocoa Packet Analyzer ist sehr hilfreich.

1
actuosus

Wenn Sie mit App-Verkehr oder API-Integrationen von Drittanbietern zu tun haben, die über das öffentliche Internet übertragen werden, sollten Sie Runscope ausprobieren (von dem ich bei vollständiger Offenlegung Mitbegründer bin). Es erfasst HTTP-Anfragen an eine beliebige URL, bietet eine nützliche Stream-Ansicht zum Debuggen und erleichtert das Teilen einzelner Anfragen mit anderen.

1
John Sheehan

Sie könnten auch versuchen APIKitchen . Es hilft Ihnen beim Debuggen und Testen von HTTP-APIs und allen allgemeinen Anforderungen. Es gibt auch eine Offline-Version zum Testen in Ihren internen Netzwerken. Keine Installation notwendig.

0
kontinuity