【问题标题】:Getting interface NAME from java从java获取接口NAME
【发布时间】:2012-02-03 01:05:45
【问题描述】:

我的操作系统是 CentOS 6。在我的 /etc/sysconfig/network-scripts/ifcfg-eth0 文件中,我指定了网络接口 "NAME""foo"(假设)。

NAME=foo

我希望能够从 java 中获取该接口 "NAME"。我尝试了以下方法,但没有结果:

for (Enumeration nis = NetworkInterface.getNetworkInterfaces(); nis.hasMoreElements();) { NetworkInterface ni = nis.nextElement(); System.out.println(ni.getDisplayName() + " " + ni.getName()); }

它显示相同的东西:

eth0 eth0

谁能告诉我是否有可能在 java 中获取网络接口属性NAME 的值?

谢谢。

注意:当指定NAME=foo时,屏幕右上角的网络面板中该接口的名称为foo

【问题讨论】:

  • 您是否在将网络接口名称设置为新值后尝试重新启动网络?
  • @KohányiRóbert 是的。但据我所见,NetworkInterface 类的 getName() 和 getDisplayName() 方法没有任何具有 NAME 属性的东西。
  • 是的,这些方法可能没有指定它们是否返回 stuff 形式的 *nix 特定配置文件的键值,因为它们试图独立。此外,根据定义NetworkInterface.getName() 将/应该返回网络接口 的名称。在你的情况下,我猜,NAME 不是你的网络接口的名称,而是你标记eth0 的标签,它是你的 real 网络接口,它的 real i> 名称。 (虽然我不是 *nix 专家,而且我对网络接口及其名称没有足够的了解。)

标签: java networking centos network-interface


【解决方案1】:

您确定网卡名称修改正确吗,请查看以下链接CentOS NIC name change

【讨论】:

  • 我没有提到 ethN 名称。我从 ifcfg-ethN 文件中引用 NAME 属性。如何从 java 访问它?那是我的问题。
猜你喜欢
  • 2018-03-29
  • 2015-05-27
  • 2021-11-18
  • 1970-01-01
  • 2012-07-10
  • 1970-01-01
  • 1970-01-01
  • 2012-04-10
  • 2014-12-02
相关资源
最近更新 更多