Linux only — requires root or CAP_NET_RAW and kernel 4.4+
| Requirement | Notes |
|---|---|
| Linux kernel 4.4+ | Any modern distro kernel. eBPF support required if using eBPF mode. |
| CAP_NET_RAW | Required to observe DNS traffic. sudo works; setcap cap_net_raw+ep for passwordless use. |
| x86-64 or arm64 | Pre-built binaries provided for both. Build from source for others. |
Fully static binaries โ no libc, no runtime dependencies. Download, mark executable, run with sudo.
$ curl -fsSL https://github.com/binRick/proc-trace-dns/releases/latest/download/proc-trace-dns-linux-amd64 -o proc-trace-dns $ chmod +x proc-trace-dns $ sudo mv proc-trace-dns /usr/local/bin/ $ sudo proc-trace-dns --help
$ curl -fsSL https://github.com/binRick/proc-trace-dns/releases/latest/download/proc-trace-dns-linux-arm64 -o proc-trace-dns $ chmod +x proc-trace-dns $ sudo mv proc-trace-dns /usr/local/bin/
./proc-trace-dns --help does not require root and exits immediately.
$ sudo proc-trace-dns -n curl -- curl -s https://example.com 12345 curl A example.com โ 93.184.216.34 1.2ms
Built natively inside an AlmaLinux 9 container via GitHub Actions. Compatible with any RHEL9-based distro.
# download the latest RPM from GitHub releases $ curl -fsSL -O https://github.com/binRick/proc-trace-dns/releases/latest/download/proc-trace-dns-0.1.0-1.el9.x86_64.rpm # install $ sudo rpm -ivh proc-trace-dns-*.rpm # or with dnf $ sudo dnf localinstall proc-trace-dns-*.rpm # verify $ which proc-trace-dns /usr/local/bin/proc-trace-dns
Find the exact RPM filename on the Releases page โ
Produces a native binary for your current platform. Zero external dependencies beyond the Go standard library.
$ git clone https://github.com/binRick/proc-trace-dns $ cd proc-trace-dns $ go build -trimpath -ldflags="-s -w" -o proc-trace-dns . $ sudo mv proc-trace-dns /usr/local/bin/
build.sh script builds a fully static binary using a Docker
golang:1.22-alpine image โ no local Go toolchain required.
See Building โ for details.