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

Single Packet Authorization and Port Knocking. Version 2.6.11 via Homebrew; verified 2026-06-22.

## Install

```sh
sudo av install brew:fwknop
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install fwknop
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install fwknop
```

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

### Linux

- apk (92%):

```sh
sudo apk add fwknop
```

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

- Debian apt (92%):

```sh
sudo apt install fwknop-apparmor-profile
```

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

- dnf (92%):

```sh
sudo dnf install fwknop
```

  Evidence: Fedora Rawhide package metadata: fwknop 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#fwknop
```

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

- pacman (92%):

```sh
sudo pacman -S fwknop
```

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

- zypper (92%):

```sh
sudo zypper install fwknop
```

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

## Package facts

- **Package key:** brew:fwknop
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/fwknop>
- **Version:** 2.6.11
- **Source summary:** Single Packet Authorization and Port Knocking
- **Homepage:** <https://www.cipherdyne.org/fwknop/>
- **Repository:** <https://github.com/mrash/fwknop>
- **Upstream docs:** <https://www.cipherdyne.org/fwknop>
- **License:** GPL-2.0-or-later
- **Source archive:** <https://www.cipherdyne.org/fwknop/download/fwknop-2.6.11.tar.gz>
- **Last updated:** 2026-06-22T14:03:23-07:00
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- fwknop (cli)
- fwknopd (cli)
- fwknop (alias)
- fwknopd (alias)

## Dependencies

- gpgme
- libassuan
- libgpg-error

## Build dependencies

- texinfo

## Uses from macOS

- libpcap

## Install behavior

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

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 2.6.11
- Package-manager updated: 2026-06-22
- Local data: ok
- Upstream repository: https://www.cipherdyne.org/fwknop/
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

fwknop, the FireWall KNock OPerator, is a security tool for Single Packet Authorization. It conceals services behind a default-drop firewall and temporarily opens access only after a valid encrypted, authenticated, non-replayed packet is observed.

### Project history

The official project page says fwknop began in 2004 as a port-knocking implementation and was the first tool to combine traditional encrypted port knocking with passive OS fingerprinting. The project later emphasized Single Packet Authorization as a stronger successor to port knocking.

The current C implementation includes libfko, client and server applications, and support for Linux iptables and firewalld, OpenBSD PF, FreeBSD and macOS ipfw, and custom scripts. The README describes the project state around the 2.5 release in July 2013, when libfko, the client, and fwknopd server formed the core distribution.

The official site continues to publish releases, with the project page listing 2.6.11 as the latest release and the blog showing a 2024 software release post.

### Adoption history

fwknop became known in the security community through port-knocking and SPA discussions. The official project page notes two Slashdot appearances in 2004 and 2005, one about combining port knocking with OS fingerprinting and another about going beyond port knocking with single-packet access.

Package metadata shows fwknop in multiple Unix-like package ecosystems, and upstream documentation covers Linux, BSD, macOS, Windows under Cygwin, Android clients, and graphical clients. Its adoption is strongest among administrators who want SSH or internal services invisible to ordinary scans.

### How it is used

A typical deployment generates encryption and HMAC keys, stores client settings in `~/.fwknoprc`, places shared authorization material in `/etc/fwknop/access.conf`, starts `fwknopd`, and keeps the protected service blocked by default firewall policy until a valid SPA packet arrives.

The tutorial focuses on SSH concealment, NAT gateway use, cloud environments, replay protection, HMAC authenticated encryption, and the operational tradeoff of needing both a client and a daemon.

### Why package nerds care

fwknop is significant because it turns firewall access into a packageable client-server protocol with config files, manpages, libraries, distro packages, and alternate clients. It is not just a security script; it is an ecosystem around SPA packets and firewall rule orchestration.

For maintainers, fwknop is also a reminder that security packages often include sensitive config defaults, key files, init or service integration, firewall backend differences, and compatibility with old protocol modes.

### Timeline

- 2004: Project begins as a port-knocking implementation.
- 2004: Project receives Slashdot attention for encrypted port knocking with OS fingerprinting.
- 2005: Single Packet Authorization direction receives further Slashdot attention.
- 2006: Single Packet Authorization with fwknop paper published in USENIX ;login: Magazine.
- 2011: GitHub repository created.
- 2013: README describes the 2.5 release with libfko, client, and server applications.
- 2016: Comprehensive tutorial updated.
- 2024: Official site announces fwknop 2.6.11.

### Related projects

- fwknop is closely related to port-knocking tools but positions Single Packet Authorization as a stronger design.
- The official README names fwknop-gui and Android Fwknop2 as related clients.
- Other Cipherdyne projects listed near fwknop include psad, fwsnort, gpgdir, and IPTables parsing or chain-management modules.

### Sources

- <https://api.github.com/repos/mrash/fwknop>
- <https://github.com/mrash/fwknop>
- <https://raw.githubusercontent.com/mrash/fwknop/master/README.md>
- <https://www.cipherdyne.org/fwknop>
- <https://www.cipherdyne.org/fwknop/docs/SPA.html>
- <https://www.cipherdyne.org/fwknop/docs/fwknop-tutorial.html>


## Security Notes

narrow executable package without higher-risk signals.

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


## Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.


## Configuration files

- Unix: ~/.fwknoprc, /etc/fwknop/fwknopd.conf, /etc/fwknop/access.conf

## Credential files

- Unix: ~/.fwknoprc, /etc/fwknop/access.conf
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** fwknop
- **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 - fwknop-apparmor-profile - 2.6.11-2: normalized package name match | Debian stable package indexes: fwknop-apparmor-profile from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | FireWall KNock OPerator - Apparmor profile | https://www.cipherdyne.com/fwknop/
- Debian apt - fwknop-client - 2.6.11-2+b1: normalized package name match | Debian stable package indexes: fwknop-client from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | FireWall KNock OPerator client side - C version | https://www.cipherdyne.com/fwknop/
- Debian apt - fwknop-server - 2.6.11-2+b1: normalized package name match | Debian stable package indexes: fwknop-server from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | FireWall KNock OPerator server side - C version | https://www.cipherdyne.com/fwknop/
- Debian apt - libfko-doc - 2.6.11-2: normalized package name match | Debian stable package indexes: libfko-doc from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | FireWall KNock OPerator - documentation | https://www.cipherdyne.com/fwknop/
- Debian apt - libfko-perl - 2.6.11-2+b1: normalized package name match | Debian stable package indexes: libfko-perl from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | FireWall KNock OPerator - Perl module | https://www.cipherdyne.com/fwknop/
- Debian apt - libfko3-dev - 2.6.11-2+b1: normalized package name match | Debian stable package indexes: libfko3-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | FireWall KNock OPerator - development library | https://www.cipherdyne.com/fwknop/
- Debian apt - libfko3t64 - 2.6.11-2+b1: normalized package name match | Debian stable package indexes: libfko3t64 from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | FireWall KNock OPerator - shared library | https://www.cipherdyne.com/fwknop/
- Nix - fwknop: normalized package name match | nixpkgs package indexes: pkgs/by-name/fw/fwknop/package.nix from https://api.github.com/repos/NixOS/nixpkgs/git/trees/master?recursive=1
- Ubuntu apt - fwknop-apparmor-profile - 2.6.10-20.2build3: normalized package name match | Ubuntu 24.04 LTS package indexes: fwknop-apparmor-profile from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | FireWall KNock OPerator - Apparmor profile | https://www.cipherdyne.com/fwknop/
- Ubuntu apt - fwknop-client - 2.6.10-20.2build3: normalized package name match | Ubuntu 24.04 LTS package indexes: fwknop-client from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | FireWall KNock OPerator client side - C version | https://www.cipherdyne.com/fwknop/
- Ubuntu apt - fwknop-server - 2.6.10-20.2build3: normalized package name match | Ubuntu 24.04 LTS package indexes: fwknop-server from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | FireWall KNock OPerator server side - C version | https://www.cipherdyne.com/fwknop/
- Ubuntu apt - libfko-doc - 2.6.10-20.2build3: normalized package name match | Ubuntu 24.04 LTS package indexes: libfko-doc from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | FireWall KNock OPerator - documentation | https://www.cipherdyne.com/fwknop/
- Ubuntu apt - libfko-perl - 2.6.10-20.2build3: normalized package name match | Ubuntu 24.04 LTS package indexes: libfko-perl from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | FireWall KNock OPerator - Perl module | https://www.cipherdyne.com/fwknop/
- Ubuntu apt - libfko3-dev - 2.6.10-20.2build3: normalized package name match | Ubuntu 24.04 LTS package indexes: libfko3-dev from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | FireWall KNock OPerator - development library | https://www.cipherdyne.com/fwknop/
- Ubuntu apt - libfko3t64 - 2.6.10-20.2build3: normalized package name match | Ubuntu 24.04 LTS package indexes: libfko3t64 from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | FireWall KNock OPerator - shared library | https://www.cipherdyne.com/fwknop/
- apk - fwknop - 2.6.11-r2: normalized package name match | Alpine Linux edge package indexes: fwknop from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | Single Packet Authorization (SPA) implementation | https://cipherdyne.org/fwknop/


## Related links

- [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.
- [Security and crypto packages](https://www.automicvault.com/pkg/security-crypto-tools/) - Matched security, identity, cryptography, password, signing, or certificate metadata.
- [Homebrew utility packages](https://www.automicvault.com/pkg/brew-utility-packages/) - Matched Homebrew package provider.
- [gpgme](https://www.automicvault.com/pkg/brew/gpgme/) - Runtime dependency declared by Homebrew.
- [libassuan](https://www.automicvault.com/pkg/brew/libassuan/) - Runtime dependency declared by Homebrew.
- [libgpg-error](https://www.automicvault.com/pkg/brew/libgpg-error/) - Runtime dependency declared by Homebrew.
- [texinfo](https://www.automicvault.com/pkg/brew/texinfo/) - Build dependency declared by Homebrew.
- [knock](https://www.automicvault.com/pkg/brew/knock/) - Shares av.db curated category or tags: access-control, cli, firewall, port-knocking, security.
- [libselinux](https://www.automicvault.com/pkg/brew/libselinux/) - Shares av.db curated category or tags: access-control, cli, security.
- [rush](https://www.automicvault.com/pkg/brew/rush/) - Shares av.db curated category or tags: access-control, cli, security.
- [arpoison](https://www.automicvault.com/pkg/brew/arpoison/) - Shares av.db curated category or tags: cli, network-security, security.
- [ettercap](https://www.automicvault.com/pkg/brew/ettercap/) - Shares av.db curated category or tags: cli, network-security, security.
- [fragroute](https://www.automicvault.com/pkg/brew/fragroute/) - Shares av.db curated category or tags: cli, network-security, security.
- [rshijack](https://www.automicvault.com/pkg/brew/rshijack/) - Shares av.db curated category or tags: cli, network-security, security.
- [suricata](https://www.automicvault.com/pkg/brew/suricata/) - Shares av.db curated category or tags: cli, network-security, security.
- [gnupg-pkcs11-scd](https://www.automicvault.com/pkg/brew/gnupg-pkcs11-scd/) - Security-sensitive metadata or terminology overlaps. Shared terms: cli, error, libassuan, libgpg, libgpg-error.

## Combined YAML source

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


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated configuration and credential file locations
- 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
