Suchen Sie nach einem HTTP-Debugging-Proxy für Mac, der Fiddler unter Windows ähnelt

292555
Doug Harris

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

Ich möchte insbesondere die HTTP-Transaktionen für eine Ajax-Site überwachen, an der ich arbeite, um zu überprüfen, ob die Site das tut, was ich erwartet habe. Das Umschreiben von HTTP (wie von Fiddler bereitgestellt) ist zwar schön, aber nicht unbedingt erforderlich.

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

231
Dies wurde geschlossen, ist aber immer noch vorhanden, daher muss hinzugefügt werden: Fiddler ist jetzt in Alpha für Mac OS. boomhauer vor 10 Jahren 4
Ich weiß nicht, warum das geschlossen wäre. es hat 113 Upvotes. Es ist nicht so, als wäre dies ein Stapellaufüberlauf. JaJ vor 9 Jahren 1
Lesen Sie die Gründe direkt über diesen Kommentaren. Doug Harris vor 9 Jahren 0
Fireup Fiddler auf einem nahegelegenen Windows-Computer und konfigurieren Sie Ihren MAC so, dass er über Windows-Computer und voila! alles auf Ihrem MAC wird unter Windows angezeigt :) Korayem vor 9 Jahren 0
FYI, für diejenigen, die wirklich begeistert waren, @boomhauers Kommentar zu lesen: Fiddler für OSX ist * noch * in Alpha, wurde zuletzt im Juli 2013 berührt und erfordert das Mono-Framework (also im Grunde nur ein Wrapper für die Windows-Version.) für Cocoa nicht neu überarbeitet), und das Release enthält den Hinweis: "Mac Hinweis: Das WinForms-Framework auf Mac ist fast unbrauchbar fehlerhaft. Die beste Möglichkeit ist, Fiddler in einer Linux- oder Windows Virtual Machine auszuführen und die Proxy-Einstellungen des Macs festzulegen dazu. " Anthony vor 8 Jahren 1
Sie können Owasp Zap dazu verwenden - es kann als browserbasierter Proxy oder als systemweiter Proxy eingefügt werden und ALLE Aufrufe an alle Websites (http und https) abfangen und Sie können alle Anforderungen ändern und protokollieren. Es generiert sogar dynamische SSL-Zertifikate für alle Websites. Hier ist ein kurzes [Tutorial auf YouTube] (https://www.youtube.com/watch?v=lXoJQz6uIQ0) und [hier ist auch ein schneller Schritt für Schritt des Prozesses] (http://havrl.blogspot.ca/ 2015/03 / inspection-http-traffic-using-owasp-zed.html). Es ist für Penetrationstests gedacht, funktioniert aber auch für diesen Fall. Brad Parks vor 7 Jahren 0

15 Antworten auf die Frage

127
brains_at_work

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

Es ermöglicht detaillierte Analysen und Dumps.

Nett. Irgendeine Idee, wann das Chrom hinzugefügt wurde? Doug Harris vor 12 Jahren 1
Nein Entschuldigung. Ich habe früher mit Fiddler unter Windows gearbeitet, aber als ich zu einem Mac wechselte, stolperte ich über Netzinternals, während ich nach versteckten Chromfunktionen suchte. brains_at_work vor 12 Jahren 2
Das ist fantastisch! Vielen Dank!!! w00t vor 12 Jahren 1
AAAWWWEEESOOOMMMEEEEE !!!!! rizidoro vor 12 Jahren 1
Dies muss als Antwort akzeptiert werden :) Danke fürs Teilen! Muhammad Riyaz vor 10 Jahren 0
Dieses Tool scheint "ordentlich" zu sein, aber wie sehen Sie die gesamte Anforderungsnutzlast (dh GET-Anforderungsheader?) JaJ vor 9 Jahren 5
AFAIK, dies bietet keine Möglichkeit, die Daten während der Übertragung zu ändern, wie es Fiddler mit FiddlerScript, AutoResponder und Haltepunkten tut. Gutes Werkzeug, aber für verschiedene Zwecke. iX3 vor 9 Jahren 0
@Jaj: Diese Informationen sind bereits auf der Registerkarte "Netzwerk" von DevTools vorhanden oligofren vor 9 Jahren 0
Dieses Tool scheint nur den Chromverkehr zu erfassen. Gibt es eine Möglichkeit, dieses Tool zum Erfassen von http-Verkehr von / zu einem bestimmten Prozess zu verwenden? morpheus vor 8 Jahren 30
kann verwendet werden, um den Verkehr vom iPhone-Simulator zu debuggen hariszaman vor 8 Jahren 0
68
Doug Harris

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

Nur neugierig: Hat jemand hier jemals davon Gebrauch gemacht? Arjan vor 15 Jahren 0
Ich habe es ein oder zwei Stunden benutzt, nachdem ich es gefunden hatte. Die Testversion hat einige Nag-Screens und eine 30-minütige Einschränkung, aber ich denke nicht, dass diese unangemessen sind. Ich suchte nach bestimmten Kopfzeilen in der HTTP-Antwort und konnte diese leicht erkennen. Doug Harris vor 15 Jahren 0
Das Schöne an Charles ist, dass es sowohl für OSX als auch für Windows verfügbar ist. Wenn Sie häufig hin und her gehen, ist es ein schönes allgemeines Werkzeug. Justin Ohms vor 11 Jahren 1
Eine wichtige Funktion, die charles (und Fiddler und möglicherweise Webscarab) bietet, ist die Möglichkeit, Anforderungen abzufangen und zu ändern, einschließlich der https-Entschlüsselung. urban_raccoons vor 10 Jahren 5
Ich entschlüssle Charles, um https-Anfragen von Instagram, Facebook und anderen mobilen Apps zu entschlüsseln. Verweisen Sie den iPhone-Proxy einfach auf Charles und ich kann sehen, wie sie Daten senden und welche Daten sie senden! Mário Carvalho vor 9 Jahren 1
Ich kann keine dekomprimierte Antwort für meine Anfragen sehen. Gibt es eine Möglichkeit, Charles so einzustellen, dass er automatisch dekomprimiert und das Ergebnis anzeigt Harsh vor 8 Jahren 0
@Harsh, meiner Meinung nach dekomprimiert Charles die Antwort automatisch (wenn Sie die Text- oder HTML-Ansicht betrachten), wenn sie für den Browser in irgendeiner Weise komprimiert ist. (Z. B. GZip-Komprimierung.) Wenn Sie jedoch über HTTPS-Probleme (z. B. Verschlüsselung) sprechen, müssen Sie das Charles Proxy-Zertifikat installieren, das diese entschlüsselt und für den Benutzer lesbar macht. Wenn sich Ihr Problem dadurch nicht beheben lässt, sollten Sie eine Frage hier auf einer Stack Exchange-Site öffnen oder ein Ticket mit Charles Proxy öffnen. (Hinweis: Ich arbeite nicht bei Charles Proxy, bin aber ein glücklicher Benutzer ihrer Software.) Spencer Doak vor 8 Jahren 0
Oh, und um die wirklich alte Frage zu beantworten: "Wer benutzt es jemals?", Benutze ich es ziemlich oft. Äußerst nützlich für das Web-Debugging und nicht, um ein solches Verhalten zu fördern, aber wenn Sie sich an der Ausnutzung von Online-Spielen versuchen möchten, ist dies auch sehr nützlich ;-) Spencer Doak vor 8 Jahren 0
30
Ted Naleid

Meine Lieblings - Mac App für die Überwachung der Verkehr ist Httpscoop, ich Detail, das auch mit tcpdump von der Kommandozeile in diesem Beitrag habe ich im letzten Jahr gebloggt .

Wenn Sie Wireshark (oder den weniger leistungsfähigen Cocoa Packet Analyzer) kennen, können Sie HTTPScoop damit vergleichen? Arjan vor 15 Jahren 0
Es ist ein bisschen einfacher, aber viel einfacher zu benutzen als wireshark IMO. Sehr einfach zu starten und den HTTP-Verkehr zu überwachen, aber andere Arten von Verkehr zu überwachen. Ich bin mit dem Kakao-Paketanalysator nicht vertraut. Ted Naleid vor 15 Jahren 0
Cocoa Packet Analyzer ist auch ziemlich einfach. Ich habe jedoch nie herausgefunden, wie bestimmte Port- oder Server-IP-Adressen gefiltert werden, und dann * beide * die Anfrage und Antwort sehen ... Das ist in Wireshark einfach zu bewerkstelligen. (Geben Sie einfach "smtp" als Anzeigefilter ein, um den gesamten Datenverkehr anzuzeigen, der das SMTP-Protokoll verwendet. Oder "tcp.port == 25", um den gesamten Datenverkehr an Port 25, * und seine Antworten zu erhalten. Oder "http und ip.addr =" = xxx`, um den gesamten HTTP-Verkehr von und zu einem Server abzurufen.) Arjan vor 15 Jahren 1
httpscoop sah vielversprechend aus, leider wurde es aufgegeben und ich konnte am 10.9.2 keinen localhost-Verkehr erfassen. Die letzte Veröffentlichung stammt aus dem Jahr 2009 und die Website touts und die kommende v2.0, die nicht in Kürze erscheint: / Jean vor 10 Jahren 1
klappt bei mir nicht János vor 9 Jahren 0
Entschuldigung, diese App ist aus zwei Gründen ein Stück Müll. Es hat 3 Schaltflächen und der Autor muss noch ein Video zur Verwendung bereitstellen. Vergessen Sie nicht zu erwähnen, dass beim Drücken von Scoop und Aktualisieren der Browserseite absolut nichts angezeigt wird! The Muffin Man vor 9 Jahren 0
Ich habe versucht, diese App zu verwenden, im Vergleich zu Fiddler ist sie schrecklich. Ich möchte den gesamten Datenverkehr und alle Ports und alle Schnittstellen nicht Port 80 auf Localhost erfassen. Ich habe versucht, die gewünschten Ports durch Präferenzen hinzuzufügen (ohne Scoop). Dies hat mir nicht geholfen, da sich die Dinge, die ich überwachen wollte, auf zwei verschiedenen Schnittstellen befanden, z. B. lo / en0 KnuturO vor 8 Jahren 0
Link zum Blog funktioniert nicht :( Reg vor 7 Jahren 0
27
eikes

Ich habe mitmproxy zum Abfangen des HTTP-Verkehrs verwendet. Es ist ein großartiges Tool, mit dem Sie sowohl mobile Geräte debuggen können als auch Betriebssysteme.

LIEBE DIESES! Übrigens, für alle Skript-Kiddies, falls Sie Code in etwas anderes als JS schreiben, das sich im Browser befindet, ist dieses Ding DAS Ticket. Shane vor 6 Jahren 0
19
Arjan

Nicht, was Sie gefragt haben, aber in Firefox ist das Live-HTTP-Header- Add-On alles, was ich brauche, wenn ich Anfragen bearbeiten und erneut abspielen möchte, einschließlich der Änderung der URL und der HTTP-Methode.

Live HTTP Headers

In Firebug zeigt die Netzwerküberwachung alle Anforderungen und Antworten an. In Safari deckt der Ressourcenbereich des integrierten Web Inspectors ebenfalls die meisten meiner Anforderungen ab. (Aktivieren Sie den Web-Inspector über die Voreinstellungen: Menü "Entwicklung anzeigen" in der Menüleiste anzeigen .) Chrome und Firefox verfügen über ähnliche Tools.

Wenn die Dinge komplizierter werden, feuere ich meinen Wireshark- Paket-Sniffer an. Im Gegensatz zu Fiddler können Sie bei Wireshark die Daten jedoch nicht ändern und unterstützen keine Funktionen wie Auto-Responder, wie es Fiddler anscheinend tut.

Weitere Informationen zu generischen HTTP-Capture-Informationen finden Sie unter Hyper Text Transfer Protocol (HTTP) und unter HTTP-Packet-Capturing zum Debuggen von Apache. Hier finden Sie einige Anzeigefilter . (Sie können den Capture- Filter auf " port 80" setzen, um alle Anforderungen an diesen Port und die Antworten von diesem Port anzuzeigen. Oder verwenden Sie den 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"  # Nur Javascript anzeigen http.content_type enthält "Javascript"

Beachten Sie, dass Wireshark gzip dekomprimieren oder verschlüsselte (komprimierte) Dinge für Sie dekomprimieren kann. Das macht das Lesen viel einfacher, da die meisten Webserver die Daten komprimieren, die sie an einen Browser senden.

(Was Auto-Responder betrifft: In der ausgezeichneten JS-Bin finden Sie ein kurzes Video, mit dem Sie Ajax-Anfragen debuggen können. Wenn Sie JS-Bin nicht kennen, schauen Sie sich zuerst das Einführungsvideo an.)

+1 für Firebug - Ich liebe ihr Netzwerküberwachungstool Josh vor 15 Jahren 0
Ich habe es versucht, aber ich konnte keine neue Anfrage an eine andere URL (in derselben Domäne) stellen und konnte nicht herausfinden, wie (von einem GET zu einem POST zum Beispiel). Purefan vor 9 Jahren 0
@Purefan, ohne weitere Details können wir nicht helfen; es funktioniert für mich, siehe den Screenshot, den ich gerade hinzugefügt habe. Möglicherweise sind Sie auf https://www.mozdev.org/bugs/show_bug.cgi?id=25831 gestoßen Arjan vor 9 Jahren 0
7
Chris W. Rea

Neben Charles (bereits erwähnt) gefällt mir auch das HttpFox- Add-On für Mozilla Firefox. Wie Charles können Sie es sowohl auf Mac als auch Windows verwenden. Es ist leichter als Charles, da es sich im Browser befindet und zur schnellen Fehlerbehebung nützlich ist. Hier einige Informationen von der HttpFox-Seite:

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

Ziel ist es, die von Tools wie HttpWatch oder IEInspector bekannte Funktionalität in den Firefox-Browser zu integrieren.

Zu den auf Anfrage verfügbaren Informationen gehören:

  • Anforderungs- und Antwortheader
  • Gesendete und erhaltene Cookies
  • Querzeichenfolge-Parameter
  • POST-Parameter
  • Antwortkörper

Und ein Screenshot:

Screenshot des HttpFox-Add-Ons für Mozilla Firefox

Dies ist nicht kompatibel mit den neueren Versionen von Firefox (Firedox 57 und Firedex Deveolper Edition 57). Promather vor 6 Jahren 0
6
w00t

Not a proxy, but it does help in debugging HTTP:

Simply start a scan on the interface you're going to have the HTTP traffic on, execute the traffic and then stop scanning and type "HTTP" as the filter string. You will then be able to inspect all the packets of the HTTP conversation. With the Packet Detail view open you can open the HTTP section and it will stay open between packets.

It's a great tool to have and it doesn't require you to change the browser proxy. On the other hand it cannot help with HTTPS traffic since that's encrypted. (Although it can decrypt SSL connections that use RSA)

Nur ein Update: Wireshark schmerzt unter OS X. Es ist X11 erforderlich, das in OS X nicht mehr enthalten ist, so dass Sie am Ende einige 200 MB der gesamten Festplatte verwenden. Marko Bonaci vor 9 Jahren 2
Wireshark 2.x ist nur ein Update für das @ MarkoBonaci-Update. 0x7c0 vor 8 Jahren 1
@stemartin danke für die Info. Marko Bonaci vor 8 Jahren 0
@ MarkoBonaci - Sie sollten stattdessen nur mit qt installieren. arcseldon vor 8 Jahren 0
5
Abhinav Gupta

Ich bin spät dran - ich benutze Paros Proxy . Es ist in Java, also plattformübergreifend. Wenn Sie es vorziehen, es als App zu packen, gibt es hier unten eine.

4
smileBot

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

2
Arjan

Es scheint, dass der kostenlose GlimmerBlocker einen Teil des Tricks ausführen kann.

Natürlich kann es alle Arten von Inhalten blockieren, und verwandeln Antworten, bevor der Browser sie empfängt. Es kann jedoch sowohl Anfragen als auch Antworten modifizieren . Das Debugging ist zwar nicht korrekt, bietet jedoch auch Protokollierung. Es könnte also die grundlegenden Bedürfnisse erfüllen :

In GlimmerBlocker werden vier Arten von Skripts ausgeführt. Einige Objekte sind nur für einige Skripttypen definiert:

  • globaler Proxy: Hier werden die globalen Proxy-Einstellungen festgelegt. Sie können beispielsweise den Namen des Standorts oder das AirPort-Netzwerk testen.
  • Request Modification: Hiermit können Sie die angeforderte URL ändern, eine Weiterleitungsantwort an den Browser senden oder Text / HTML an den Browser zurücksenden.
  • Keyword-Erweiterung. [Nur Safari, AvB]
  • transform: Ändern Sie die Antwort, die der Webserver erhalten hat, bevor diese an Safari [oder einen Browser gesendet wird, der für die Verwendung des von GlimmerBlocker, AvB bereitgestellten Proxys eingerichtet ist.

(Sie können es auch verwenden, um verschiedene Greasemonkey-Skripts in die empfangene Antwort aufzunehmen, ohne ein Greasemonkey-Add-On zu verwenden, beispielsweise um Flash zu blockieren, ohne ein Add-On zu installieren.)

GlimmerBlocker ist ein interessantes Werkzeug, aber anders als ich es suche. Ich habe die ursprüngliche Beschreibung überarbeitet, um die Umschreibungsbeispiele zu entfernen und zu klären, dass ich lediglich den Datenverkehr überwachen und nicht transformieren möchte. Doug Harris vor 14 Jahren 0