Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

netpulse

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.

Build

cargo build --release

Netlink is Linux-specific. Root privileges are not normally required for these read-only queries.

Usage

# 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 eth0

After building, the executable can be used directly:

./target/release/netpulse routes --ip-version v4

Run netpulse --help or netpulse <command> --help for all options.

Main dependencies

  • rtnetlink and netlink-packet-route for Linux Netlink communication
  • tokio and futures for asynchronous processing
  • clap for command-line parsing
  • serde and serde_json for JSON output

About

`netpulse` is a small Linux network-information CLI written in Rust.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages