A command line utility to display network information.
Information is parsed from the output of the iproute2 ip command with the json option.
netviewer [-d|--detail] <command> [<argument>...]
where command is one of
| Command | Description |
|---|---|
| bridge | display information on all or specific bridges |
| bridges | list bridges |
| dump | dumps the network information as a json file |
| interface | display information on all or specific interfaces |
| interfaces | list interfaces |
| link | display information on all or specific links |
| links | list links |
| route | display information on all or specific bridges |
| routes | list routes |
Using the -d/--detail flags with the interface, bridge, route and link commands displays detailed information.
Items which are up or in an unknown state are shown in green otherwise they are shown as dim green (the loopback interface is in an unknown state but can be used, so unknown states are also shown as green.)
Displays information about bridge devices i.e. network devices that have associated veth devices under them.
Dumps the the network information as a json file to the filename passed as an argument.
Displays interface information from the ip address show command. Pass interface names as arguments to display specific interfaces or leave blank to display all interfaces.
Displays routing information from the ip route show command.
Displays link information from the ip link show command.
Using the --input option the network information can be displayed from a static json file.
Using the --save-svg and --save-html options the output can be sent to a file instead.
This utilises functionality built into rich
For example using the interfaces command
$ netviewer interfaces
in WSL on my machine displays the following information
lo
eth0
bond0
dummy0
sit0
tunl0
And using the interface command for the lo interface
$ netviewer interface lo
displays the following information
lo:
index: 1
type: loopback
state: unknown
ipv4:
scope: host
ip: 127.0.0.1/8
preferred lifetime: forever
valid lifetime: forever
ipv6:
scope: host
ip: ::1/128
preferred lifetime: forever
valid lifetime: forever
flags: LOOPBACK, UP, LOWER_UP
mtu:
size: 65536
Running the link command
$ netviewer link bond0
Displays the following
bond0:
index: 2
state: down
type: ether
address: 96:b5:c9:e7:ed:ff
broadcast: ff:ff:ff:ff:ff:ff
flags: BROADCAST, MULTICAST, MASTER
mtu: 1500
namespace id: 0
group: default
queue type: noop
Running the link command with the -d/--detail option
$ netviewer -d link bond0
Displays the following
bond0:
index: 2
state: down
type: ether
address: 96:b5:c9:e7:ed:ff
broadcast: ff:ff:ff:ff:ff:ff
flags: BROADCAST, MULTICAST, MASTER
mtu: 1500
namespace id: 0
group: default
queue type: noop
link info:
type: bond
mode: balance-rr
miimon: 0
up delay: 0ms
down delay: 0ms
peer notifier delay: 0ms
use carrier: true (1)
ARP interval: 0ms
ARP validate: active
arp all targets: any
primary reselect: always
failover mac: none
transmit hash policy: layer2
resend IGMP: 1
all slaves active: dropped
minimum links: 0
lp interval: 1s
packets per slave: 1
LACP rate: slow
LACP aggregation selection logic: stable
tb mode dynamic shuffling: 1