• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

.github/H03-Feb-2020-10772

capinfo/H03-Feb-2020-161111

cli/H03-Feb-2020-11852

cmd/termshark/H03-Feb-2020-1,218835

configs/H03-May-2022-

convs/H03-Feb-2020-351242

docs/H03-Feb-2020-904596

format/H03-Feb-2020-169105

modeswap/H03-Feb-2020-4323

pcap/H03-Feb-2020-6,5385,321

pdmltree/H03-Feb-2020-567473

psmlmodel/H03-Feb-2020-152120

scripts/H03-Feb-2020-144

streams/H03-Feb-2020-4,2573,630

system/H03-Feb-2020-514292

tty/H03-Feb-2020-12370

ui/H03-Feb-2020-5,8994,663

vendor/H03-May-2022-1,287,7371,118,580

widgets/H03-Feb-2020-5,3904,059

.all-contributorsrcH A D03-Feb-20209.1 KiB353352

.gitignoreH A D03-Feb-202056 75

.goreleaser.ymlH A D03-Feb-2020865 4948

.travis.ymlH A D03-Feb-20203 KiB4948

CHANGELOG.mdH A D03-Feb-20203.2 KiB8058

LICENSEH A D03-Feb-20201.1 KiB2317

README.mdH A D03-Feb-202014.9 KiB10466

confwatcher.goH A D03-Feb-20202.2 KiB9860

fields.goH A D03-Feb-20203.7 KiB194148

fields_test.goH A D03-Feb-2020722 3616

go.modH A D03-Feb-20201.5 KiB3733

go.sumH A D03-Feb-202012.3 KiB136135

noroot.goH A D03-Feb-20201,000 4324

tailfile.goH A D03-Feb-2020554 2710

tailfile_windows.goH A D03-Feb-2020712 3720

utils.goH A D03-Feb-202023.8 KiB1,028800

utils_test.goH A D03-Feb-20204.4 KiB158127

version.goH A D03-Feb-2020371 152

README.md

1[twitter-follow-url]: https://twitter.com/intent/follow?screen_name=termshark
2[twitter-follow-img]: https://img.shields.io/twitter/follow/termshark.svg?style=social&label=Follow
3
4# Termshark
5A terminal user-interface for tshark, inspired by Wireshark.
6
7**V2.1 is out now with conversations, packet coloring and more! See the [ChangeLog](CHANGELOG.md#changelog).**
8
9![demo21](/../gh-pages/images/demo21.png?raw=true)
10
11If you're debugging on a remote machine with a large pcap and no desire to scp it back to your desktop, termshark can help!
12
13## Table of Contents
14
15* [Table of Contents](#table-of-contents)
16* [Features](#features)
17* [Install Packages](#install-packages)
18* [Building](#building)
19* [Quick Start](#quick-start)
20* [Downloads](#downloads)
21* [User Guide](#user-guide)
22* [Dependencies](#dependencies)
23* [Contributors](#contributors)
24* [Contact](#contact)
25* [License](#license)
26
27## Features
28
29- Read pcap files or sniff live interfaces (where tshark is permitted)
30- Filter pcaps or live captures using Wireshark's display filters
31- Reassemble and inspect TCP and UDP flows
32- View network conversations by protocol
33- Copy ranges of packets to the clipboard from the terminal
34- Written in Golang, compiles to a single executable on each platform - downloads available for Linux, macOS, FreeBSD, Android (termux) and Windows
35
36tshark has many more features that termshark doesn't expose yet! See [What's Next](docs/FAQ.md#whats-next).
37
38## Install Packages
39
40Termshark 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), [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).
41
42## Building
43
44Termshark uses Go modules, so it's best to compile with Go 1.11 or higher. Set `GO111MODULE=on` then run:
45
46```bash
47go install github.com/gcla/termshark/v2/cmd/termshark
48```
49Then add ```~/go/bin/``` to your ```PATH```.
50
51For all packet analysis, termshark depends on tshark from the Wireshark project. Make sure ```tshark``` is in your ```PATH```.
52
53## Quick Start
54
55Inspect a local pcap:
56
57```bash
58termshark -r test.pcap
59```
60
61Capture ping packets on interface ```eth0```:
62
63```bash
64termshark -i eth0 icmp
65```
66
67Run ```termshark -h``` for options.
68
69## Downloads
70
71Pre-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.org/gcla/termshark.svg?branch=master)](https://travis-ci.org/gcla/termshark).
72
73## User Guide
74
75See the [termshark user guide](docs/UserGuide.md) (and my best guess at some [FAQs](docs/FAQ.md))
76
77## Dependencies
78
79Termshark depends on these open-source packages:
80
81- [tshark](https://www.wireshark.org/docs/man-pages/tshark.html) - command-line network protocol analyzer, part of [Wireshark](https://wireshark.org)
82- [tcell](https://github.com/gdamore/tcell) - a cell based terminal handling package, inspired by termbox
83- [gowid](https://github.com/gcla/gowid) - compositional terminal UI widgets, inspired by [urwid](http://urwid.org), built on [tcell](https://github.com/gdamore/tcell)
84
85Note 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).
86
87## Contributors
88
89Thanks to everyone that's contributed ports, patches and effort!
90
91<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
92<!-- prettier-ignore -->
93<table><tr><td align="center"><a href="https://swit.sh"><img src="https://avatars0.githubusercontent.com/u/10995145?v=4" width="100px;" alt="Ross Jacobs"/><br /><sub><b>Ross Jacobs</b></sub></a><br /><a href="https://github.com/gcla/termshark/commits?author=pocc" title="Code">��</a><a href="https://github.com/gcla/termshark/issues?q=author%3Apocc" title="Bug reports">��</a> <a href="#userTesting-pocc" title="User Testing">��</a><a href="https://github.com/gcla/termshark/commits?author=pocc" title="Documentation">��</a><a href="#ideas-thejerrod" title="Ideas, Planning, & Feedback">��</a></td><td align="center"><a href="https://github.com/Hongarc"><img src="https://avatars1.githubusercontent.com/u/19208123?v=4" width="100px;" alt="Hongarc"/><br /><sub><b>Hongarc</b></sub></a><br /><a href="https://github.com/gcla/termshark/commits?author=Hongarc" title="Documentation">��</a></td><td align="center"><a href="https://github.com/zi0r"><img src="https://avatars0.githubusercontent.com/u/1676702?v=4" width="100px;" alt="Ryan Steinmetz"/><br /><sub><b>Ryan Steinmetz</b></sub></a><br /><a href="#platform-zi0r" title="Packaging/porting to new platform">��</a></td><td align="center"><a href="https://søb.org/"><img src="https://avatars2.githubusercontent.com/u/8722223?v=4" width="100px;" alt="Nicolai Søborg"/><br /><sub><b>Nicolai Søborg</b></sub></a><br /><a href="#platform-NicolaiSoeborg" title="Packaging/porting to new platform">��</a></td><td align="center"><a href="https://qulogic.gitlab.io/"><img src="https://avatars2.githubusercontent.com/u/302469?v=4" width="100px;" alt="Elliott Sales de Andrade"/><br /><sub><b>Elliott Sales de Andrade</b></sub></a><br /><a href="https://github.com/gcla/termshark/commits?author=QuLogic" title="Code">��</a></td><td align="center"><a href="http://rski.github.io"><img src="https://avatars2.githubusercontent.com/u/2960312?v=4" width="100px;" alt="Romanos"/><br /><sub><b>Romanos</b></sub></a><br /><a href="https://github.com/gcla/termshark/commits?author=rski" title="Code">��</a></td><td align="center"><a href="https://github.com/denyspozniak"><img src="https://avatars0.githubusercontent.com/u/22612345?v=4" width="100px;" alt="Denys"/><br /><sub><b>Denys</b></sub></a><br /><a href="https://github.com/gcla/termshark/issues?q=author%3Adenyspozniak" title="Bug reports">��</a></td></tr><tr><td align="center"><a href="https://github.com/jerry73204"><img src="https://avatars1.githubusercontent.com/u/7629150?v=4" width="100px;" alt="jerry73204"/><br /><sub><b>jerry73204</b></sub></a><br /><a href="#platform-jerry73204" title="Packaging/porting to new platform">��</a></td><td align="center"><a href="http://thann.github.com"><img src="https://avatars1.githubusercontent.com/u/578515?v=4" width="100px;" alt="Jon Knapp"/><br /><sub><b>Jon Knapp</b></sub></a><br /><a href="#platform-Thann" title="Packaging/porting to new platform">��</a></td><td align="center"><a href="https://github.com/mharjac"><img src="https://avatars2.githubusercontent.com/u/2997453?v=4" width="100px;" alt="Mario Harjac"/><br /><sub><b>Mario Harjac</b></sub></a><br /><a href="#platform-mharjac" title="Packaging/porting to new platform">��</a></td><td align="center"><a href="https://github.com/abenson"><img src="https://avatars1.githubusercontent.com/u/227317?v=4" width="100px;" alt="Andrew Benson"/><br /><sub><b>Andrew Benson</b></sub></a><br /><a href="https://github.com/gcla/termshark/issues?q=author%3Aabenson" title="Bug reports">��</a></td><td align="center"><a href="https://github.com/sagis-tikal"><img src="https://avatars2.githubusercontent.com/u/46102019?v=4" width="100px;" alt="sagis-tikal"/><br /><sub><b>sagis-tikal</b></sub></a><br /><a href="https://github.com/gcla/termshark/issues?q=author%3Asagis-tikal" title="Bug reports">��</a></td><td align="center"><a href="https://github.com/punkymaniac"><img src="https://avatars2.githubusercontent.com/u/9916797?v=4" width="100px;" alt="punkymaniac"/><br /><sub><b>punkymaniac</b></sub></a><br /><a href="https://github.com/gcla/termshark/issues?q=author%3Apunkymaniac" title="Bug reports">��</a></td><td align="center"><a href="https://github.com/msenturk"><img src="https://avatars3.githubusercontent.com/u/9482568?v=4" width="100px;" alt="msenturk"/><br /><sub><b>msenturk</b></sub></a><br /><a href="https://github.com/gcla/termshark/issues?q=author%3Amsenturk" title="Bug reports">��</a></td></tr><tr><td align="center"><a href="https://github.com/szuecs"><img src="https://avatars3.githubusercontent.com/u/50872?v=4" width="100px;" alt="Sandor Szücs"/><br /><sub><b>Sandor Szücs</b></sub></a><br /><a href="https://github.com/gcla/termshark/issues?q=author%3Aszuecs" title="Bug reports">��</a></td><td align="center"><a href="https://github.com/dawidd6"><img src="https://avatars1.githubusercontent.com/u/9713907?v=4" width="100px;" alt="Dawid Dziurla"/><br /><sub><b>Dawid Dziurla</b></sub></a><br /><a href="https://github.com/gcla/termshark/issues?q=author%3Adawidd6" title="Bug reports">��</a> <a href="#platform-dawidd6" title="Packaging/porting to new platform">��</a></td><td align="center"><a href="https://github.com/jJit0"><img src="https://avatars1.githubusercontent.com/u/23521148?v=4" width="100px;" alt="jJit0"/><br /><sub><b>jJit0</b></sub></a><br /><a href="https://github.com/gcla/termshark/issues?q=author%3AjJit0" title="Bug reports">��</a></td><td align="center"><a href="http://colinrogers001.com"><img src="https://avatars3.githubusercontent.com/u/20195547?v=4" width="100px;" alt="inzel"/><br /><sub><b>inzel</b></sub></a><br /><a href="https://github.com/gcla/termshark/issues?q=author%3Ainzel" title="Bug reports">��</a></td><td align="center"><a href="https://github.com/thejerrod"><img src="https://avatars1.githubusercontent.com/u/25254103?v=4" width="100px;" alt="thejerrod"/><br /><sub><b>thejerrod</b></sub></a><br /><a href="#ideas-thejerrod" title="Ideas, Planning, & Feedback">��</a></td><td align="center"><a href="https://github.com/gdluca"><img src="https://avatars3.githubusercontent.com/u/12004506?v=4" width="100px;" alt="gdluca"/><br /><sub><b>gdluca</b></sub></a><br /><a href="https://github.com/gcla/termshark/issues?q=author%3Agdluca" title="Bug reports">��</a></td><td align="center"><a href="https://github.com/winpat"><img src="https://avatars2.githubusercontent.com/u/6016963?v=4" width="100px;" alt="Patrick Winter"/><br /><sub><b>Patrick Winter</b></sub></a><br /><a href="#platform-winpat" title="Packaging/porting to new platform">��</a></td></tr><tr><td align="center"><a href="https://github.com/RobertLarsen"><img src="https://avatars0.githubusercontent.com/u/795303?v=4" width="100px;" alt="Robert Larsen"/><br /><sub><b>Robert Larsen</b></sub></a><br /><a href="#ideas-RobertLarsen" title="Ideas, Planning, & Feedback">��</a> <a href="#userTesting-RobertLarsen" title="User Testing">��</a></td><td align="center"><a href="https://mingrammer.com"><img src="https://avatars0.githubusercontent.com/u/6178510?v=4" width="100px;" alt="MinJae Kwon"/><br /><sub><b>MinJae Kwon</b></sub></a><br /><a href="https://github.com/gcla/termshark/issues?q=author%3Amingrammer" title="Bug reports">��</a></td><td align="center"><a href="https://github.com/the-c0d3r"><img src="https://avatars2.githubusercontent.com/u/4526565?v=4" width="100px;" alt="the-c0d3r"/><br /><sub><b>the-c0d3r</b></sub></a><br /><a href="#ideas-the-c0d3r" title="Ideas, Planning, & Feedback">��</a></td><td align="center"><a href="https://github.com/gvanem"><img src="https://avatars0.githubusercontent.com/u/945271?v=4" width="100px;" alt="Gisle Vanem"/><br /><sub><b>Gisle Vanem</b></sub></a><br /><a href="https://github.com/gcla/termshark/issues?q=author%3Agvanem" title="Bug reports">��</a></td><td align="center"><a href="https://github.com/hook-s3c"><img src="https://avatars1.githubusercontent.com/u/31825993?v=4" width="100px;" alt="hook"/><br /><sub><b>hook</b></sub></a><br /><a href="https://github.com/gcla/termshark/issues?q=author%3Ahook-s3c" title="Bug reports">��</a></td><td align="center"><a href="https://twitter.com/_lennart"><img src="https://avatars0.githubusercontent.com/u/35022?v=4" width="100px;" alt="Lennart Koopmann"/><br /><sub><b>Lennart Koopmann</b></sub></a><br /><a href="#ideas-lennartkoopmann" title="Ideas, Planning, & Feedback">��</a></td><td align="center"><a href="https://keybase.io/cfernandez"><img src="https://avatars1.githubusercontent.com/u/5316229?v=4" width="100px;" alt="Fernandez, ReK2"/><br /><sub><b>Fernandez, ReK2</b></sub></a><br /><a href="https://github.com/gcla/termshark/issues?q=author%3AReK2Fernandez" title="Bug reports">��</a></td></tr><tr><td align="center"><a href="https://github.com/mazball"><img src="https://avatars2.githubusercontent.com/u/22456251?v=4" width="100px;" alt="mazball"/><br /><sub><b>mazball</b></sub></a><br /><a href="#ideas-mazball" title="Ideas, Planning, & Feedback">��</a></td><td align="center"><a href="https://github.com/wfailla"><img src="https://avatars1.githubusercontent.com/u/5494665?v=4" width="100px;" alt="wfailla"/><br /><sub><b>wfailla</b></sub></a><br /><a href="#ideas-wfailla" title="Ideas, Planning, & Feedback">��</a></td><td align="center"><a href="https://github.com/rongyi"><img src="https://avatars3.githubusercontent.com/u/1034762?v=4" width="100px;" alt="荣怡"/><br /><sub><b>荣怡</b></sub></a><br /><a href="#ideas-rongyi" title="Ideas, Planning, & Feedback">��</a></td><td align="center"><a href="https://github.com/thebyrdman-git"><img src="https://avatars1.githubusercontent.com/u/55452713?v=4" width="100px;" alt="thebyrdman-git"/><br /><sub><b>thebyrdman-git</b></sub></a><br /><a href="https://github.com/gcla/termshark/issues?q=author%3Athebyrdman-git" title="Bug reports">��</a></td><td align="center"><a href="http://www.mi.fu-berlin.de/en/inf/groups/ilab/members/mosig.html"><img src="https://avatars2.githubusercontent.com/u/32590522?v=4" width="100px;" alt="Clemens Mosig"/><br /><sub><b>Clemens Mosig</b></sub></a><br /><a href="https://github.com/gcla/termshark/issues?q=author%3Acmosig" title="Bug reports">��</a></td><td align="center"><a href="http://www.cipherdyne.org/"><img src="https://avatars3.githubusercontent.com/u/380228?v=4" width="100px;" alt="Michael Rash"/><br /><sub><b>Michael Rash</b></sub></a><br /><a href="#userTesting-mrash" title="User Testing">��</a></td><td align="center"><a href="https://github.com/joelparker"><img src="https://avatars3.githubusercontent.com/u/136451?v=4" width="100px;" alt="joelparker"/><br /><sub><b>joelparker</b></sub></a><br /><a href="#userTesting-joelparker" title="User Testing">��</a></td></tr><tr><td align="center"><a href="https://github.com/dragosmaftei"><img src="https://avatars1.githubusercontent.com/u/15351028?v=4" width="100px;" alt="Dragos Maftei"/><br /><sub><b>Dragos Maftei</b></sub></a><br /><a href="#ideas-dragosmaftei" title="Ideas, Planning, & Feedback">��</a></td><td align="center"><a href="http://www.giassa.net"><img src="https://avatars1.githubusercontent.com/u/8325672?v=4" width="100px;" alt="Matthew Giassa"/><br /><sub><b>Matthew Giassa</b></sub></a><br /><a href="#ideas-IAXES" title="Ideas, Planning, & Feedback">��</a></td></tr></table>
94
95<!-- ALL-CONTRIBUTORS-LIST:END -->
96
97## Contact
98
99- The author - Graham Clark (grclark@gmail.com) [![Follow on Twitter][twitter-follow-img]][twitter-follow-url]
100
101## License
102
103[![License: MIT](https://img.shields.io/github/license/gcla/termshark.svg?color=yellow)](LICENSE)
104