Чи є щось на зразок lsblk для мережевих інтерфейсів?


10

Чи є команда Linux, яка візуалізує налаштовані мережеві інтерфейси у вигляді дерева, як lsblkі для блокових пристроїв?

Вихід такої програми може, наприклад, виглядати таким чином (підхід знизу вгору):

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

або це (зверху вниз):

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

Примітка. Я не шукаю інструмент, який дає такий точний результат, а я просто запитую, чи знає хто команду з подібним результатом.


ти спробував ip addr??
Сидахмед

так, але ip addrповертає плоский список мережевих інтерфейсів, а не ієрархічний вигляд дерева
jlauinger

Відповіді:


5

Я шукаю варіант у існуючих утилітах, але я не знайшов жодної. Тим не менш, бажана функціональність корисна з моєї точки зору. Тому я зробив простий скрипт bash, який аналізує ip link showкоманду і друкує щось подібне до потрібного виводу у запитанні:

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

Я підштовхнув сценарій до github: https://github.com/zabojcampula/show-net-devices-tree

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.