---
name: "trip"
section: "1"
platform: "linux"
package: "trippy"
version: "0.13.0-2"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/trip"
---

# trip(1)

A network diagnostic tool

## NAME

trip - A network diagnostic tool

## SYNOPSIS

**trip** \[**-c**\|**--config-file**\] \[**-m**\|**--mode**\] \[**-u**\|**--unprivileged**\] \[**-p**\|**--protocol**\] \[**--udp**\] \[**--tcp**\] \[**--icmp**\] \[**-F**\|**--addr-family**\] \[**-4**\|**--ipv4**\] \[**-6**\|**--ipv6**\] \[**-P**\|**--target-port**\] \[**-S**\|**--source-port**\] \[**-A**\|**--source-address**\] \[**-I**\|**--interface**\] \[**-i**\|**--min-round-duration**\] \[**-T**\|**--max-round-duration**\] \[**-g**\|**--grace-duration**\] \[**--initial-sequence**\] \[**-R**\|**--multipath-strategy**\] \[**-U**\|**--max-inflight**\] \[**-f**\|**--first-ttl**\] \[**-t**\|**--max-ttl**\] \[**--packet-size**\] \[**--payload-pattern**\] \[**-Q**\|**--tos**\] \[**-e**\|**--icmp-extensions**\] \[**--read-timeout**\] \[**-r**\|**--dns-resolve-method**\] \[**-y**\|**--dns-resolve-all**\] \[**--dns-timeout**\] \[**--dns-ttl**\] \[**-z**\|**--dns-lookup-as-info**\] \[**-s**\|**--max-samples**\] \[**--max-flows**\] \[**-a**\|**--tui-address-mode**\] \[**--tui-as-mode**\] \[**--tui-custom-columns**\] \[**--tui-icmp-extension-mode**\] \[**--tui-geoip-mode**\] \[**-M**\|**--tui-max-addrs**\] \[**--tui-preserve-screen**\] \[**--tui-refresh-rate**\] \[**--tui-privacy-max-ttl**\] \[**--tui-locale**\] \[**--tui-timezone**\] \[**--tui-theme-colors**\] \[**--print-tui-theme-items**\] \[**--tui-key-bindings**\] \[**--print-tui-binding-commands**\] \[**-C**\|**--report-cycles**\] \[**-G**\|**--geoip-mmdb-file**\] \[**--generate**\] \[**--generate-man**\] \[**--print-config-template**\] \[**--print-locales**\] \[**--log-format**\] \[**--log-filter**\] \[**--log-span-events**\] \[**-v**\|**--verbose**\] \[**-h**\|**--help**\] \[**-V**\|**--version**\] \[*TARGETS*\]

## DESCRIPTION

A network diagnostic tool

## OPTIONS

- **-c**, **--config-file**=*CONFIG\_FILE*

  Config file

- **-m**, **--mode**=*MODE*

  Output mode \[default: tui\]\

  *Possible values:*

  - •

    tui: Display interactive TUI

  - •

    stream: Display a continuous stream of tracing data

  - •

    pretty: Generate a pretty text table report for N cycles

  - •

    markdown: Generate a Markdown text table report for N cycles

  - •

    csv: Generate a CSV report for N cycles

  - •

    json: Generate a JSON report for N cycles

  - •

    dot: Generate a Graphviz DOT file for N cycles

  - •

    flows: Display all flows for N cycles

  - •

    silent: Do not generate any tracing output for N cycles

- **-u**, **--unprivileged**

  Trace without requiring elevated privileges on supported platforms \[default: false\]

- **-p**, **--protocol**=*PROTOCOL*

  Tracing protocol \[default: icmp\]\

  *Possible values:*

  - •

    icmp: Internet Control Message Protocol

  - •

    udp: User Datagram Protocol

  - •

    tcp: Transmission Control Protocol

- **--udp**

  Trace using the UDP protocol

- **--tcp**

  Trace using the TCP protocol

- **--icmp**

  Trace using the ICMP protocol

- **-F**, **--addr-family**=*ADDR\_FAMILY*

  The address family \[default: ipv4-then-ipv6\]\

  *Possible values:*

  - •

    ipv4: IPv4 only

  - •

    ipv6: IPv6 only

  - •

    ipv6-then-ipv4: IPv6 with a fallback to IPv4

  - •

    ipv4-then-ipv6: IPv4 with a fallback to IPv6

  - •

    system: If the OS resolver is being used then use the first IP address returned, otherwise lookup IPv6 with a fallback to IPv4

- **-4**, **--ipv4**

  Use IPv4 only

- **-6**, **--ipv6**

  Use IPv6 only

- **-P**, **--target-port**=*TARGET\_PORT*

  The target port (TCP & UDP only) \[default: 80\]

- **-S**, **--source-port**=*SOURCE\_PORT*

  The source port (TCP & UDP only) \[default: auto\]

- **-A**, **--source-address**=*SOURCE\_ADDRESS*

  The source IP address \[default: auto\]

- **-I**, **--interface**=*INTERFACE*

  The network interface \[default: auto\]

- **-i**, **--min-round-duration**=*MIN\_ROUND\_DURATION*

  The minimum duration of every round \[default: 1s\]

- **-T**, **--max-round-duration**=*MAX\_ROUND\_DURATION*

  The maximum duration of every round \[default: 1s\]

- **-g**, **--grace-duration**=*GRACE\_DURATION*

  The period of time to wait for additional ICMP responses after the target has responded \[default: 100ms\]

- **--initial-sequence**=*INITIAL\_SEQUENCE*

  The initial sequence number \[default: 33434\]

- **-R**, **--multipath-strategy**=*MULTIPATH\_STRATEGY*

  The Equal-cost Multi-Path routing strategy (UDP only) \[default: classic\]\

  *Possible values:*

  - •

    classic: The src or dest port is used to store the sequence number

  - •

    paris: The UDP \`checksum\` field is used to store the sequence number

  - •

    dublin: The IP \`identifier\` field is used to store the sequence number

- **-U**, **--max-inflight**=*MAX\_INFLIGHT*

  The maximum number of in-flight ICMP echo requests \[default: 24\]

- **-f**, **--first-ttl**=*FIRST\_TTL*

  The TTL to start from \[default: 1\]

- **-t**, **--max-ttl**=*MAX\_TTL*

  The maximum number of TTL hops \[default: 64\]

- **--packet-size**=*PACKET\_SIZE*

  The size of IP packet to send (IP header + ICMP header + payload) \[default: 84\]

- **--payload-pattern**=*PAYLOAD\_PATTERN*

  The repeating pattern in the payload of the ICMP packet \[default: 0\]

- **-Q**, **--tos**=*TOS*

  The TOS (i.e. DSCP+ECN) IP header value (IPv4 only) \[default: 0\]

- **-e**, **--icmp-extensions**

  Parse ICMP extensions

- **--read-timeout**=*READ\_TIMEOUT*

  The socket read timeout \[default: 10ms\]

- **-r**, **--dns-resolve-method**=*DNS\_RESOLVE\_METHOD*

  How to perform DNS queries \[default: system\]\

  *Possible values:*

  - •

    system: Resolve using the OS resolver

  - •

    resolv: Resolve using the \`/etc/resolv.conf\` DNS configuration

  - •

    google: Resolve using the Google \`8.8.8.8\` DNS service

  - •

    cloudflare: Resolve using the Cloudflare \`1.1.1.1\` DNS service

- **-y**, **--dns-resolve-all**

  Trace to all IPs resolved from DNS lookup \[default: false\]

- **--dns-timeout**=*DNS\_TIMEOUT*

  The maximum time to wait to perform DNS queries \[default: 5s\]

- **--dns-ttl**=*DNS\_TTL*

  The time-to-live (TTL) of DNS entries \[default: 300s\]

- **-z**, **--dns-lookup-as-info**

  Lookup autonomous system (AS) information during DNS queries \[default: false\]

- **-s**, **--max-samples**=*MAX\_SAMPLES*

  The maximum number of samples to record per hop \[default: 256\]

- **--max-flows**=*MAX\_FLOWS*

  The maximum number of flows to record \[default: 64\]

- **-a**, **--tui-address-mode**=*TUI\_ADDRESS\_MODE*

  How to render addresses \[default: host\]\

  *Possible values:*

  - •

    ip: Show IP address only

  - •

    host: Show reverse-lookup DNS hostname only

  - •

    both: Show both IP address and reverse-lookup DNS hostname

- **--tui-as-mode**=*TUI\_AS\_MODE*

  How to render autonomous system (AS) information \[default: asn\]\

  *Possible values:*

  - •

    asn: Show the ASN

  - •

    prefix: Display the AS prefix

  - •

    country-code: Display the country code

  - •

    registry: Display the registry name

  - •

    allocated: Display the allocated date

  - •

    name: Display the AS name

- **--tui-custom-columns**=*TUI\_CUSTOM\_COLUMNS*

  Custom columns to be displayed in the TUI hops table \[default: holsravbwdt\]

- **--tui-icmp-extension-mode**=*TUI\_ICMP\_EXTENSION\_MODE*

  How to render ICMP extensions \[default: off\]\

  *Possible values:*

  - •

    off: Do not show \`icmp\` extensions

  - •

    mpls: Show MPLS label(s) only

  - •

    full: Show full \`icmp\` extension data for all known extensions

  - •

    all: Show full \`icmp\` extension data for all classes

- **--tui-geoip-mode**=*TUI\_GEOIP\_MODE*

  How to render GeoIp information \[default: short\]\

  *Possible values:*

  - •

    off: Do not display GeoIp data

  - •

    short: Show short format

  - •

    long: Show long format

  - •

    location: Show latitude and Longitude format

- **-M**, **--tui-max-addrs**=*TUI\_MAX\_ADDRS*

  The maximum number of addresses to show per hop \[default: auto\]

- **--tui-preserve-screen**

  Preserve the screen on exit \[default: false\]

- **--tui-refresh-rate**=*TUI\_REFRESH\_RATE*

  The TUI refresh rate \[default: 100ms\]

- **--tui-privacy-max-ttl**=*TUI\_PRIVACY\_MAX\_TTL*

  The maximum ttl of hops which will be masked for privacy \[default: none\]

  If set, the source IP address and hostname will also be hidden.

- **--tui-locale**=*TUI\_LOCALE*

  The locale to use for the TUI \[default: auto\]

- **--tui-timezone**=*TUI\_TIMEZONE*

  The timezone to use for the TUI \[default: auto\]

  The timezone must be a valid IANA timezone identifier.

- **--tui-theme-colors**=*TUI\_THEME\_COLORS*

  The TUI theme colors \[item=color,item=color,..\]

- **--print-tui-theme-items**

  Print all TUI theme items and exit

- **--tui-key-bindings**=*TUI\_KEY\_BINDINGS*

  The TUI key bindings \[command=key,command=key,..\]

- **--print-tui-binding-commands**

  Print all TUI commands that can be bound and exit

- **-C**, **--report-cycles**=*REPORT\_CYCLES*

  The number of report cycles to run \[default: 10\]

- **-G**, **--geoip-mmdb-file**=*GEOIP\_MMDB\_FILE*

  The supported MaxMind or IPinfo GeoIp mmdb file

- **--generate**=*GENERATE*

  Generate shell completion\

  \[*possible values:* bash, elvish, fish, powershell, zsh\]

- **--generate-man**

  Generate ROFF man page

- **--print-config-template**

  Print a template toml config file and exit

- **--print-locales**

  Print all available TUI locales and exit

- **--log-format**=*LOG\_FORMAT*

  The debug log format \[default: pretty\]\

  *Possible values:*

  - •

    compact: Display log data in a compact format

  - •

    pretty: Display log data in a pretty format

  - •

    json: Display log data in a json format

  - •

    chrome: Display log data in Chrome trace format

- **--log-filter**=*LOG\_FILTER*

  The debug log filter \[default: trippy=debug\]

- **--log-span-events**=*LOG\_SPAN\_EVENTS*

  The debug log format \[default: off\]\

  *Possible values:*

  - •

    off: Do not display event spans

  - •

    active: Display enter and exit event spans

  - •

    full: Display all event spans

- **-v**, **--verbose**

  Enable verbose debug logging

- **-h**, **--help**

  Print help (see a summary with '-h')

- **-V**, **--version**

  Print version

- \[*TARGETS*\]

  A space delimited list of hostnames and IPs to trace

## VERSION

v0.13.0

## AUTHORS

FujiApple \<fujiapple852@gmail.com\>
