Kostenlos · Nativ für macOS 26

Sehen Sie, was jede App auf Ihrem Mac sendet. Entschlüsselt.

Zeichnen Sie Netzwerkverkehr auf, ordnen Sie jedes Paket der App zu, die es gesendet hat, und lesen Sie HTTPS, HTTP/2 und HTTP/3 im Klartext. Kein Konto, kein Abo. Ihre Aufzeichnungen bleiben auf Ihrem Mac.

Auch über Homebrew: brew install --cask cocoapacketanalyzer

Sie müssen nicht aufzeichnen? Die Version aus dem Mac App Store kann alles andere.

Die Paketliste, gefiltert auf TLS-Handshakes, mit einer eigenen Spalte für die App hinter jedem Paket: App Store, Music, Safari
Jedes Paket kennt seine App.

Kostenlos, und zwar alles.

Keine Testphase, keine Preisstufen, kein Konto. Folgendes ist im Download enthalten.

  • HTTPS im KlartextEntschlüsselt TLS 1.2 und 1.3 mit einem Keylog oder mit Schlüsseln, die in den Metadaten einer pcapng-Datei enthalten sind.
  • Ein eingebauter ProxyEntschlüsselt HTTPS von diesem Mac oder einem anderen Gerät, ohne dass Sie Keylogs einrichten.
  • QUIC und HTTP/3Auf jeder Ebene entschlüsselt, mit Frames und Headern, nach denen Sie filtern können.
  • Verkehr nach AppHalten Sie in einer Live-Aufzeichnung fest, welche App jedes Paket gesendet oder empfangen hat. Die Zuordnung bleibt in der gesicherten pcapng-Datei erhalten.
  • pcap und pcapngLiest und schreibt beide Formate. Kommentare und Schlüssel bleiben in der Datei.
  • Millionen PaketeGroße Aufzeichnungen öffnen ohne Hänger und belegen wenig Speicher.
  • Eigene ProtokolleSchreiben Sie Analyzer in Swift mit dem Plugin-SDK.
  • Kein Konto, kein AboHerunterladen und loslegen. Ihre Aufzeichnungen bleiben auf Ihrem Mac.

Was möchten Sie herausfinden?

Vier typische Fragen an eine Netzwerkanalyse und das Fenster, das jeweils die Antwort zeigt.

Verkehr nach App

Welche App spricht mit wem?

Mit „Prozesse aufzeichnen“ steht an jedem Paket die App, die es gesendet oder empfangen hat: Safari, nicht der WebKit-Prozess dahinter. Das Fenster „Apps“ zählt während der Aufzeichnung Pakete und Bytes pro App mit. Ein Doppelklick auf eine App filtert die Paketliste nach ihr.

Das Fenster „Apps“ mit Podcasts, App Store, Music, Maps und Safari, jeweils mit Paketen, Bytes und Anteil

HTTPS entschlüsseln

Was schickt dieser Request eigentlich?

Geben Sie Cocoa Packet Analyzer ein Keylog, oder überlassen Sie das dem eingebauten Proxy. Aus verschlüsselten Zeilen werden dann HTTPS, HTTP/2 und HTTP/3 mit Headern, Bodys und Request-Response-Paaren. gRPC-Aufrufe zeigen jede Nachricht Feld für Feld.

Ein entschlüsselter HTTP/2-Request an www.wikipedia.org mit den Headern für Methode, Authority, Pfad und User-Agent in den Paketdetails

API debuggen

Sehen Sie zu, wie Ihre App mit ihrem Server spricht.

Der Proxy-Monitor listet jeden Request live auf, zusammen mit der App, von der er kommt. Exportieren Sie die Sitzung als HAR, oder kopieren Sie einen Request als cURL und spielen Sie ihn im Terminal erneut ab.

Der Proxy-Monitor mit den API-Requests einer App, ein ausgewählter GET mit seinen Request- und Response-Headern

Aufzeichnung öffnen

Jemand hat Ihnen eine Aufzeichnung geschickt?

Doppelklicken Sie auf eine pcap- oder pcapng-Datei. Quick Look zeigt sie schon im Finder als Vorschau, jedes Feld in den Paketdetails wird mit einem Klick zum Filter, und „Stream folgen“ macht aus einer Unterhaltung wieder lesbaren Text. Das gilt auch für Aufzeichnungen mit Hunderttausenden Flows.

„TCP-Stream folgen“ auf einer entschlüsselten HTTP/2-Verbindung: der GET-Request an www.wikipedia.org und die Antwort 200 OK mit dem HTML-Body als lesbarer Text

So sieht das aus.

HTTPS wird lesbarEin Keylog hinzufügen, und aus verschlüsselten TLS-Zeilen werden HTTPS-Requests und -Responses.
Apps erscheinen beim SurfenDas Fenster „Apps“ füllt sich während einer Live-Aufzeichnung.
Einer Unterhaltung folgenEin Klick führt von einem Paket zum ganzen Austausch.

Alles Weitere, wenn Sie tiefer einsteigen.

Aufzeichnen

  • Ethernet und WLAN aufzeichnen, in einem Fenster oder über die Menüleiste
  • Mehrere Aufzeichnungen nebeneinander, auf derselben oder auf verschiedenen Schnittstellen
  • „Alle Schnittstellen“ mit Prozessen, einschließlich Loopback und Tunneln
  • Editor für Aufzeichnungsfilter, der den Ausdruck schon beim Tippen prüft
  • Monitor- und Promiscuous-Modus
  • Analyse, während die Pakete noch eintreffen

Analysieren

  • Mehr als 50 Protokoll-Analyzer, bis hinunter zu den Bytes jedes Felds
  • Filtern nach jedem Feld, das die Paketdetails zeigen
  • Gespeicherte Abfragen und Ihre letzten zehn Filter
  • „TCP-Stream folgen“, „UDP-Flow folgen“ und „QUIC-Stream folgen“
  • Protokollstatistik und das Fenster „Apps“ mit Zahlen pro App
  • Subscriber-Session-Inspektor für PPPoE, L2TP und RADIUS

Entschlüsseln

  • TLS 1.2 und 1.3 mit Keylogs
  • Eingebauter HTTPS-Proxy mit einem Live-Monitor, der zu jedem Request die App nennt
  • Entschlüsseltes HTTP/2 und gRPC, HTTP/3 über QUIC
  • HAR-Import und -Export, „Als cURL kopieren“
  • Fenster „TLS-Schlüssel“: welche Sitzungen sich entschlüsseln lassen, und warum die übrigen nicht

Über das Fenster hinaus

  • Fixierte Aufzeichnungen oben in der Seitenleiste
  • Quick Look und Spotlight für Aufzeichnungen
  • Drucken und PDF
  • Plugin-SDK für Swift
  • Hell und Dunkel · Englisch, Deutsch, Japanisch

Ihr Protokoll kennt sonst niemand?

Schreiben Sie den Analyzer dafür in Swift mit dem Plugin-SDK. Ihr Plugin bekommt denselben Detailbaum, dieselben Filter und Spalten und dieselben Fenster für „Stream folgen“ wie die eingebauten Analyzer. Seine Einstellungen erscheinen neben deren Einstellungen unter Einstellungen ▸ Analyzer.

CPAPluginSDK 4.1.0 · DocC-Einführung (auf Englisch), ein NTP-Beispiel und ein TFTP-Beispiel mit einem Dissector in Objective-C. Plugins, die mit SDK 4.0.3 gebaut wurden, laufen weiter; das README nennt sechs als deprecated markierte Signaturen, die mit SDK 5.0.0 entfallen.

Fragen und Antworten.

Download oder Mac App Store: Welche Version brauche ich?

Der Download auf dieser Seite kann alles, was hier beschrieben ist. Wählen Sie ihn, wenn Sie Netzwerkverkehr aufzeichnen möchten.

Die Version aus dem Mac App Store kann alles außer Aufzeichnen: Sie öffnet, analysiert und filtert pcap- und pcapng-Dateien, folgt Streams, entschlüsselt HTTPS mit einem Keylog oder mit Schlüsseln, die in einer pcapng-Datei enthalten sind. Außerdem gehört der MITM-Proxy mit seinem Live-Monitor dazu. Die Regeln des App Store schließen das Aufzeichnen aus. Deshalb gibt es dort kein Aufzeichnungsfenster, keine Aufzeichnung über die Menüleiste und kein „Prozesse aufzeichnen“. Außerdem kann diese Version die Netzwerkeinstellungen Ihres Mac nicht ändern. Den Proxy tragen Sie dort also selbst ein, nach der Anleitung in der App.

Beide sind kostenlos.

Auf welchen Netzwerkschnittstellen kann ich aufzeichnen?

Die Ethernet- und WLAN-Schnittstellen, die in Ihrem Mac eingebaut sind, funktionieren ohne weitere Einrichtung.

Welche Link-Typen werden unterstützt?

Ethertypes: ARP, IP (v4/v6), PPP, PPPoED/S, 802.1Q VLAN, MPLS, LLDP

Link-Typen: Loopback, PPP, LinuxSLL, IEEE 802.11 RadioTap, pktap (mit dem Prozess hinter jedem Paket)

Welche Protokoll-Analyzer sind enthalten?

Link und Framing: Ethernet, ARP, LLDP, 802.1Q VLAN, MPLS, PPP, PPPoE (Discovery und Session), LinuxSLL, IEEE 802.11 RadioTap, Loopback

Netzwerk: IP (v4/v6), ICMP (v4/v6), IGMP, OSPF, Mobility, ESP

Transport und Tunnel: TCP, UDP, QUIC, L2TP, MPLS-in-IP, Proxy-Tunnel über HTTP CONNECT

Verschlüsselung: TLS, entschlüsselt mit TLS-Schlüsseln (auch innerhalb von QUIC)

PPP-Steuerung: LCP, IPCP (v4/v6), CCP, PAP, CHAP

Anwendung: HTTP (1.1 und 2), HTTP/3, WebSocket, DNS, DHCP (v4/v6), FTP, SMTP, POP3, IMAP, NNTP, SSH, Telnet, SIP, IAX, SNMP, LDAP, BGP, RADIUS, SMB, SOAP, Hotline

Kann ich im Promiscuous-Modus aufzeichnen?

Ja. Sie schalten ihn beim Start einer Aufzeichnung ein. Die meisten Schnittstellen eines Mac unterstützen ihn.

Was ist der Monitor-Modus?

Im Monitor-Modus zeichnen Sie WLAN-Pakete auf, ohne sich vorher mit einem Access Point oder einem Ad-hoc-Netzwerk zu verbinden. Er gilt nur für WLAN, und nicht jede WLAN-Schnittstelle unterstützt ihn. Sie schalten ihn beim Start einer Aufzeichnung ein.

Monitor- und Promiscuous-Modus lassen sich nicht kombinieren; wählen Sie einen der beiden.

Was ist der MITM-Proxy?

Aufgezeichnetes HTTPS ist verschlüsselt. An den Paketen allein sehen Sie, dass Ihr Mac mit einem Host gesprochen hat, wann und wie viel, aber kein Wort vom Inhalt. So soll HTTPS funktionieren, und keine nachträgliche Analyse ändert daran etwas.

Der Proxy löst das, indem er sich mit Ihrer Erlaubnis dazwischenschaltet. Er läuft lokal, erzeugt eine eigene Zertifizierungsstelle und lässt macOS Ihren Webverkehr über sich leiten. Für Ihren Browser sieht er aus wie die Gegenstelle, für die Gegenstelle wie Ihr Browser. Weil er jede Verbindung selbst annimmt und neu aufbaut, hat er die Schlüssel. Deshalb kann er Ihnen jeden Request und jede Response im Klartext zeigen und die Schlüssel an den Analyzer weitergeben, sodass sich auch Ihre aufgezeichneten Pakete entschlüsseln lassen.

„MITM“ steht für Man-in-the-Middle und bezeichnet normalerweise einen Angriff. Hier richtet sich dieselbe Technik auf Ihren eigenen Rechner, und nur, solange Sie sie einschalten: Sie müssen dem Zertifikat vertrauen, Ihre vorherigen Proxy-Einstellungen werden beim Stoppen wiederhergestellt, und nichts verlässt Ihren Mac. (In der Version aus dem Mac App Store richten Sie den Proxy selbst ein, nach der Anleitung in der App.) Solange der Proxy läuft, kann er das HTTPS jeder App lesen, die den System-Proxy verwendet. Schalten Sie ihn deshalb aus, wenn Sie fertig sind, und untersuchen Sie nur Verkehr, zu dem Sie berechtigt sind.

Was sind TLS-Schlüssel und Keylogs?

Ein Keylog ist eine kleine Textdatei, in der das Geheimnis jeder verschlüsselten Verbindung steht. Mit ihr lässt sich eine Aufzeichnung auch nachträglich lesen.

Wenn ein Browser eine HTTPS-Verbindung öffnet, handelt er mit dem Server ein neues Geheimnis aus. Wer die Leitung beobachtet, kann es nicht ermitteln; genau darauf ist das Verfahren ausgelegt. Beide Enden kennen es aber, und jedes darf es aufschreiben. Ein Keylog ist genau das: eine Zeile pro Sitzung, die eine Verbindung ihrem Geheimnis zuordnet. Die meisten Browser schreiben eines, wenn Sie vor dem Start die Umgebungsvariable SSLKEYLOGFILE setzen.

Geben Sie Cocoa Packet Analyzer diese Datei, und die passenden Sitzungen werden entschlüsselt. Eine Aufzeichnung, die Wochen alt ist, liest sich dann als gewöhnliche Requests und Responses. Die Pakete selbst ändern sich dabei nicht; Sie haben nur das fehlende Stück geliefert.

Schlüssel gelangen auf drei Wegen zu CPA. Der Proxy hält sie automatisch fest, solange er läuft. Im Fenster „TLS-Schlüssel“ können Sie unter „Quellen“ selbst ein Keylog hinzufügen. Und eine pcapng-Datei kann ihre Schlüssel selbst enthalten. So bleibt eine Aufzeichnung mit Schlüsseln lesbar, wenn Sie sie archivieren oder an jemanden weitergeben.

Schlüssel sind so sensibel wie der Verkehr, den sie lesbar machen. CPA legt sie in einem Schlüsselspeicher ab, zusammen mit der Aufzeichnung, zu der sie gehören. Das Fenster „TLS-Schlüssel“ listet jede Sitzung einer Aufzeichnung auf, zeigt, welche sich entschlüsseln lassen, und nennt für die übrigen den Grund.

Brauche ich den Proxy, um HTTPS zu entschlüsseln?

Nein. Der Proxy ist der bequeme Weg: einschalten, aufzeichnen, und die Entschlüsselung geschieht von selbst. Er ist aber nicht der einzige.

Wenn Sie schon ein Keylog haben oder eine pcapng-Aufzeichnung, die ihre Schlüssel enthält, entschlüsselt CPA allein damit. Das hilft bei Verkehr, vor den sich der Proxy nie schalten könnte: bei einer Aufzeichnung von einem anderen Rechner, bei einer Aufzeichnung, die Ihnen jemand geschickt hat, oder bei einer App, die die Proxy-Einstellung des Systems ignoriert.

Verlässt irgendetwas meinen Mac?

Ihre Aufzeichnungen und Schlüssel nicht. Von sich aus sendet Cocoa Packet Analyzer nur die Prüfung auf Updates. Die müssen Sie selbst einschalten, ebenso das anonyme Systemprofil, das dabei mitgeschickt werden kann.

Wie schreibe ich ein Analyzer-Plugin?

Laden Sie das Plugin-SDK herunter. Der Katalog SamplePlugIn/CPAPluginSDK.docc/ führt Sie auf Englisch durch alle Schritte (WritingYourFirstPlugin, ProtocolContract, ThreadingModel, DistributingYourPlugin). Das enthaltene Xcode-Projekt NTPAnalyzer-XCF ist ein vollständiger Analyzer, den Sie bauen und als .cpaplugin-Bundle weitergeben können; TFTPAnalyzer-ObjC zeigt dasselbe mit einem Dissector in Objective-C (UsingObjectiveC). Fragen sind willkommen: contact@tastycocoabytes.com.

Welches macOS brauche ich?

macOS 26 oder neuer; jede Version seit 2.5.0 setzt es voraus. Macs mit macOS 10.14.6 bis 15.7.4 können bei Version 2.1.4 bleiben, siehe ältere Versionen.

Ihr Netzwerk redet längst. Hören Sie zu.

4.1.0 zeigt, welche App jedes Paket gesendet oder empfangen hat. Sie halten das während einer Aufzeichnung fest oder öffnen eine pktap-Datei, und das Fenster „Apps“ zählt mit. Aufzeichnungsfenster laufen jetzt nebeneinander, jedes Feld in den Paketdetails kann eine Filterbedingung sein, entschlüsseltes HTTP/2 liest sich als HTTPS mit dekodierten gRPC-Aufrufen, LLDP kommt zu den Analyzern hinzu, und fixierte Aufzeichnungen bleiben oben in der Seitenleiste. Versionshinweise (auf Englisch)

Die Version aus dem Mac App Store kann alles außer Aufzeichnen. Welche brauche ich?

macOS 26 oder neuer · Universal · Von Apple notarisiert · brew install --cask cocoapacketanalyzer

Ältere Versionen