# Install tcptraceroute with Homebrew, apk, apt, MacPorts, Nix, dnf, zypper

Traceroute implementation using TCP packets. Version 1.5beta7 via Homebrew; verified 2026-07-10. Also installable with debian: sudo apt install tcptraceroute.

## Install

```sh
sudo av install brew:tcptraceroute
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install tcptraceroute
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install tcptraceroute
```

  Evidence: MacPorts ports tree: net/tcptraceroute/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add tcptraceroute
```

  Evidence: Alpine Linux edge package indexes: tcptraceroute from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz

- Debian apt (92%):

```sh
sudo apt install tcptraceroute
```

  Evidence: Debian stable package indexes: tcptraceroute from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- Nix (92%):

```sh
nix profile install nixpkgs#tcptraceroute
```

  Evidence: nixpkgs package indexes: pkgs/by-name/tc/tcptraceroute/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1

- dnf (92%):

```sh
sudo dnf install traceroute
```

  Evidence: Fedora Rawhide package metadata: traceroute from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-primary.xml.zst

- zypper (92%):

```sh
sudo zypper install traceroute
```

  Evidence: openSUSE Tumbleweed package metadata: traceroute from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-primary.xml.zst

## Package facts

- **Package key:** brew:tcptraceroute
- **Package manager:** Homebrew
- **Version:** 1.5beta7
- **Source summary:** Traceroute implementation using TCP packets
- **Homepage:** <https://github.com/mct/tcptraceroute>
- **Repository:** <https://github.com/mct/tcptraceroute>
- **Last updated:** 2026-07-10T10:41:25-04:00
- **Generated:** 2026-08-03T19:37:03+00:00

## Executables

- tcptraceroute (alias)

## Install behavior

- Bottle: not available

## Freshness

- Page generated: 2026-08-03
- Package-manager version: 1.5beta7
## Project history and usage

tcptraceroute is a traceroute implementation that sends TCP packets instead of relying on the traditional UDP or ICMP probe pattern. Its package-manager niche is diagnosing paths through networks where ordinary traceroute behavior is filtered or misleading.

### Project history

Michael C. Toren's official README identifies the project as a TCP-packet traceroute implementation and carries copyright coverage from 2001 through 2015. The ChangeLog records version 1.0 as the initial release on 2001-04-10, followed quickly by safer privilege handling, more probe options, portability work, Debian-related fixes, and libnet/libpcap integration.

### Adoption history

The supplied package metadata shows tcptraceroute packaged across Homebrew, Debian, Ubuntu, Alpine, MacPorts, Nix, and several RPM-family distributions, sometimes through the broader traceroute package name. That spread reflects the long-standing need for a TCP-flavored traceroute in sysadmin and network-diagnostics toolbelts.

### How it is used

The official examples file demonstrates tcptraceroute tracing through firewalled webservers where traceroute had trouble, using TCP port 80 probes and displaying open endpoints. In practice it is installed when a user wants traceroute-style hop visibility using traffic that resembles a real TCP connection attempt.

### Why package nerds care

tcptraceroute is significant because it turns a common troubleshooting workaround into a named package. It is small, old, and specialized, but it has enough operational value that package ecosystems continue to carry it alongside traceroute, libpcap, and libnet.

### Timeline

- 2001-04-10: Version 1.0 initial release.
- 2001-06-30: Version 1.1 added root-privilege dropping after sockets are opened.
- 2001-07-31: Version 1.2 added multiple probe and packet-option features.
- 2006-03-28: Version 1.5beta7 updated manpage examples and Debian-related build details.
- 2001-2015: README copyright range for Michael C. Toren's project.

### Related projects

- Traditional traceroute is the conceptual baseline; libnet and libpcap are documented build dependencies; the official examples compare behavior against traceroute on firewalled destinations.

### Sources

- <https://github.com/mct/tcptraceroute#readme>
- <https://raw.githubusercontent.com/mct/tcptraceroute/master/ChangeLog>
- <https://raw.githubusercontent.com/mct/tcptraceroute/master/README>
- <https://raw.githubusercontent.com/mct/tcptraceroute/master/examples.txt>
- input source_facts.package-manager


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals

## Other Package-Manager Records

- Debian apt - tcptraceroute - 1.5beta7+debian-4.2: normalized package name match | Debian stable package indexes: tcptraceroute from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | traceroute implementation using TCP packets | https://github.com/mct/tcptraceroute
- Nix - tcptraceroute: normalized package name match | nixpkgs package indexes: pkgs/by-name/tc/tcptraceroute/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - tcptraceroute - 1.5beta7+debian-4.1build2: normalized package name match | Ubuntu 24.04 LTS package indexes: tcptraceroute from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | traceroute implementation using TCP packets | https://github.com/mct/tcptraceroute
- apk - tcptraceroute - 1.5_beta7-r4: normalized package name match | Alpine Linux edge package indexes: tcptraceroute from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Display route path using TCP probes | https://github.com/mct/tcptraceroute
- apk - tcptraceroute-doc - 1.5_beta7-r4: normalized package name match | Alpine Linux edge package indexes: tcptraceroute-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Display route path using TCP probes (documentation) | https://github.com/mct/tcptraceroute
- dnf - traceroute - 2.1.6-5.fc45: normalized package name match | Fedora Rawhide package metadata: traceroute from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/07190dc5ae9f35ae73866675fed6d95fe6e8d9fe22c9d7cdf85862cb2ed24a4c-primary.xml.zst | Traces the route taken by packets over an IPv4/IPv6 network | http://traceroute.sourceforge.net
- zypper - traceroute - 2.1.6-1.5: normalized package name match | openSUSE Tumbleweed package metadata: traceroute from https://download.opensuse.org/tumbleweed/repo/oss/repodata/50b07339cb64c8ed4091bdbabddadc1ff5737b090e478818a195b40d8a3292861a879139b4a3987c31109699fde9fbf4a716367ddf4eef77da75f96e3193d6ed-primary.xml.zst | Packet route path tracing utility | https://traceroute.sourceforge.net/
- MacPorts - tcptraceroute: normalized package name match | MacPorts ports tree: net/tcptraceroute/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Combined YAML source

View the package source record on GitHub. [combined/tcptraceroute.yml](https://github.com/mxcl/pkgdb/blob/main/combined/tcptraceroute.yml)


## Sources

- pkg.so package database
- Geiger risk classifier
- curated package history
- pkgdb category and tag curation
- external package-manager database matches
- cross-ecosystem install command graph
