Apakah ada sesuatu seperti lsblk untuk antarmuka jaringan?

10

Apakah ada perintah Linux yang memvisualisasikan antarmuka jaringan yang dikonfigurasi dalam tampilan hierarki, seperti lsblkhalnya untuk perangkat blok?

Output dari program semacam itu misalnya dapat terlihat seperti ini (pendekatan dari bawah ke atas):

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

atau ini (pendekatan top-down):

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

Catatan: Saya tidak mencari alat yang menghasilkan output yang tepat ini, melainkan menanyakan apakah ada yang tahu perintah dengan hasil yang sama.

Blingeringer
sumber
apakah kamu mencoba ip addr??
Sidahmed
ya, tetapi ip addrmengembalikan daftar datar antarmuka jaringan, bukan tampilan hierarki pohon
jlauinger

Jawaban:

5

Saya telah mencari opsi di utilitas yang ada tetapi saya belum menemukan. Namun demikian fungsionalitas yang diinginkan berguna dari sudut pandang saya. Jadi saya melakukan script bash sederhana yang mem-parsing ip link showperintah dan mencetak sesuatu yang mirip dengan output yang diinginkan dalam pertanyaan:

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

Saya mendorong skrip ke github: https://github.com/zabojcampula/show-net-devices-tree

Zaboj Campula
sumber