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.
tcpviewer-cli.
Watch the Follow TCP Stream video
Watch the grouped traffic video
Watch the protocol filter video
Watch the packet details video


To run TCP Viewer:
To build TCP Viewer:
brew install cmake ninja meson pkg-config autoconf automake libtool
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:
scripts/bootstrap-wireshark-deps.sh first.Vendor/.install/wireshark-deps.Keep local signing, appcast, Sparkle, Sentry, and release values out of Git. Use Config/TCPViewer.local.xcconfig, .env, environment variables, or Keychain-backed tools.
In Xcode:
TCPViewer.xcodeproj.TCPViewer scheme.My Mac.Command-line build:
xcodebuild -project TCPViewer.xcodeproj -scheme TCPViewer build
If Xcode asks for signing, select a development team for TCPViewer and PcapPlusPlusCore.
xcodebuild test \
-project TCPViewer.xcodeproj \
-scheme TCPViewer \
-destination 'platform=macOS'
The release script can:
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:
Choose beta or production when asked.
Production releases also:
v<version> tag.To create only the Homebrew Cask pull request for the latest public production
release, run make build and choose Homebrew Cask PR from latest release.
You can also run the direct command:
This verifies the public DMG against the GitHub release asset, pushes a branch to
ProxymanApp/homebrew-cask, and opens the contribution pull request in
Homebrew/homebrew-cask.
Artifacts are written to:
~/Desktop/tcpviewer-production/
TCP Viewer is licensed under GPL-2.0-or-later. This matches its use of Wireshark libraries.
COPYING for the full GPL text.THIRD_PARTY_NOTICES.md for third-party notices.SOURCE_CODE_OFFER.md for binary release source terms.Wireshark is a trademark of the Wireshark Foundation. TCP Viewer is not affiliated with or endorsed by the Wireshark Foundation.