首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Java中找到linux接口边界过程中的原始MAC地址?

如何在Java中找到linux接口边界过程中的原始MAC地址?
EN

Stack Overflow用户
提问于 2013-11-20 11:15:46
回答 3查看 9.3K关注 0票数 6

界面边界:Linux绑定驱动程序提供了一种将多个网络接口聚合到单个逻辑绑定接口中的方法。逻辑有界接口将只有一个MAC地址,该地址与原始接口之一有界。ifconfig将显示具有相同MAC地址的所有原始接口。

现在,我要在Java.How中找到每个接口的原始MAC地址吗?

我已经确认我无法通过NetworkInterface.getInterfaceAddresses()NetworkInterface.getSubInterfaces()找到他们

还有其他方法吗?

更新:

在包围之前:

将eth1和eth2绑定到bound0之后:

java代码显示接口信息:

代码语言:javascript
复制
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}]
EN

回答 3

Stack Overflow用户

发布于 2018-01-22 16:02:25

代码语言:javascript
复制
cat /proc/net/bonding/bond0

将向您展示两个绑定接口的原始mac

全部输出,减去以下私人数据:

代码语言:javascript
复制
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*
票数 6
EN

Stack Overflow用户

发布于 2020-03-10 11:06:44

cat /proc/net/bonding/bondX

其中X是您的绑定接口的名称

票数 0
EN

Stack Overflow用户

发布于 2013-11-20 13:03:56

NetworkInterface没用,IMHO。我从没有得到过可靠的信息。执行ifconfig并解析输出,这是最好的选择。

更新:太棒了,有人投了反对票。因此,发布一个答案,并展示什么是有效的,因为我坚持NetworkInterface是不可靠的断言。能够显示键合信息的ifconfig的一个现代替代方案是ip link show type bond

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20094406

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档