Skip to content
master
Go to file
Code

Latest commit

At this point, termshark doesn't insist that a theme has to support
every typical terminal color mode - 16-colors, 256-colors,
truecolor. Most of the current themes are for 256-colors, and will also
work in truecolor mode. If the user has theme dracula set in 256-colors
mode, then runs termshark in a cut-down terminal on the same
machine (e.g. an xterm with 16 colors), then the theme won't
load. Rather than having that silently fail, I'm now saving a theme
setting per terminal mode, under toml keys theme-16, theme-256 and
theme-truecolor. When the theme is set, a message is displayed to make
it clear the theme is set for this color mode only. It's still not
completely obvious though - if the user set a theme in one terminal
emulator, the user might still wonder why it doesn't load up in the
cut-down terminal emulator. I'm not displaying a message - I don't want
to make the user click it away. Maybe it would help to have a more
obvious message buffer for short messages of interest to the user that
will disappear on their own...
81fd807

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time

README.md

Termshark

A terminal user-interface for tshark, inspired by Wireshark.

V2.1 is out now with conversations, packet coloring and more! See the ChangeLog.

demo21

If you're debugging on a remote machine with a large pcap and no desire to scp it back to your desktop, termshark can help!

Features

  • Read pcap files or sniff live interfaces (where tshark is permitted)
  • Filter pcaps or live captures using Wireshark's display filters
  • Reassemble and inspect TCP and UDP flows
  • View network conversations by protocol
  • Copy ranges of packets to the clipboard from the terminal
  • Written in Golang, compiles to a single executable on each platform - downloads available for Linux, macOS, FreeBSD, Android (termux) and Windows

tshark has many more features that termshark doesn't expose yet! See What's Next.

Install Packages

Termshark is pre-packaged for the following platforms: Arch Linux, Debian (unstable), FreeBSD, Homebrew, Kali Linux, NixOS, SnapCraft, Termux (Android) and Ubuntu.

Building

Termshark uses Go modules, so it's best to compile with Go 1.12 or higher. Set GO111MODULE=on then run:

go get github.com/gcla/termshark/v2/cmd/termshark

Then add ~/go/bin/ to your PATH.

For all packet analysis, termshark depends on tshark from the Wireshark project. Make sure tshark is in your PATH.

Quick Start

Inspect a local pcap:

termshark -r test.pcap

Capture ping packets on interface eth0:

termshark -i eth0 icmp

Run termshark -h for options.

Downloads

Pre-compiled executables are available via Github releases. Or download the latest build from the master branch - Build Status.

Documentation

See the termshark user guide, and my best guess at some FAQs. For a summary of updates, see the ChangeLog.

Dependencies

Termshark depends on these open-source packages:

  • tshark - command-line network protocol analyzer, part of Wireshark
  • tcell - a cell based terminal handling package, inspired by termbox
  • gowid - compositional terminal UI widgets, inspired by urwid, built on tcell

Note that tshark is a run-time dependency, and must be in your PATH for termshark to function. Version 1.10.2 or higher is required (approx 2013).

Contributors

Thanks to everyone that's contributed ports, patches and effort!


Ross Jacobs

💻 🐛 📓

Hongarc

📖

Ryan Steinmetz

📦

Nicolai Søborg

📦

Elliott Sales de Andrade

💻

Romanos

💻

Denys

🐛

jerry73204

📦

Jon Knapp

📦

Mario Harjac

📦

Andrew Benson

🐛

sagis-tikal

🐛

punkymaniac

🐛

msenturk

🐛

Sandor Szücs

🐛

Dawid Dziurla

🐛 📦

jJit0

🐛

inzel

🐛

thejerrod

🤔

gdluca

🐛

Patrick Winter

📦

Robert Larsen

🤔 📓

MinJae Kwon

🐛

the-c0d3r

🤔

Gisle Vanem

🐛

hook

🐛

Lennart Koopmann

🤔

Fernandez, ReK2

🐛

mazball

🤔

wfailla

🤔

荣怡

🤔

thebyrdman-git

🐛

Clemens Mosig

🐛

Michael Rash

📓

joelparker

📓

Dragos Maftei

🤔

Matthew Giassa

🤔

Sean Abbott

📦

Vincent Wang

🤔

piping

🤔

kevinhwang91

🤔 🐛

Justin Overfelt

🤔

Anthony

🤔

basondole

🐛

Contact

License

License: MIT

You can’t perform that action at this time.