router shell is a interactive diagnostic shell for Linux
Project description
RoSh - Router Shell
About
This is an interactive diagnostic shell for Linux-based routers. It is inspired by the CLI of classic network devices (e.g. Cisco IOS) and implements diagnostic functions similar to iproute2/bridge/ethtool/tc/wireguard. It is explicitly not intended for configuration changes, but to support the analysis of software routers by network engineers.
Commands
The following commands are available:
disable
interface disable (shutdown) an interface
{ifname}
enable
interface enable (no shutdown) an interface
{ifname}
exit exit from rosh
help show command help
identify
interface initiate the adapter identify by sight procedure
{ifname}
ifstatecli run ifstatecli command
<apply|check|shell|show|showall>
lbu run lbu command
<commit|ci|diff|exclude|include|list|ls|list-backup|lb|package|pkg|revert|status|st>
mtr run mtr command
netns change active netns namespace for subsequent commands
{netns}
ping run ping command
renegotiate
interface restart auto-negotiate on an interface
{ifname}
reset
interface reset an interface
{ifname} <flags|mgmt|irq|dma|filter|offload|mac|phy|ram|dedicated|all>
shell launch a interactive system shell
show
bridge
fdb show bridge forwarding database
[dst <{ipv6}>] [ifindex <{ifname}>] [state <{state}>]
interface show interface details
{ifname} [channels|coalesce|driver|eee|features|module|pause|priv-flags|ring|settings|stats|tstamp|tunnels]
ip
address show assigned ipv4 addresses
[index <{ifname}>]
neighbour show ipv4 neighbour cache entries (ARP)
[dst <{ip}>] [ifindex <{ifname}>] [state <{state}>]
route show ipv4 routes
[dst <{pfx}>] [gateway <{ip}>] [oif <{ifname}>] [proto <{proto}>] [scope <{scope}>] [table <{table}>]
rule show ipv4 routing policy rules
[dst <{pfx}>] [iif <{ifname}>] [oif <{ifname}>] [proto <{proto}>] [src <{pfx}>] [table <{table}>]
ipv6
address show assigned ipv6 addresses
[index <{ifname}>]
neighbour show ipv4 neighbour cache entries
[dst <{ipv6}>] [ifindex <{ifname}>] [state <{state}>]
route show ipv6 routes
[dst <{pfxv6}>] [gateway <{ipv6}>] [oif <{ifname}>] [proto <{proto}>] [scope <{scope}>] [table <{table}>]
rule show ipv6 routing policy rules
[dst <{pfxv6}>] [iif <{ifname}>] [oif <{ifname}>] [proto <{proto}>] [src <{pfxv6}>] [table <{table}>]
netns show netns namespaces
{netns}
ssh run ssh command
tcpdump run tcpdump command
telnet run telnet command
traceroute run traceroute command
Install
RoSh is available at PyPi and can be installed via pip
:
$ pip install rosh
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
rosh-0.1.6.tar.gz
(32.0 kB
view hashes)
Built Distribution
rosh-0.1.6-py3-none-any.whl
(42.0 kB
view hashes)