界面边界:Linux绑定驱动程序提供了一种将多个网络接口聚合到单个逻辑绑定接口中的方法。逻辑有界接口将只有一个MAC地址,该地址与原始接口之一有界。ifconfig将显示具有相同MAC地址的所有原始接口。
现在,我要在Java.How中找到每个接口的原始MAC地址吗?
我已经确认我无法通过NetworkInterface.getInterfaceAddresses()和NetworkInterface.getSubInterfaces()找到他们
还有其他方法吗?
更新:
在包围之前:

将eth1和eth2绑定到bound0之后:

java代码显示接口信息:
ALL interfaces:[name:bond0 (bond0), name:eth0 (eth0), name:lo (lo)]
they are [{netIf bond0,host 192.168.122.38,mac 525400F801B9,ip 192.168.122.38}, {netIf eth0,host hatest02,mac 5254008C5B48,ip 192.168.10.38}]发布于 2018-01-22 16:02:25
cat /proc/net/bonding/bond0将向您展示两个绑定接口的原始mac
全部输出,减去以下私人数据:
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)
Bonding Mode: fault-tolerance (active-backup)
Primary Slave: None
Currently Active Slave: eno49
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Slave Interface: eno49
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 28:80:23:xx:xx:ec
Slave queue ID: 0
Slave Interface: eno50
MII Status: down
Speed: Unknown
Duplex: Unknown
Link Failure Count: 0
Permanent HW addr: 28:80:23:xx:xx:ed
Slave queue ID: 0*发布于 2020-03-10 11:06:44
cat /proc/net/bonding/bondX
其中X是您的绑定接口的名称
发布于 2013-11-20 13:03:56
NetworkInterface没用,IMHO。我从没有得到过可靠的信息。执行ifconfig并解析输出,这是最好的选择。
更新:太棒了,有人投了反对票。因此,发布一个答案,并展示什么是有效的,因为我坚持NetworkInterface是不可靠的断言。能够显示键合信息的ifconfig的一个现代替代方案是ip link show type bond。
https://stackoverflow.com/questions/20094406
复制相似问题