
L'app macOS di prim'ordine per vedere chiaramente ogni pacchetto sul tuo Mac. Alternativa a Wireshark
# TCP Viewer <p align="center"> <img src="https://raw.githubusercontent.com/proxymanapp/tcpviewer/main/README.assets/hero.png" alt="TCP Viewer. Un'alternativa più semplice a Wireshark per sviluppatori Mac." width="900"> </p> <p align="center"> Un visualizzatore di pacchetti nativo e semplice per Mac. </p> <p align="center"> <a href="https://tcpviewer.proxyman.com">Sito web</a> · <a href="https://api-tcpviewer.proxyman.com/api/releases/download/tcpviewer.dmg">Download</a> · <a href="https://tcpviewer.proxyman.com/docs/">Documentazione</a> · <a href="https://github.com/ProxymanApp/TCPViewer/releases">Release</a> </p> TCP Viewer cattura e legge i pacchetti di rete su macOS. Utilizza la `libpcap` di sistema per la cattura e le librerie di Wireshark per i dettagli approfonditi dei pacchetti. ## Funzionalità - App nativa per macOS, sviluppata con AppKit - Basata sulle librerie di Wireshark, alternativa a Wireshark - Cattura il traffico in tempo reale. - Raggruppa i pacchetti per app, dominio o indirizzo IP. - Filtra TCP, UDP, DNS, HTTP, TLS, WebSocket e altro ancora. - Leggi i campi dei protocolli e i byte grezzi. - Apri file PCAP e PCAPNG. - Segui i flussi TCP e UDP. - Esporta i pacchetti come PCAP o PCAPNG. - Chiedi a un agente AI informazioni sulla tua cattura con TCP Viewer MCP. - Automatizza cattura, schede, pannelli divisi, filtri, statistiche, follow TCP/UDP e diff dei pacchetti con [`tcpviewer-cli`](https://github.com/proxymanapp/tcpviewer/blob/main/CLI.md) o [MCP](https://github.com/proxymanapp/tcpviewer/blob/main/MCP.md). - Consulta il codice sorgente completo. ### Cattura pacchetti semplice - Scegli un'interfaccia di rete. - Avvia o interrompi con un clic. - Mantieni le catture intense facili da leggere. [](https://tcpviewer.proxyman.com/demo/main-demo.mp4) [Guarda il video della cattura in tempo reale](https://tcpviewer.proxyman.com/demo/main-demo.mp4) ### TCP Viewer MCP - Collega TCP Viewer a Codex o a un altro client MCP. - Controlla lo stato della cattura. - Elenca le interfacce di rete. - Trova i pacchetti con un semplice prompt. - Disponibile con TCP Viewer PRO. <p align="center"> <img src="https://raw.githubusercontent.com/proxymanapp/tcpviewer/main/README.assets/tcp-viewer-mcp.jpg" alt="Codex chiede a TCP Viewer MCP lo stato della cattura, le interfacce e i pacchetti" width="760"> </p> ### Apri file di cattura - Trascina un file PCAP o PCAPNG. - Visualizza subito l'anteprima dei pacchetti. - Usa la stessa vista di una cattura in tempo reale. [](https://tcpviewer.proxyman.com/demo/open-pcap.mp4) [Guarda il video dell'anteprima dei file](https://tcpviewer.proxyman.com/demo/open-pcap.mp4) ### Segui i flussi TCP e UDP - Ricostruisci una conversazione TCP o visualizza i datagrammi UDP nell'ordine di cattura. - Apri un flusso dal menu del pacchetto o dal menu Strumenti. - Mostra entrambe le direzioni insieme. - Mostra solo i dati del client o del server. - Passa dalla visualizzazione testo a quella esadecimale. - Cerca nel flusso. - Torna al pacchetto di origine. [](https://tcpviewer.proxyman.com/demo/follow-tcp.mp4) [Guarda il video di Follow TCP Stream](https://tcpviewer.proxyman.com/demo/follow-tcp.mp4) ### Raggruppa il traffico - Raggruppa i pacchetti per app. - Raggruppa i pacchetti per dominio. - Raggruppa i pacchetti per indirizzo IP. - Vai direttamente al traffico che ti serve. [](https://tcpviewer.proxyman.com/demo/group-by-app-domains.mp4) [Guarda il video del traffico raggruppato](https://tcpviewer.proxyman.com/demo/group-by-app-domains.mp4) ### Filtri per protocollo - Usa filtri rapidi per i protocolli comuni. - Combina i filtri con la ricerca testuale. - Concentrati rapidamente sui pacchetti utili. [](https://tcpviewer.proxyman.com/demo/advanced-filter.mp4) [Guarda il video dei filtri per protocollo](https://tcpviewer.proxyman.com/demo/advanced-filter.mp4) ### Esporta le catture - Esporta tutti i pacchetti, quelli filtrati o quelli selezionati. - Salva come PCAP o PCAPNG. - Apri il risultato in altri strumenti per pacchetti. <p align="center"> <img src="https://raw.githubusercontent.com/proxymanapp/tcpviewer/main/README.assets/export-captures.png" alt="Esporta i pacchetti selezionati come PCAP o PCAPNG" width="620"> </p> ### Dettagli dei pacchetti - Leggi gli alberi dei protocolli di livello Wireshark. - Ispeziona nomi e valori dei campi. - Correla i campi ai byte grezzi. - Cerca nei dettagli dei pacchetti. [](https://tcpviewer.proxyman.com/demo/detail-packet.mp4) [Guarda il video dei dettagli dei pacchetti](https://tcpviewer.proxyman.com/demo/detail-packet.mp4) ## Open source - Concesso in licenza secondo GPL-2.0-or-later. - Consulta la pipeline di cattura. - Consulta la decodifica dei pacchetti. - Consulta l'interfaccia nativa per macOS. - Segnala problemi o invia una pull request.  ## Sviluppato dal team di Proxyman - Realizzato dal team dietro [Proxyman](https://proxyman.com) e [Tiny Shield](https://tinyshield.proxyman.com/). - Progettato per macOS. - Incentrato sulla privacy e su un debug di rete chiaro.  ## Requisiti Per eseguire TCP Viewer: - Mac con Apple Silicon. - macOS 15 o successivo. Per compilare TCP Viewer: - Xcode 16 o successivo. - Git. - CMake, Ninja, Meson, pkg-config e autotools. ```bash brew install cmake ninja meson pkg-config autoconf automake libtool ``` ## Configurazione Clona con i sottomoduli. Poi esegui il bootstrap della dipendenza Wireshark bloccata alla versione specifica. ```bash git clone --recurse-submodules <repo-url> cd TCPViewer cp Config/TCPViewer.local.xcconfig.example Config/TCPViewer.local.xcconfig ./scripts/bootstrap-wireshark.sh ``` Hai già clonato senza i sottomoduli? ```bash git submodule update --init --recursive ./scripts/bootstrap-wireshark.sh ``` Gli script di bootstrap: - Eseguono prima `scripts/bootstrap-wireshark-deps.sh`. - Compilano da sorgente le librerie runtime di Wireshark. - Le scrivono in `Vendor/.install/wireshark-deps`. - Usano macOS 15 come deployment target. - Usano Homebrew solo per gli strumenti di build. - Non copiano mai le dylib dei bottle di Homebrew in una release. Tieni i valori locali di firma, appcast, Sparkle, Sentry e release fuori da Git. Usa `Config/TCPViewer.local.xcconfig`, `.env`, variabili d'ambiente o strumenti supportati dal Keychain. ## Esecuzione In Xcode: 1. Apri `TCPViewer.xcodeproj`. 2. Seleziona lo schema `TCPViewer`. 3. Scegli `My Mac`. 4. Premi Run. Build da riga di comando: ```bash xcodebuild -project TCPViewer.xcodeproj -scheme TCPViewer build ``` Se Xcode richiede la firma, seleziona un development team per `TCPViewer` e `PcapPlusPlusCore`. ## Test ```bash xcodebuild test \ -project TCPViewer.xcodeproj \ -scheme TCPViewer \ -destination 'platform=macOS' ``` ## Release Lo script di release può: - Compilare e notarizzare l'app. - Firmare l'aggiornamento Sparkle. - Caricare i file su Cloudflare R2. - Pubblicare la release sul backend. Configurazione iniziale: ```bash npm install bundle install gh auth login ``` Crea un file `.env` locale a partire da `.env.example`. Aggiungi i valori di release richiesti. Non committare mai segreti reali. Usa `#` per i commenti nel file `.env`. `sentry-cli` non accetta commenti con `//`. Per una release di produzione, aggiungi una voce corrispondente in `ReleaseNote.json`. Poi esegui: ```bash npm run release ``` Scegli `beta` o `production` quando richiesto. Le release di produzione inoltre: - Creano l'appcast di Sparkle. - Pushano il tag `v<version>`. - Pubblicano la release su GitHub. Per creare solo la pull request del Homebrew Cask per l'ultima release di produzione pubblica, esegui `make build` e scegli `Homebrew Cask PR from latest release`. Puoi anche eseguire direttamente il comando: ```bash npm run release:homebrew ``` Questo verifica il DMG pubblico rispetto all'asset della release GitHub, pusha un branch su `ProxymanApp/homebrew-cask` e apre la pull request di contribuzione in `Homebrew/homebrew-cask`. Gli artefatti vengono scritti in: ```bash ~/Desktop/tcpviewer-production/ ``` ## Licenza TCP Viewer è concesso in licenza secondo GPL-2.0-or-later. Questo è coerente con l'uso delle librerie di Wireshark. - Vedi `COPYING` per il testo completo della GPL. - Vedi `THIRD_PARTY_NOTICES.md` per le note di terze parti. - Vedi `SOURCE_CODE_OFFER.md` per i termini sul codice sorgente delle release binarie. ## Riconoscimenti - [Wireshark](https://www.wireshark.org/) fornisce la dissezione dei pacchetti. - [HexFiend](https://github.com/HexFiend/HexFiend) fornisce il visualizzatore esadecimale integrato. Wireshark è un marchio registrato della Wireshark Foundation. TCP Viewer non è affiliato né approvato dalla Wireshark Foundation.