
L'application macOS de premier ordre pour voir chaque paquet clairement sur votre Mac. Alternative à Wireshark.
# TCP Viewer <p align="center"> <img src="https://raw.githubusercontent.com/proxymanapp/tcpviewer/main/README.assets/hero.png" alt="TCP Viewer. Une alternative plus simple à Wireshark pour les développeurs Mac." width="900"> </p> <p align="center"> Un visualiseur de paquets natif et simple pour Mac. </p> <p align="center"> <a href="https://tcpviewer.proxyman.com">Site web</a> · <a href="https://api-tcpviewer.proxyman.com/api/releases/download/tcpviewer.dmg">Télécharger</a> · <a href="https://tcpviewer.proxyman.com/docs/">Documentation</a> · <a href="https://github.com/ProxymanApp/TCPViewer/releases">Versions</a> </p> TCP Viewer capture et lit les paquets réseau sur macOS. Il utilise le `libpcap` du système pour la capture et les bibliothèques Wireshark pour les détails approfondis des paquets. ## Fonctionnalités - Application macOS native, construite avec AppKit - Basée sur Wireshark Lib, une alternative à Wireshark - Capture le trafic en direct. - Regroupe les paquets par application, domaine ou adresse IP. - Filtre TCP, UDP, DNS, HTTP, TLS, WebSocket, et plus encore. - Lit les champs de protocole et les octets bruts. - Ouvre les fichiers PCAP et PCAPNG. - Suit les flux TCP et UDP. - Exporte les paquets au format PCAP ou PCAPNG. - Interroge un agent IA sur votre capture avec TCP Viewer MCP. - Automatise la capture, les onglets, les volets fractionnés, les filtres, les statistiques, le suivi TCP/UDP et le diff de paquets avec [`tcpviewer-cli`](https://github.com/proxymanapp/tcpviewer/blob/main/CLI.md) ou [MCP](https://github.com/proxymanapp/tcpviewer/blob/main/MCP.md). - Consulte le code source complet. ### Capture de paquets simplifiée - Choisissez une interface réseau. - Démarrez ou arrêtez en un clic. - Gardez les captures chargées faciles à lire. [](https://tcpviewer.proxyman.com/demo/main-demo.mp4) [Regarder la vidéo de capture en direct](https://tcpviewer.proxyman.com/demo/main-demo.mp4) ### TCP Viewer MCP - Connectez TCP Viewer à Codex ou à un autre client MCP. - Vérifiez l'état de la capture. - Listez les interfaces réseau. - Trouvez des paquets avec une simple invite. - Disponible avec TCP Viewer PRO. <p align="center"> <img src="https://raw.githubusercontent.com/proxymanapp/tcpviewer/main/README.assets/tcp-viewer-mcp.jpg" alt="Codex interrogeant TCP Viewer MCP sur l'état de la capture, les interfaces et les paquets" width="760"> </p> ### Ouvrir des fichiers de capture - Glissez-déposez un fichier PCAP ou PCAPNG. - Prévisualisez les paquets immédiatement. - Utilisez la même vue qu'une capture en direct. [](https://tcpviewer.proxyman.com/demo/open-pcap.mp4) [Regarder la vidéo de prévisualisation de fichier](https://tcpviewer.proxyman.com/demo/open-pcap.mp4) ### Suivre les flux TCP et UDP - Reconstituez une conversation TCP ou affichez les datagrammes UDP dans l'ordre de capture. - Ouvrez un flux depuis le menu du paquet ou le menu Outils. - Affichez les deux directions ensemble. - Affichez uniquement les données client ou serveur. - Basculez entre texte et hexadécimal. - Recherchez dans le flux. - Revenez au paquet source. [](https://tcpviewer.proxyman.com/demo/follow-tcp.mp4) [Regarder la vidéo Suivre le flux TCP](https://tcpviewer.proxyman.com/demo/follow-tcp.mp4) ### Regrouper le trafic - Regroupez les paquets par application. - Regroupez les paquets par domaine. - Regroupez les paquets par adresse IP. - Accédez directement au trafic dont vous avez besoin. [](https://tcpviewer.proxyman.com/demo/group-by-app-domains.mp4) [Regarder la vidéo du trafic regroupé](https://tcpviewer.proxyman.com/demo/group-by-app-domains.mp4) ### Filtres de protocole - Utilisez des filtres rapides pour les protocoles courants. - Combinez les filtres avec la recherche textuelle. - Concentrez-vous rapidement sur les paquets utiles. [](https://tcpviewer.proxyman.com/demo/advanced-filter.mp4) [Regarder la vidéo des filtres de protocole](https://tcpviewer.proxyman.com/demo/advanced-filter.mp4) ### Exporter les captures - Exportez tous les paquets, les paquets filtrés ou les paquets sélectionnés. - Enregistrez au format PCAP ou PCAPNG. - Ouvrez le résultat dans d'autres outils de paquets. <p align="center"> <img src="https://raw.githubusercontent.com/proxymanapp/tcpviewer/main/README.assets/export-captures.png" alt="Exporter les paquets sélectionnés au format PCAP ou PCAPNG" width="620"> </p> ### Détails des paquets - Lisez des arborescences de protocole de qualité Wireshark. - Inspectez les noms et valeurs des champs. - Faites correspondre les champs aux octets bruts. - Recherchez dans les détails des paquets. [](https://tcpviewer.proxyman.com/demo/detail-packet.mp4) [Regarder la vidéo des détails des paquets](https://tcpviewer.proxyman.com/demo/detail-packet.mp4) ## Open source - Sous licence GPL-2.0-or-later. - Consultez le pipeline de capture. - Consultez le décodage des paquets. - Consultez l'interface macOS native. - Signalez des problèmes ou envoyez une pull request.  ## Développé par l'équipe Proxyman - Réalisé par l'équipe derrière [Proxyman](https://proxyman.com) et [Tiny Shield](https://tinyshield.proxyman.com/). - Conçu pour macOS. - Axé sur la confidentialité et un débogage réseau clair.  ## Prérequis Pour exécuter TCP Viewer : - Mac Apple Silicon. - macOS 15 ou version ultérieure. Pour compiler TCP Viewer : - Xcode 16 ou version ultérieure. - Git. - CMake, Ninja, Meson, pkg-config et autotools. ```bash brew install cmake ninja meson pkg-config autoconf automake libtool ``` ## Installation Clonez avec les sous-modules. Puis initialisez la dépendance Wireshark épinglée. ```bash git clone --recurse-submodules <repo-url> cd TCPViewer cp Config/TCPViewer.local.xcconfig.example Config/TCPViewer.local.xcconfig ./scripts/bootstrap-wireshark.sh ``` Déjà cloné sans les sous-modules ? ```bash git submodule update --init --recursive ./scripts/bootstrap-wireshark.sh ``` Les scripts d'initialisation : - Exécutent d'abord `scripts/bootstrap-wireshark-deps.sh`. - Compilent les bibliothèques d'exécution de Wireshark depuis les sources. - Les écrivent dans `Vendor/.install/wireshark-deps`. - Utilisent macOS 15 comme cible de déploiement. - Utilisent Homebrew uniquement pour les outils de compilation. - Ne copient jamais les dylibs des bouteilles Homebrew dans une version publiée. Gardez les valeurs locales de signature, appcast, Sparkle, Sentry et de publication hors de Git. Utilisez `Config/TCPViewer.local.xcconfig`, `.env`, des variables d'environnement ou des outils adossés au Keychain. ## Exécution Dans Xcode : 1. Ouvrez `TCPViewer.xcodeproj`. 2. Sélectionnez le schéma `TCPViewer`. 3. Choisissez `My Mac`. 4. Appuyez sur Run. Compilation en ligne de commande : ```bash xcodebuild -project TCPViewer.xcodeproj -scheme TCPViewer build ``` Si Xcode demande une signature, sélectionnez une équipe de développement pour `TCPViewer` et `PcapPlusPlusCore`. ## Tests ```bash xcodebuild test \ -project TCPViewer.xcodeproj \ -scheme TCPViewer \ -destination 'platform=macOS' ``` ## Publication Le script de publication peut : - Compiler et notariser l'application. - Signer la mise à jour Sparkle. - Téléverser les fichiers vers Cloudflare R2. - Publier la version sur le backend. Configuration initiale : ```bash npm install bundle install gh auth login ``` Créez un fichier `.env` local à partir de `.env.example`. Ajoutez les valeurs de publication requises. Ne committez jamais de secrets réels. Utilisez `#` pour les commentaires dans `.env`. `sentry-cli` n'accepte pas les commentaires `//`. Pour une publication en production, ajoutez une entrée correspondante dans `ReleaseNote.json`. Puis exécutez : ```bash npm run release ``` Choisissez `beta` ou `production` lorsque demandé. Les publications en production effectuent également : - La création de l'appcast Sparkle. - Le push du tag `v<version>`. - La publication de la release GitHub. Pour créer uniquement la pull request Homebrew Cask pour la dernière version publique de production, exécutez `make build` et choisissez `Homebrew Cask PR from latest release`. Vous pouvez aussi exécuter directement la commande : ```bash npm run release:homebrew ``` Cela vérifie le DMG public par rapport à l'asset de la release GitHub, pousse une branche vers `ProxymanApp/homebrew-cask`, et ouvre la pull request de contribution dans `Homebrew/homebrew-cask`. Les artefacts sont écrits dans : ```bash ~/Desktop/tcpviewer-production/ ``` ## Licence TCP Viewer est sous licence GPL-2.0-or-later. Cela correspond à son utilisation des bibliothèques Wireshark. - Voir `COPYING` pour le texte complet de la GPL. - Voir `THIRD_PARTY_NOTICES.md` pour les mentions tierces. - Voir `SOURCE_CODE_OFFER.md` pour les conditions relatives au code source des versions binaires. ## Remerciements - [Wireshark](https://www.wireshark.org/) fournit la dissection des paquets. - [HexFiend](https://github.com/HexFiend/HexFiend) fournit le visualiseur hexadécimal intégré. Wireshark est une marque déposée de la Wireshark Foundation. TCP Viewer n'est ni affilié à la Wireshark Foundation ni approuvé par celle-ci.