Skip to content
 
 

Latest commit

 

History

122 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TCP Viewer

TCP Viewer. A simpler Wireshark alternative for Mac developers.

A simple, native packet viewer for Mac.

Website · Download · Docs · Releases

TCP Viewer captures and reads network packets on macOS. It uses system libpcap for capture and Wireshark libraries for deep packet details.

Features

  • Native macOS app, built with AppKit
  • Built on top of Wireshark Lib, alternative to Wireshark
  • Capture live traffic.
  • Group packets by app, domain, or IP address.
  • Filter TCP, UDP, DNS, HTTP, TLS, WebSocket, and more.
  • Read protocol fields and raw bytes.
  • Open PCAP and PCAPNG files.
  • Follow a full TCP stream.
  • Export packets as PCAP or PCAPNG.
  • Ask an AI agent about your capture with TCP Viewer MCP.
  • Review the full source code.

Easy packet capture

  • Pick a network interface.
  • Start or stop with one click.
  • Keep busy captures easy to read.

TCP Viewer live packet capture

Watch the live capture video

TCP Viewer MCP

  • Connect TCP Viewer to Codex or another MCP client.
  • Check the capture status.
  • List network interfaces.
  • Find packets with a simple prompt.
  • Available with TCP Viewer PRO.

Codex asking TCP Viewer MCP about capture status, interfaces, and packets

Open capture files

  • Drag in a PCAP or PCAPNG file.
  • Preview packets right away.
  • Use the same view as a live capture.

Open a PCAP or PCAPNG file in TCP Viewer

Watch the file preview video

Follow TCP Stream

  • Rebuild one full TCP conversation.
  • Show both directions together.
  • Show only client or server data.
  • Switch between text and hex.
  • Search the stream.
  • Jump back to the source packet.

Follow a TCP stream in TCP Viewer

Watch the Follow TCP Stream video

Group traffic

  • Group packets by app.
  • Group packets by domain.
  • Group packets by IP address.
  • Jump to the traffic you need.

Group packets by app, domain, and IP address

Watch the grouped traffic video

Protocol filters

  • Use quick filters for common protocols.
  • Combine filters with text search.
  • Focus on useful packets fast.

Filter captured packets by protocol

Watch the protocol filter video

Export captures

  • Export all, filtered, or selected packets.
  • Save as PCAP or PCAPNG.
  • Open the result in other packet tools.

Export selected packets as PCAP or PCAPNG

Packet details

  • Read Wireshark-grade protocol trees.
  • Inspect field names and values.
  • Match fields to raw bytes.
  • Search packet details.

Inspect protocol fields and raw packet bytes

Watch the packet details video

Open source

  • Licensed under GPL-2.0-or-later.
  • Review the capture pipeline.
  • Review packet decoding.
  • Review the native macOS interface.
  • Report issues or send a pull request.

TCP Viewer is GPL open source

Built by the Proxyman Team

  • Made by the team behind Proxyman and Tiny Shield.
  • Built for macOS.
  • Focused on privacy and clear network debugging.

TCP Viewer is built by the Proxyman Team

Requirements

To run TCP Viewer:

  • Apple Silicon Mac.
  • macOS 15 or later.

To build TCP Viewer:

  • Xcode 16 or later.
  • Git.
  • CMake, Ninja, Meson, pkg-config, and autotools.
brew install cmake ninja meson pkg-config autoconf automake libtool

Setup

Clone with submodules. Then bootstrap the pinned Wireshark dependency.

git clone --recurse-submodules <repo-url>
cd TCPViewer
cp Config/TCPViewer.local.xcconfig.example Config/TCPViewer.local.xcconfig
./scripts/bootstrap-wireshark.sh

Already cloned without submodules?

git submodule update --init --recursive
./scripts/bootstrap-wireshark.sh

The bootstrap scripts:

  • Run scripts/bootstrap-wireshark-deps.sh first.
  • Build Wireshark's runtime libraries from source.
  • Write them to Vendor/.install/wireshark-deps.
  • Use macOS 15 as the deployment target.
  • Use Homebrew only for build tools.
  • Never copy Homebrew bottle dylibs into a release.

Keep local signing, appcast, Sparkle, Sentry, and release values out of Git. Use Config/TCPViewer.local.xcconfig, .env, environment variables, or Keychain-backed tools.

Run

In Xcode:

  1. Open TCPViewer.xcodeproj.
  2. Select the TCPViewer scheme.
  3. Choose My Mac.
  4. Press Run.

Command-line build:

xcodebuild -project TCPViewer.xcodeproj -scheme TCPViewer build

If Xcode asks for signing, select a development team for TCPViewer and PcapPlusPlusCore.

Test

xcodebuild test \
  -project TCPViewer.xcodeproj \
  -scheme TCPViewer \
  -destination 'platform=macOS'

Release

The release script can:

  • Build and notarize the app.
  • Sign the Sparkle update.
  • Upload files to Cloudflare R2.
  • Publish the release to the backend.

First-time setup:

npm install
bundle install
gh auth login

Create a local .env from .env.example. Add the required release values. Never commit real secrets.

Use # for comments in .env. sentry-cli does not accept // comments.

For a production release, add a matching entry to ReleaseNote.json. Then run:

npm run release

Choose beta or production when asked.

Production releases also:

  • Create the Sparkle appcast.
  • Push the v<version> tag.
  • Publish the GitHub release.

Artifacts are written to:

~/Desktop/tcpviewer-production/

License

TCP Viewer is licensed under GPL-2.0-or-later. This matches its use of Wireshark libraries.

  • See COPYING for the full GPL text.
  • See THIRD_PARTY_NOTICES.md for third-party notices.
  • See SOURCE_CODE_OFFER.md for binary release source terms.

Acknowledgements

Wireshark is a trademark of the Wireshark Foundation. TCP Viewer is not affiliated with or endorsed by the Wireshark Foundation.

About

The best-in-class macOS app to See every packet clearly on your Mac. Alternative to Wireshark

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages