netpulse is a small Linux network-information CLI written in Rust. It reads
interfaces, IP addresses, routes, and neighbours directly from the kernel using
Netlink.
cargo build --releaseNetlink is Linux-specific. Root privileges are not normally required for these read-only queries.
# List network interfaces
cargo run -- links
# List addresses, optionally for one interface
cargo run -- address
cargo run -- address --interface eth0
# List routes, optionally filtered by IP version or routing table
cargo run -- routes
cargo run -- routes --ip-version v4
cargo run -- routes --ip-version v6 --table 254
# List neighbours, optionally for one interface
cargo run -- neighbours
cargo run -- neighbours --interface docker0
# Produce JSON output
cargo run -- --json links
cargo run -- --json address --interface eth0After building, the executable can be used directly:
./target/release/netpulse routes --ip-version v4Run netpulse --help or netpulse <command> --help for all options.
rtnetlinkandnetlink-packet-routefor Linux Netlink communicationtokioandfuturesfor asynchronous processingclapfor command-line parsingserdeandserde_jsonfor JSON output