linux 中如何打印所有网络接口
Issue 欢迎在 Gtihub Issue 中回答此问题: Issue 31
Author 回答者: shfshanyue
ifconfig
ifconfig
是最简单最常用,但是打印信息太多了
$ ifconfig
cni0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1450
inet 10.244.0.1 netmask 255.255.255.0 broadcast 0.0.0.0
ether 9e:f3:9e:47:9d:55 txqueuelen 1000 (Ethernet)
RX packets 14733665 bytes 1007493238 (960.8 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 15040396 bytes 4534954611 (4.2 GiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
docker0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 172.18.0.1 netmask 255.255.0.0 broadcast 172.18.255.255
ether 02:42:09:fe:1d:e5 txqueuelen 0 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
netstat
netstat
与 ip
也挺好用,特别是它们还可以打印路由表
$ netstat -i
Kernel Interface table
Iface MTU RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
cni0 1450 14733471 0 0 0 15040202 0 0 0 BMRU
docker0 1500 0 0 0 0 0 0 0 0 BMU
eth0 1500 42833038 0 0 0 40961577 0 0 0 BMRU
flannel.1 1450 4761436 0 0 0 4091581 0 0 0 BMRU
lo 65536 376447249 0 0 0 376447249 0 0 0 LRU
veth2052e2d6 1450 7358995 0 0 0 7518642 0 0 0 BMRU
veth3190806e 1450 7363232 0 0 0 7510100 0 0 0 BMRU
ip
$ ip link
$ ip addr