
O melhor aplicativo macOS da sua classe para ver cada pacote claramente no seu Mac. Alternativa ao Wireshark.
# TCP Viewer <p align="center"> <img src="https://raw.githubusercontent.com/proxymanapp/tcpviewer/main/README.assets/hero.png" alt="TCP Viewer. Uma alternativa mais simples ao Wireshark para desenvolvedores Mac." width="900"> </p> <p align="center"> Um visualizador de pacotes nativo e simples para 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> O TCP Viewer captura e lê pacotes de rede no macOS. Ele usa o `libpcap` do sistema para captura e as bibliotecas do Wireshark para detalhes aprofundados dos pacotes. ## Recursos - App nativo para macOS, construído com AppKit - Construído sobre a Lib do Wireshark, alternativa ao Wireshark - Captura tráfego ao vivo. - Agrupa pacotes por app, domínio ou endereço IP. - Filtra TCP, UDP, DNS, HTTP, TLS, WebSocket e mais. - Lê campos de protocolo e bytes brutos. - Abre arquivos PCAP e PCAPNG. - Acompanha streams TCP e UDP. - Exporta pacotes como PCAP ou PCAPNG. - Pergunte a um agente de IA sobre sua captura com o TCP Viewer MCP. - Automatize captura, abas, painéis divididos, filtros, estatísticas, follow TCP/UDP e diff de pacotes com [`tcpviewer-cli`](https://github.com/proxymanapp/tcpviewer/blob/main/CLI.md) ou [MCP](https://github.com/proxymanapp/tcpviewer/blob/main/MCP.md). - Revise o código-fonte completo. ### Captura de pacotes fácil - Escolha uma interface de rede. - Inicie ou pare com um clique. - Mantenha capturas movimentadas fáceis de ler. [](https://tcpviewer.proxyman.com/demo/main-demo.mp4) [Assista ao vídeo de captura ao vivo](https://tcpviewer.proxyman.com/demo/main-demo.mp4) ### TCP Viewer MCP - Conecte o TCP Viewer ao Codex ou a outro cliente MCP. - Verifique o status da captura. - Liste as interfaces de rede. - Encontre pacotes com um prompt simples. - Disponível com o TCP Viewer PRO. <p align="center"> <img src="https://raw.githubusercontent.com/proxymanapp/tcpviewer/main/README.assets/tcp-viewer-mcp.jpg" alt="Codex perguntando ao TCP Viewer MCP sobre status da captura, interfaces e pacotes" width="760"> </p> ### Abrir arquivos de captura - Arraste um arquivo PCAP ou PCAPNG. - Visualize os pacotes imediatamente. - Use a mesma visualização de uma captura ao vivo. [](https://tcpviewer.proxyman.com/demo/open-pcap.mp4) [Assista ao vídeo de visualização de arquivo](https://tcpviewer.proxyman.com/demo/open-pcap.mp4) ### Acompanhar Streams TCP e UDP - Reconstrua uma conversa TCP ou visualize datagramas UDP na ordem de captura. - Abra um stream pelo menu do pacote ou pelo menu Tools. - Mostre ambas as direções juntas. - Mostre apenas dados do cliente ou do servidor. - Alterne entre texto e hex. - Pesquise no stream. - Volte ao pacote de origem. [](https://tcpviewer.proxyman.com/demo/follow-tcp.mp4) [Assista ao vídeo de Follow TCP Stream](https://tcpviewer.proxyman.com/demo/follow-tcp.mp4) ### Agrupar tráfego - Agrupe pacotes por app. - Agrupe pacotes por domínio. - Agrupe pacotes por endereço IP. - Vá direto ao tráfego que você precisa. [](https://tcpviewer.proxyman.com/demo/group-by-app-domains.mp4) [Assista ao vídeo de tráfego agrupado](https://tcpviewer.proxyman.com/demo/group-by-app-domains.mp4) ### Filtros de protocolo - Use filtros rápidos para protocolos comuns. - Combine filtros com busca por texto. - Foque em pacotes úteis rapidamente. [](https://tcpviewer.proxyman.com/demo/advanced-filter.mp4) [Assista ao vídeo de filtro de protocolo](https://tcpviewer.proxyman.com/demo/advanced-filter.mp4) ### Exportar capturas - Exporte todos, filtrados ou selecionados pacotes. - Salve como PCAP ou PCAPNG. - Abra o resultado em outras ferramentas de pacotes. <p align="center"> <img src="https://raw.githubusercontent.com/proxymanapp/tcpviewer/main/README.assets/export-captures.png" alt="Exportar pacotes selecionados como PCAP ou PCAPNG" width="620"> </p> ### Detalhes do pacote - Leia árvores de protocolo no nível do Wireshark. - Inspecione nomes e valores de campos. - Relacione campos com bytes brutos. - Pesquise nos detalhes do pacote. [](https://tcpviewer.proxyman.com/demo/detail-packet.mp4) [Assista ao vídeo de detalhes do pacote](https://tcpviewer.proxyman.com/demo/detail-packet.mp4) ## Código aberto - Licenciado sob GPL-2.0-or-later. - Revise o pipeline de captura. - Revise a decodificação de pacotes. - Revise a interface nativa do macOS. - Relate problemas ou envie um pull request.  ## Criado pela Equipe Proxyman - Feito pela equipe por trás do [Proxyman](https://proxyman.com) e do [Tiny Shield](https://tinyshield.proxyman.com/). - Construído para macOS. - Focado em privacidade e depuração de rede clara.  ## Requisitos Para executar o TCP Viewer: - Mac com Apple Silicon. - macOS 15 ou posterior. Para compilar o TCP Viewer: - Xcode 16 ou posterior. - Git. - CMake, Ninja, Meson, pkg-config e autotools. ```bash brew install cmake ninja meson pkg-config autoconf automake libtool ``` ## Configuração Clone com submódulos. Em seguida, inicialize a dependência fixada do Wireshark. ```bash git clone --recurse-submodules <repo-url> cd TCPViewer cp Config/TCPViewer.local.xcconfig.example Config/TCPViewer.local.xcconfig ./scripts/bootstrap-wireshark.sh ``` Já clonou sem submódulos? ```bash git submodule update --init --recursive ./scripts/bootstrap-wireshark.sh ``` Os scripts de bootstrap: - Executam `scripts/bootstrap-wireshark-deps.sh` primeiro. - Compilam as bibliotecas de runtime do Wireshark a partir do código-fonte. - Gravam-nas em `Vendor/.install/wireshark-deps`. - Usam macOS 15 como target de deployment. - Usam Homebrew apenas para ferramentas de build. - Nunca copiam dylibs de bottle do Homebrew para uma release. Mantenha valores locais de assinatura, appcast, Sparkle, Sentry e release fora do Git. Use `Config/TCPViewer.local.xcconfig`, `.env`, variáveis de ambiente ou ferramentas com suporte a Keychain. ## Executar No Xcode: 1. Abra `TCPViewer.xcodeproj`. 2. Selecione o scheme `TCPViewer`. 3. Escolha `My Mac`. 4. Pressione Run. Build pela linha de comando: ```bash xcodebuild -project TCPViewer.xcodeproj -scheme TCPViewer build ``` Se o Xcode solicitar assinatura, selecione uma equipe de desenvolvimento para `TCPViewer` e `PcapPlusPlusCore`. ## Testar ```bash xcodebuild test \ -project TCPViewer.xcodeproj \ -scheme TCPViewer \ -destination 'platform=macOS' ``` ## Release O script de release pode: - Compilar e notarizar o app. - Assinar a atualização do Sparkle. - Enviar arquivos para o Cloudflare R2. - Publicar a release no backend. Configuração inicial: ```bash npm install bundle install gh auth login ``` Crie um `.env` local a partir de `.env.example`. Adicione os valores de release necessários. Nunca faça commit de segredos reais. Use `#` para comentários no `.env`. O `sentry-cli` não aceita comentários com `//`. Para uma release de produção, adicione uma entrada correspondente em `ReleaseNote.json`. Em seguida, execute: ```bash npm run release ``` Escolha `beta` ou `production` quando solicitado. Releases de produção também: - Criam o appcast do Sparkle. - Enviam a tag `v<version>`. - Publicam a release no GitHub. Para criar apenas o pull request do Homebrew Cask para a última release pública de produção, execute `make build` e escolha `Homebrew Cask PR from latest release`. Você também pode executar o comando direto: ```bash npm run release:homebrew ``` Isso verifica o DMG público em relação ao asset da release do GitHub, envia um branch para `ProxymanApp/homebrew-cask` e abre o pull request de contribuição em `Homebrew/homebrew-cask`. Os artefatos são gravados em: ```bash ~/Desktop/tcpviewer-production/ ``` ## Licença O TCP Viewer é licenciado sob GPL-2.0-or-later. Isso está de acordo com seu uso das bibliotecas do Wireshark. - Consulte `COPYING` para o texto completo da GPL. - Consulte `THIRD_PARTY_NOTICES.md` para avisos de terceiros. - Consulte `SOURCE_CODE_OFFER.md` para os termos de código-fonte de releases binárias. ## Agradecimentos - [Wireshark](https://www.wireshark.org/) fornece a dissecação de pacotes. - [HexFiend](https://github.com/HexFiend/HexFiend) fornece o visualizador hex incorporado. Wireshark é uma marca registrada da Wireshark Foundation. O TCP Viewer não é afiliado nem endossado pela Wireshark Foundation.