我的操作系統是CentOS 6.在我的/ etc/sysconfig/network-scripts/ifcfg-eth0文件中,我已指定網絡接口"NAME"
到"foo"
(讓我們假設)。從java獲取接口名稱
NAME=foo
我希望能夠從Java中獲得該接口"NAME"
。我嘗試以下,沒有一個結果:
for (Enumeration nis = NetworkInterface.getNetworkInterfaces(); nis.hasMoreElements();) {
NetworkInterface ni = nis.nextElement();
System.out.println(ni.getDisplayName() + " " + ni.getName());
}
它顯示了同樣的事情:
eth0 eth0
誰能告訴我,如果有可能得到的NAME
一個網絡的價值,性質接口,在java中?
謝謝。
注意:指定NAME=foo
時,屏幕右上角的網絡面板中該接口的名稱爲foo
。
你嘗試重新啓動網絡接口的名字爲新值後的網絡? – 2012-01-05 07:33:21
@KohányiRóbert是的。但是從我所看到的NetworkInterface類的getName()和getDisplayName()方法中,沒有任何與NAME屬性有關的東西。 – artaxerxe 2012-01-05 07:42:58
是的,這些方法可能沒有指定它們是否返回_stuff_形式的* nix特定配置文件的鍵值,因爲它們試圖獨立。另外,根據定義'NetworkInterface.getName()'將/應該返回_network接口_的名稱。就你而言,我想'NAME'不是你的網絡接口的名稱,而是一個標籤爲'eth0'的標籤,它是_real_網絡接口和_real_名稱。 (雖然我不是* nix專家,但我對網絡接口及其名稱沒有足夠的瞭解)。 – 2012-01-05 08:13:26