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

Android NetworkInterface. What are the meanings of names of NetworkInterface?

我想获取当前设备的可用网络,所以我首先获取网络接口列表:

NetworkInterface.getNetworkInterfaces();

然后,迭代每一个:

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

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

由于 Android 基于 Linux,Linux 网络接口命名模式适用于 Android 设备。

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

总结一下:

lo通常代表环回接口(localhost)

wlan通常代表无线网络接口

rmnet 接口通常与 cellular connections and usb tethering

关联

sit 接口与 tunneling IPv6 over IPv4

关联

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

dummy接口提供special aliases for the loopback interface

apswlan 接口(取决于 Android 分布)可以在 Android 设备上激活移动热点(接入点)时找到。它也可能与常规 wlan 界面相关联(在无法同时激活 WiFi 连接和移动热点的设备上观察到,例如 Galaxy Tab S2 上的 Android 9)。