Esiste qualcosa come lsblk per le interfacce di rete?


10

Esiste un comando Linux che visualizza le interfacce di rete configurate in una vista ad albero, proprio come lsblkper i dispositivi a blocchi?

L'output di un tale programma potrebbe ad esempio assomigliare a questo (approccio dal basso verso l'alto):

eth0   
└─bond0
  ├─bond0.42
  │ └─br42
  └─bond0.43
    └─br43
eth1
└─bond0
  ├─bond0.42
  │ └─br42
  └─bond0.43
    └─br43
tap100i0
└─br42
tap100i1
└─br43
tap101i0
└─br42
tap101i1
└─br43

o questo (approccio top-down):

br42
├─bond0.42
│ └─bond0
│   ├─eth0
│   └─eth1
├─tap100i0
└─tap101i0
br43
├─bond0.43
│ └─bond0
│   ├─eth0
│   └─eth1
├─tap100i1
└─tap101i1

Nota: non sto cercando uno strumento che produca questo risultato esatto, ma piuttosto chiedo se qualcuno conosce un comando con un risultato simile.


ci hai provato ip addr??
— Sidahmed,

sì, ma ip addrrestituisce un elenco semplice di interfacce di rete, non una vista ad albero gerarchica
— jlauinger

Risposte:


5

Ho cercato un'opzione nelle utility esistenti ma non ne ho trovata nessuna. Tuttavia, la funzionalità desiderata è utile dal mio punto di vista. Quindi ho fatto un semplice script bash che analizza il ip link showcomando e stampa qualcosa di simile all'output desiderato nella domanda:

$ ./nettree.sh -u
eth3
    bond1
       bond0
eth2
    bond0
eth1
    bond0
eth0
lupen3
    bond1
       bond0
lo
lxcbr0
virbr0
veth6404e35
    docker0

Ho inviato la sceneggiatura a github: https://github.com/zabojcampula/show-net-devices-tree

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.