Gibt es so etwas wie lsblk für Netzwerkschnittstellen?


10

Gibt es einen Linux-Befehl, der konfigurierte Netzwerkschnittstellen in einer Baumansicht visualisiert, genau wie lsblkbei Blockgeräten?

Die Ausgabe eines solchen Programms könnte beispielsweise so aussehen (Bottom-up-Ansatz):

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

oder dies (Top-Down-Ansatz):

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

Hinweis: Ich suche kein Tool, das genau diese Ausgabe erzeugt, sondern frage, ob jemand einen Befehl mit einem ähnlichen Ergebnis kennt.


hast du es versucht ip addr??
— Sidahmed

ja, gibt aber ip addreine flache Liste von Netzwerkschnittstellen zurück, keine hierarchische Baumansicht
— jlauinger

Antworten:


5

Ich habe in vorhandenen Dienstprogrammen nach einer Option gesucht, aber keine gefunden. Trotzdem ist die gewünschte Funktionalität aus meiner Sicht nützlich. Also habe ich ein einfaches Bash-Skript erstellt, das den ip link showBefehl analysiert und etwas druckt, das der gewünschten Ausgabe in der Frage ähnelt:

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

Ich habe das Skript an github gesendet: https://github.com/zabojcampula/show-net-devices-tree

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.