Skip to content

nu_plugin_net

Nushell plugin · structured output

Network data for Nushell, with structure.

Inspect interfaces, addresses, and flags as native Nushell data you can immediately filter, select, flatten, and script.

Rust pluginNushell nativeMIT licensed

Practical network insight for your shell.

One command, structured records, and a pipeline-friendly shape.

Try it yourself

A useful result, right away.

A small taste of the real plugin output.

nu
auto demo
# Install the plugincargo install nu_plugin_net --lockedinstalled nu_plugin_net# Register it with Nushellplugin add ~/.cargo/bin/nu_plugin_netadded plugin netplugin use netloaded net# Query and project the resultnet | where flags.is_up | select name if_index mac ipsname         if_index  mac                    ips
lo           1         00:00:00:00:00:00      [127.0.0.1, ::1]
en0          2         14:7d:da:3c:1f:2b      [192.168.1.42/24]
docker0      5         02:42:ac:11:00:01      [172.17.0.1/16]
sample output · structured, consistent, scriptable

Output schema

The net output

Structured. Consistent. Scriptable.

Every interface is returned as a record with stable top-level fields and nested address and flag details.

ColumnTypeDescriptionExample
namestringInterface nameen0
descriptionstringSystem-provided interface descriptionEthernet
if_indexintOperating-system interface index2
macstring | nothingHardware address when available14:7d:da:3c:1f:2b
ipstableAddresses with type and prefix192.168.1.42/24
flagsrecordState and capability flagsis_up: true

Designed for pipelines

Small surface. Useful depth.

01

Structured output

Records and tables you can pass into Nushell commands without parsing text.

02

Nested details

Reach addresses and state flags directly with familiar Nushell paths.

03

Platform-aware

Interface information is gathered through the host operating system’s native network APIs.

Installation

Ready in a few commands.

Works with the Nushell plugin system.

Install the crate, register the executable, and load the command into your current Nushell session.

See the full installation guide
# Install the plugin
cargo install nu_plugin_net --locked

# Register and load it in Nushell
plugin add ~/.cargo/bin/nu_plugin_net
plugin use net

Examples

Common pipelines.

Real tasks. Real output.

List interfaces

Show every interface and its details.

net

Only active interfaces

Keep the fields that matter for a quick status check.

net | where flags.is_up | select name if_index mac

Get addresses

Project address values from every interface.

net | each {|interface|
  { name: $interface.name, addresses: ($interface.ips | get addr) }
}

Flatten state flags

Bring nested booleans into a compact table.

net | flatten flags | select name if_index is_up is_loopback is_multicast

Documentation

Explore the details.

Learn the install flow, inspect the complete schema, and browse the generated Rust API reference.

Open source network tooling

Make your shell see more.

Read the guide, try the command, and shape the result to fit your workflow.

Get started