我需要获取通过单个Wi-Fi连接的所有设备的信息。我已经有了所有连接设备的IP地址,MAC地址和公司名称。但是我仍然无法获得所连接设备的型号或主机名。有可能这样做吗?怎么样?
如果不可能,是否有办法从IP地址或MAC地址获取设备型号或主机名?
[没有直接提供wifi客户端信息的API。但是您可以阅读/proc/net/arp
。该文件包含有关客户详细信息的信息。另外,您还必须添加权限<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
详细信息,如连接的IP地址,硬件类型,标志(连接状态),掩码,硬件地址,设备
StringBuilder text = new StringBuilder();
try {
BufferedReader br = new BufferedReader(new FileReader(new File("/proc/net/arp")));
String line;
while ((line = br.readLine()) != null) {
String info = line.split(" +");//info array have information on each index, access it like info[
}
br.close();
}catch (IOException e) {
//You'll need to add proper error handling here
}
flag 0x2:已连接设备标志0x0:设备未连接(如果设备断开连接,则不会从文件中删除)