# Install tcpflow with Homebrew, apk, apt, dnf, MacPorts, Nix, pacman, zypper

TCP/IP packet demultiplexer. Version 1.6.1 via Homebrew; verified 2026-04-26.

## Install

```sh
sudo av install brew:tcpflow
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install tcpflow
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install tcpflow
```

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

### Linux

- apk (92%):

```sh
sudo apk add tcpflow
```

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

- Debian apt (92%):

```sh
sudo apt install tcpflow
```

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

- dnf (92%):

```sh
sudo dnf install tcpflow
```

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

- Nix (92%):

```sh
nix profile install nixpkgs#tcpflow
```

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

- pacman (92%):

```sh
sudo pacman -S tcpflow
```

  Evidence: Arch Linux sync databases: tcpflow from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

- zypper (92%):

```sh
sudo zypper install tcpflow
```

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

## Package facts

- **Package key:** brew:tcpflow
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/tcpflow>
- **Version:** 1.6.1
- **Source summary:** TCP/IP packet demultiplexer
- **Homepage:** <https://github.com/simsong/tcpflow>
- **Repository:** <https://github.com/simsong/tcpflow>
- **Upstream docs:** <https://github.com/simsong/tcpflow#readme>
- **License:** GPL-3.0-only
- **Source archive:** <https://corp.digitalcorpora.org/downloads/tcpflow/tcpflow-1.6.1.tar.gz>
- **Last updated:** 2026-04-26T22:28:28Z
- **Generated:** 2026-07-08T18:08:21+00:00

## Executables

- tcpflow (cli)
- tcpflow (alias)

## Dependencies

- openssl@4

## Build dependencies

- boost

## Uses from macOS

- bzip2
- libpcap

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 1.6.1
- Package-manager updated: 2026-04-26
- Local data: ok
- Upstream repository: https://github.com/simsong/tcpflow
- info: No cached GitHub release or tag data was available.
## Project history and usage

tcpflow is a packet-capture and TCP stream reassembly tool that writes each reconstructed flow to files for protocol analysis, debugging, and network forensics.

### Project history

The upstream README says Jeremy Elson originally wrote tcpflow to capture data sent by programs using undocumented network protocols, including streaming media and instant messaging applications, so those protocols could be reverse engineered.

The README also records that Simson Garfinkel later took over maintenance after leaving Sandstorm Enterprises and needing a TCP flow reassembly program. The public GitHub repository was created in 2012 and continues as the upstream development home.

### Adoption history

tcpflow's README states that most common GNU/Linux distributions ship it in their repositories, and the input package facts show it packaged by Homebrew and major Linux and Unix package systems.

Its niche adoption follows from doing something adjacent to tcpdump and Wireshark but more file-oriented: reconstructing application byte streams into separate artifacts that can be inspected after capture.

### How it is used

Common usage is to capture live traffic or read stored tcpdump packet flows, split each TCP direction into a named file, and optionally post-process HTTP responses into headers and bodies.

The README positions it for understanding network packet flows, protocol debugging, malware analysis from HTTP sessions, and forensic workflows.

### Why package nerds care

Package nerds care because tcpflow sits in the pcap toolchain but exposes a different abstraction: not packets, but reconstructed conversations. That makes it useful as a small dependency-free-ish CLI companion to tcpdump in forensic and debugging toolboxes.

It is also a packaging case study in older network tooling modernized over time, with libpcap, OpenSSL/zlib-style dependencies, autotools, CMake notes, RPM building instructions, and active distribution packaging all visible in upstream docs.

### Timeline

- 1998: Sandstorm Enterprises founded, later producing related commercial TCP flow tools TCPDEMUX and NetIntercept.
- 2012: simsong/tcpflow GitHub repository created.
- 2013: Upstream README recommends citing the Naval Postgraduate School technical report on tcpflow.
- 2020: Maintainer status report describes porting tcpflow and related libraries to modern C++.

### Related projects

- tcpdump and libpcap are related because tcpflow can process tcpdump packet flows and uses the LBL Packet Capture Library.
- Wireshark is mentioned upstream as a contrasting packet analyzer; TCPDEMUX and NetIntercept are named as related commercial flow tools.

### Sources

- <https://api.github.com/repos/simsong/tcpflow>
- <https://github.com/simsong/tcpflow#readme>


## Security Notes

narrow executable package without higher-risk signals.

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

## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** tcpflow
- **Version Scheme:** 0
- **Revision:** 1
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Debian apt - tcpflow - 1.6.1-3+b1: normalized package name match | Debian stable package indexes: tcpflow from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | TCP flow recorder | https://github.com/simsong/tcpflow
- Debian apt - tcpflow-nox - 1.6.1-3+b1: normalized package name match | Debian stable package indexes: tcpflow-nox from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | TCP flow recorder - version without X11 dependencies | https://github.com/simsong/tcpflow
- Nix - tcpflow: normalized package name match | nixpkgs package indexes: pkgs/by-name/tc/tcpflow/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - tcpflow - 1.6.1-3build2: normalized package name match | Ubuntu 24.04 LTS package indexes: tcpflow from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | TCP flow recorder | https://github.com/simsong/tcpflow
- Ubuntu apt - tcpflow-nox - 1.6.1-3build2: normalized package name match | Ubuntu 24.04 LTS package indexes: tcpflow-nox from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | TCP flow recorder - version without X11 dependencies | https://github.com/simsong/tcpflow
- apk - tcpflow - 1.6.1-r14: normalized package name match | Alpine Linux edge package indexes: tcpflow from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | A Tool for monitoring, capturing and storing TCP connections flows | https://github.com/simsong/tcpflow
- apk - tcpflow-doc - 1.6.1-r14: normalized package name match | Alpine Linux edge package indexes: tcpflow-doc from https://dl-cdn.alpinelinux.org/alpine/edge/main/x86_64/APKINDEX.tar.gz | A Tool for monitoring, capturing and storing TCP connections flows (documentation) | https://github.com/simsong/tcpflow
- dnf - tcpflow - 1.6.2-0.1.8d47b53.fc45: normalized package name match | Fedora Rawhide package metadata: tcpflow from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Network traffic recorder | https://github.com/simsong/tcpflow
- pacman - tcpflow - 1.6.1-2: normalized package name match | Arch Linux sync databases: tcpflow from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | Captures data transmitted as part of TCP connections then stores the data conveniently | https://github.com/simsong/tcpflow
- zypper - tcpflow - 1.6.1-2.15: normalized package name match | openSUSE Tumbleweed package metadata: tcpflow from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst | Program for capturing and collecting TCP streams | https://github.com/simsong/tcpflow
- MacPorts - tcpflow: normalized package name match | MacPorts ports tree: net/tcpflow/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1


## Related links

- [Source-control packages](https://www.automicvault.com/pkg/source-control-tools/) - Belongs to a source-control command family.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Homebrew utility packages](https://www.automicvault.com/pkg/brew-utility-packages/) - Matched Homebrew package provider.
- [openssl@4](https://www.automicvault.com/pkg/brew/openssl-4/) - Runtime dependency declared by Homebrew.
- [httpflow](https://www.automicvault.com/pkg/brew/httpflow/) - Shares av.db curated category or tags: cli, networking, packet-analysis, packet-capture.
- [miruo](https://www.automicvault.com/pkg/brew/miruo/) - Shares av.db curated category or tags: cli, networking, packet-analysis, tcp.
- [sngrep](https://www.automicvault.com/pkg/brew/sngrep/) - Shares av.db curated category or tags: cli, networking, packet-analysis, packet-capture.
- [tcpdump](https://www.automicvault.com/pkg/brew/tcpdump/) - Shares av.db curated category or tags: cli, networking, packet-analysis, packet-capture.
- [tcpsplit](https://www.automicvault.com/pkg/brew/tcpsplit/) - Shares av.db curated category or tags: cli, networking, packet-analysis, tcp.
- [httpry](https://www.automicvault.com/pkg/brew/httpry/) - Shares av.db curated category or tags: cli, networking, packet-analysis.
- [ipsumdump](https://www.automicvault.com/pkg/brew/ipsumdump/) - Shares av.db curated category or tags: cli, networking, packet-analysis.
- [libtrace](https://www.automicvault.com/pkg/brew/libtrace/) - Shares av.db curated category or tags: cli, networking, packet-analysis.

## Combined YAML source

View the package source record on GitHub. [combined/tcpflow.yml](https://github.com/automic-vault/db/blob/main/combined/tcpflow.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
