安卓网络接口。NetworkInterface名称的含义是什么?

16

我想获取当前设备可用的网络,因此首先获取networkinterfaces列表:

NetworkInterface.getNetworkInterfaces();

然后,遍历每一个元素:

NetworkInterface intf = en.nextElement();
String name = intf.getName();

问题在于,'name'返回值的名称是:rmnet_data1、dymmy0、wlan0、rmnet_usb0、intf、lo、p2p0和sit0(在我的设备上)。我想知道它们的含义。


你忘记了包括Cross Core Modem Network Interface(ccmni):ccmni0 / ccmni1,它们基本上是用于蜂窝数据的接口。 - MbPCM
2个回答

45

由于Android是基于Linux的,因此适用于Linux网络接口命名模式也适用于Android设备。

这里有一些关于*nix网络接口命名的资源

总之:

lo 通常代表环回接口(本地主机)

wlan 通常表示无线网络接口

rmnet 接口通常与蜂窝连接和USB共享网络相关联

sit 接口与在IPv4上隧道化IPv6相关联

p2p 接口通常与peer-to-peer连接相关联(也许是您的Android设备的 WiFi Direct 支持?)

dummy 接口提供环回接口的特殊别名


这是一个非常全面的指南,尽管很短。例如,我不知道P2P与WiFi-direct有关! - MAChitgarha

1
当Android设备的移动热点(访问点)被激活时,可以找到apswlan接口(取决于Android发行版)。但在某些设备上,例如Galaxy Tab S2上的Android 9上,无法同时激活WiFi连接和移动热点,因此它可能也与常规的wlan接口相关联。请注意,这里不提供解释,HTML标签已保留。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接