以下用于返回所有网络接口的java代码。
public class InterfaceTest {
public static void main(String[] args) throws SocketException {
Enumeration<NetworkInterface> networkInterfaces = NetworkInterface.getNetworkInterfaces();
int i=0;
while (networkInterfaces.hasMoreElements()) {
NetworkInterface nextElement = networkInterfaces.nextElement();
System.out.println(nextElement.getName());
i++;
}
System.out.println(i+" interfaces found!");
}
}
显示如下内容:
lo
eth0
wlan0
waln1
3 interfaces found!
但现在它只返回
wired
lo
2 interfaces found!
注意:我将网卡重命名为有线,在/etc/udev/rules.d/70-persistent-net.rules上指定(用真实地址替换mac地址)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="**00:00:00:00:00:00**", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="wired"
但是,当我输入 ifconfig -a 时,我也会看到两个USB加密狗。
那么,是什么原因导致java无法看到其他网络接口(两个USB WiFi加密狗)?
提前感谢您的帮助。