
Die erstklassige macOS-App, um jedes Paket klar auf Ihrem Mac zu sehen. Alternative zu Wireshark.
# TCP Viewer <p align="center"> <img src="https://raw.githubusercontent.com/proxymanapp/tcpviewer/main/README.assets/hero.png" alt="TCP Viewer. Eine einfachere Wireshark-Alternative für Mac-Entwickler." width="900"> </p> <p align="center"> Ein einfacher, nativer Paket-Viewer für Mac. </p> <p align="center"> <a href="https://tcpviewer.proxyman.com">Website</a> · <a href="https://api-tcpviewer.proxyman.com/api/releases/download/tcpviewer.dmg">Download</a> · <a href="https://tcpviewer.proxyman.com/docs/">Docs</a> · <a href="https://github.com/ProxymanApp/TCPViewer/releases">Releases</a> </p> TCP Viewer erfasst und liest Netzwerkpakete unter macOS. Es verwendet das systemeigene `libpcap` für die Erfassung und Wireshark-Bibliotheken für detaillierte Paketinformationen. ## Funktionen - Native macOS-App, entwickelt mit AppKit - Basiert auf der Wireshark-Bibliothek, eine Alternative zu Wireshark - Live-Verkehr erfassen. - Pakete nach App, Domain oder IP-Adresse gruppieren. - TCP, UDP, DNS, HTTP, TLS, WebSocket und mehr filtern. - Protokollfelder und Rohbytes lesen. - PCAP- und PCAPNG-Dateien öffnen. - TCP- und UDP-Streams verfolgen. - Pakete als PCAP oder PCAPNG exportieren. - Fragen Sie einen KI-Agenten zu Ihrer Erfassung mit TCP Viewer MCP. - Automatisieren Sie Erfassung, Tabs, geteilte Bereiche, Filter, Statistiken, TCP/UDP-Follow und Paket-Diff mit [`tcpviewer-cli`](https://github.com/proxymanapp/tcpviewer/blob/main/CLI.md) oder [MCP](https://github.com/proxymanapp/tcpviewer/blob/main/MCP.md). - Den vollständigen Quellcode einsehen. ### Einfache Paketerfassung - Wählen Sie eine Netzwerkschnittstelle. - Starten oder stoppen Sie mit einem Klick. - Halten Sie umfangreiche Erfassungen übersichtlich. [](https://tcpviewer.proxyman.com/demo/main-demo.mp4) [Das Live-Erfassungsvideo ansehen](https://tcpviewer.proxyman.com/demo/main-demo.mp4) ### TCP Viewer MCP - Verbinden Sie TCP Viewer mit Codex oder einem anderen MCP-Client. - Prüfen Sie den Erfassungsstatus. - Listen Sie Netzwerkschnittstellen auf. - Finden Sie Pakete mit einem einfachen Prompt. - Verfügbar mit TCP Viewer PRO. <p align="center"> <img src="https://raw.githubusercontent.com/proxymanapp/tcpviewer/main/README.assets/tcp-viewer-mcp.jpg" alt="Codex fragt TCP Viewer MCP nach Erfassungsstatus, Schnittstellen und Paketen" width="760"> </p> ### Erfassungsdateien öffnen - Ziehen Sie eine PCAP- oder PCAPNG-Datei hinein. - Zeigen Sie Pakete sofort in der Vorschau an. - Verwenden Sie dieselbe Ansicht wie bei einer Live-Erfassung. [](https://tcpviewer.proxyman.com/demo/open-pcap.mp4) [Das Dateivorschau-Video ansehen](https://tcpviewer.proxyman.com/demo/open-pcap.mp4) ### TCP- und UDP-Streams verfolgen - Rekonstruieren Sie eine TCP-Konversation oder zeigen Sie UDP-Datagramme in Erfassungsreihenfolge an. - Öffnen Sie einen Stream über das Paketmenü oder das Menü „Tools“. - Zeigen Sie beide Richtungen zusammen an. - Zeigen Sie nur Client- oder Serverdaten an. - Wechseln Sie zwischen Text und Hex. - Durchsuchen Sie den Stream. - Springen Sie zum Quellpaket zurück. [](https://tcpviewer.proxyman.com/demo/follow-tcp.mp4) [Das Video „TCP-Stream verfolgen“ ansehen](https://tcpviewer.proxyman.com/demo/follow-tcp.mp4) ### Verkehr gruppieren - Pakete nach App gruppieren. - Pakete nach Domain gruppieren. - Pakete nach IP-Adresse gruppieren. - Springen Sie zum benötigten Verkehr. [](https://tcpviewer.proxyman.com/demo/group-by-app-domains.mp4) [Das Video zum gruppierten Verkehr ansehen](https://tcpviewer.proxyman.com/demo/group-by-app-domains.mp4) ### Protokollfilter - Verwenden Sie Schnellfilter für gängige Protokolle. - Kombinieren Sie Filter mit der Textsuche. - Konzentrieren Sie sich schnell auf nützliche Pakete. [](https://tcpviewer.proxyman.com/demo/advanced-filter.mp4) [Das Protokollfilter-Video ansehen](https://tcpviewer.proxyman.com/demo/advanced-filter.mp4) ### Erfassungen exportieren - Exportieren Sie alle, gefilterte oder ausgewählte Pakete. - Speichern Sie als PCAP oder PCAPNG. - Öffnen Sie das Ergebnis in anderen Paketwerkzeugen. <p align="center"> <img src="https://raw.githubusercontent.com/proxymanapp/tcpviewer/main/README.assets/export-captures.png" alt="Ausgewählte Pakete als PCAP oder PCAPNG exportieren" width="620"> </p> ### Paketdetails - Lesen Sie Protokollbäume in Wireshark-Qualität. - Untersuchen Sie Feldnamen und -werte. - Ordnen Sie Felder den Rohbytes zu. - Durchsuchen Sie Paketdetails. [](https://tcpviewer.proxyman.com/demo/detail-packet.mp4) [Das Paketdetails-Video ansehen](https://tcpviewer.proxyman.com/demo/detail-packet.mp4) ## Open Source - Lizenziert unter GPL-2.0-or-later. - Überprüfen Sie die Erfassungspipeline. - Überprüfen Sie die Paketdekodierung. - Überprüfen Sie die native macOS-Oberfläche. - Melden Sie Probleme oder senden Sie einen Pull Request.  ## Entwickelt vom Proxyman-Team - Entwickelt vom Team hinter [Proxyman](https://proxyman.com) und [Tiny Shield](https://tinyshield.proxyman.com/). - Für macOS entwickelt. - Fokussiert auf Datenschutz und klares Netzwerk-Debugging.  ## Anforderungen Um TCP Viewer auszuführen: - Apple Silicon Mac. - macOS 15 oder neuer. Um TCP Viewer zu erstellen: - Xcode 16 oder neuer. - Git. - CMake, Ninja, Meson, pkg-config und autotools. ```bash brew install cmake ninja meson pkg-config autoconf automake libtool ``` ## Einrichtung Klonen Sie mit Submodulen. Führen Sie dann das Bootstrap für die festgelegte Wireshark-Abhängigkeit aus. ```bash git clone --recurse-submodules <repo-url> cd TCPViewer cp Config/TCPViewer.local.xcconfig.example Config/TCPViewer.local.xcconfig ./scripts/bootstrap-wireshark.sh ``` Bereits ohne Submodule geklont? ```bash git submodule update --init --recursive ./scripts/bootstrap-wireshark.sh ``` Die Bootstrap-Skripte: - Führen zuerst `scripts/bootstrap-wireshark-deps.sh` aus. - Erstellen die Wireshark-Laufzeitbibliotheken aus dem Quellcode. - Schreiben sie nach `Vendor/.install/wireshark-deps`. - Verwenden macOS 15 als Deployment-Ziel. - Verwenden Homebrew nur für Build-Tools. - Kopieren niemals Homebrew-Bottle-Dylibs in ein Release. Halten Sie lokale Signierungs-, Appcast-, Sparkle-, Sentry- und Release-Werte aus Git heraus. Verwenden Sie `Config/TCPViewer.local.xcconfig`, `.env`, Umgebungsvariablen oder Keychain-gestützte Tools. ## Ausführen In Xcode: 1. Öffnen Sie `TCPViewer.xcodeproj`. 2. Wählen Sie das Schema `TCPViewer`. 3. Wählen Sie `My Mac`. 4. Drücken Sie Run. Kommandozeilen-Build: ```bash xcodebuild -project TCPViewer.xcodeproj -scheme TCPViewer build ``` Wenn Xcode nach der Signierung fragt, wählen Sie ein Entwicklungsteam für `TCPViewer` und `PcapPlusPlusCore`. ## Testen ```bash xcodebuild test \ -project TCPViewer.xcodeproj \ -scheme TCPViewer \ -destination 'platform=macOS' ``` ## Release Das Release-Skript kann: - Die App erstellen und notarisieren. - Das Sparkle-Update signieren. - Dateien zu Cloudflare R2 hochladen. - Das Release im Backend veröffentlichen. Ersteinrichtung: ```bash npm install bundle install gh auth login ``` Erstellen Sie eine lokale `.env` aus `.env.example`. Fügen Sie die erforderlichen Release-Werte hinzu. Committen Sie niemals echte Secrets. Verwenden Sie `#` für Kommentare in `.env`. `sentry-cli` akzeptiert keine `//`-Kommentare. Fügen Sie für ein Produktions-Release einen passenden Eintrag zu `ReleaseNote.json` hinzu. Führen Sie dann aus: ```bash npm run release ``` Wählen Sie `beta` oder `production`, wenn Sie gefragt werden. Produktions-Releases: - Erstellen den Sparkle-Appcast. - Pushen den Tag `v<version>`. - Veröffentlichen das GitHub-Release. Um nur den Homebrew-Cask-Pull-Request für das neueste öffentliche Produktions-Release zu erstellen, führen Sie `make build` aus und wählen Sie `Homebrew Cask PR from latest release`. Sie können auch den direkten Befehl ausführen: ```bash npm run release:homebrew ``` Dies verifiziert das öffentliche DMG gegen das GitHub-Release-Asset, pusht einen Branch zu `ProxymanApp/homebrew-cask` und öffnet den Beitrags-Pull-Request in `Homebrew/homebrew-cask`. Artefakte werden geschrieben nach: ```bash ~/Desktop/tcpviewer-production/ ``` ## Lizenz TCP Viewer ist unter GPL-2.0-or-later lizenziert. Dies entspricht der Verwendung der Wireshark-Bibliotheken. - Siehe `COPYING` für den vollständigen GPL-Text. - Siehe `THIRD_PARTY_NOTICES.md` für Hinweise zu Drittanbietern. - Siehe `SOURCE_CODE_OFFER.md` für die Quellcode-Bedingungen der Binär-Releases. ## Danksagungen - [Wireshark](https://www.wireshark.org/) bietet die Paket-Dissektion. - [HexFiend](https://github.com/HexFiend/HexFiend) bietet den eingebetteten Hex-Viewer. Wireshark ist eine Marke der Wireshark Foundation. TCP Viewer ist nicht mit der Wireshark Foundation verbunden und wird von ihr nicht unterstützt.