Auf macOS HTTP(S) ohne Entwickler-Werkzeuge protokollieren

Die Browser-Entwicklerwerkzeuge sind nett, aber der Netzwerktraffic-Reiter hat (insbesondere bei FF) ein Problem, er reisst die Performance so weit runter, dass einem das Gesicht einschläft.

Auf macOS verwende ich „mitmproxy“, um HTTP und HTTPS zwischen Browser und Server zu protokollieren. Das Verfahren erfordert die Installation von „homebrew“ (ein Paket-Manager für macOS) und damit dann „mitmproxy“ (ein „Man-in-the-Middle“ Web-Proxy, der im Terminal läuft, und alles mitprotokolliert, was Browser und Webserver kommunizieren).

Installation wie folgt:

  • „homebrew“ installieren: Im macOS-Terminal:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  • „mitmproxy“ herunterladen und installieren: Im Terminal:
brew install mitmproxy

Das Folgende Verfahren muss zu Beginn der Arbeit durchgeführt werden:

  • mitmproxy starten: Im Terminal:
mitmproxy
  • Firefox / Chrome / Whatever starten.
  • Folgende Proxy-Einstellungen verwenden:
    • IP: localhost
    • Port 8080

Die folgenden Schritte sind einmalig nötig, damit „mitmproxy“ den HTTPS-Traffic entschlüsseln kann:

  • Im Browser folgende URL aufrufen:
http://mitm.it
  • Auf das Symbol „Apple“ klicken.
  • Im darauf folgenden Import-Dialog diese Option wählen: „Dieses Zertifikat verwenden, um Webseiten zu identifizieren“

Noch ein Hinweis: „mitmproxy“ loggt erstmal alles, was schnell unübersichtlich wird. Um die Ausgabe einzugrenzen, kann folgende Tastenkombination verwendet werden:

l ~ts html

Erklärung zu diesem Ausdruck: l für „Limit auf Ausgabe setzen“; ~ts für „Nach Content-Type filtern“; html matcht dann „Content-Type: text/html“.