A network diagnostic tool
Trippy combines the functionality of traceroute and ping and is designed to assist with the diagnosis of network issues.
Features:
- Trace using multiple protocols:
ICMP
, UDP
& TCP
IPv4
& IPv6
- Customizable tracing options:
- packet size & payload pattern
- start and maximum time-to-live (TTL)
- minimum and maximum round duration
- round end grace period & maximum number of unknown hops
- source & destination port (
TCP
& UDP
)
- source address and source interface
TOS
(aka DSCP + ECN
)
- Equal Cost Multi-path Routing strategies (
classic
, paris
and dublin
)
- RFC4884 ICMP Multi-Part Messages
- Generic Extension Objects
- MPLS Label Stacks
- Unprivileged mode
- Tui interface:
- Trace multiple targets simultaneously from a single instance of Trippy
- Per hop stats (sent, received, loss%, last, avg, best, worst, stddev & status)
- Per hop round-trip-time (RTT) history and frequency distributing charts
- Interactive chart of RTT for all hops in a trace with zooming capability
- Interactive GeoIp world map
- Isolate and filter by individual tracing flows
- Customizable color theme & key bindings
- Configuration via both command line arguments and a configuration file
- Show multiple hosts per hop with ability to cap display to N hosts and show frequency %
- Show hop details and navigate hosts within each hop
- Freeze/unfreeze the Tui, reset the stats, flush the cache, preserve screen on exit
- Responsive UI with adjustable refresh rate
- Hop privacy
- DNS:
- GeoIp:
- Lookup and display GeoIp information from local
mmdb
files
- Generate tracing reports:
json
, csv
& tabular (pretty-printed and markdown)
- Tracing
flows
report
- Graphviz
dot
charts
- configurable reporting cycles
- Runs on multiple platform (macOS, Linux, NetBSD, FreeBSD, Windows)
- Capabilities aware application (Linux only)
This package auto-connects to the following snap interfaces:
network
: to allow general outgoing network access
network-bind
: to allow binding to local ports
network-observe
: to allow enabling CAP_NET_RAW
for using raw sockets
home: read: all
: to allow reading configuration from the user home directory