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.