Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/gcla/termshark

A terminal UI for tshark, inspired by Wireshark
https://github.com/gcla/termshark

go golang gowid pcap tcell tshark tui wireshark

Last synced: 3 days ago
JSON representation

A terminal UI for tshark, inspired by Wireshark

Awesome Lists containing this project

README

        

[twitter-follow-url]: https://twitter.com/intent/follow?screen_name=termshark
[twitter-follow-img]: https://img.shields.io/twitter/follow/termshark.svg?style=social&label=Follow

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

**V2.4 is out now with packet search and profiles for colors and columns! See the [ChangeLog](CHANGELOG.md#changelog).**

![demo24](/../gh-pages/images/demo4.gif?raw=true)

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, BSD variants, Android (termux) and Windows

tshark has many more features that termshark doesn't expose yet! See [What's Next](docs/FAQ.md#whats-next).

## Install Packages

Termshark is pre-packaged for the following platforms: [Arch Linux](docs/Packages.md#arch-linux), [Debian (unstable)](docs/Packages.md#debian), [FreeBSD](docs/Packages.md#freebsd), [Homebrew](docs/Packages.md#homebrew), [MacPorts](docs/Packages.md#macports), [Kali Linux](docs/Packages.md#kali-linux), [NixOS](docs/Packages.md#nixos), [SnapCraft](docs/Packages.md#snapcraft), [Termux (Android)](docs/Packages.md#termux-android) and [Ubuntu](docs/Packages.md#ubuntu).

## Building

Termshark uses Go modules. Set `GO111MODULE=on` then run:

```bash
go install github.com/gcla/termshark/v2/cmd/[email protected]
```

For versions of Go between 1.14 and 1.17, use

```bash
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:

```bash
termshark -r test.pcap
```

Capture ping packets on interface ```eth0```:

```bash
termshark -i eth0 icmp
```

Run ```termshark -h``` for options.

## Downloads

Pre-compiled executables are available via [Github releases](https://github.com/gcla/termshark/releases). Or download the latest build from the master branch - [![Build Status](https://travis-ci.com/gcla/termshark.svg?branch=master)](https://travis-ci.com/gcla/termshark).

## Documentation

See the [termshark user guide](docs/UserGuide.md), and my best guess at some [FAQs](docs/FAQ.md). For a summary of updates, see the [ChangeLog](CHANGELOG.md#changelog).

## Dependencies

Termshark depends on these open-source packages:

- [tshark](https://www.wireshark.org/docs/man-pages/tshark.html) - command-line network protocol analyzer, part of [Wireshark](https://wireshark.org)
- [tcell](https://github.com/gdamore/tcell) - a cell based terminal handling package, inspired by termbox
- [gowid](https://github.com/gcla/gowid) - compositional terminal UI widgets, inspired by [urwid](http://urwid.org), built on [tcell](https://github.com/gdamore/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

πŸ›

zoulja

πŸ›

freddii

πŸ›

Thord Setsaas

πŸ“–

deliciouslytyped

πŸ›

factorion

πŸ“¦



Herby Gillot

πŸ“¦

nmeum

πŸ€”

Aaron Bieber

πŸ€”

elig0n

πŸ€”

luzpaz

πŸ“–

uzxmx

πŸ’»

## Contact

- The author - Graham Clark ([email protected]) [![Follow on Twitter][twitter-follow-img]][twitter-follow-url]

## License

[![License: MIT](https://img.shields.io/github/license/gcla/termshark.svg?color=yellow)](LICENSE)