HarmonyOS 鸿蒙Next如何获取同个wifi下的局域网的设备ip和mac地址,做个蹭网查询功能

发布于 1周前 作者 caililin 来自 鸿蒙OS

HarmonyOS 鸿蒙Next如何获取同个wifi下的局域网的设备ip和mac地址,做个蹭网查询功能

如何获取同个wifi下的局域网的设备ip和mac地址,做个蹭网查询功能

2 回复

1.mac地址

权限:“ohos.permission.GET_WIFI_INFO”

代码: 

深色代码主题
复制
wifiManager.getLinkedInfo().then(data => {

            console.info("get wifi linked info: " + JSON.stringify(data));

          }).catch((error:number) => {

            console.info(“get linked info error”);

          });

参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-wifimanager-V5#wifimanagergetlinkedinfo9

2.ip地址

权限:“ohos.permission.GET_NETWORK_INFO”

代码:

深色代码主题
复制
let netHandle = await connection.getDefaultNet();

          if (netHandle) {

            let connectionProperties = await connection.getConnectionProperties(netHandle)

            if (connectionProperties && connectionProperties.linkAddresses) {

              connectionProperties.linkAddresses.forEach((address: connection.LinkAddress, index: number) => {

                console.info("get address info: " + JSON.stringify(address));

              })

            }

          }

参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-net-connection-V5#connectiongetconnectionproperties

更多关于HarmonyOS 鸿蒙Next如何获取同个wifi下的局域网的设备ip和mac地址,做个蹭网查询功能的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next系统中,获取同一WiFi局域网内设备的IP和MAC地址,可以通过以下步骤实现蹭网查询功能:

  1. 获取本地网络接口:使用网络相关API获取当前设备的网络接口信息,确保设备已连接到WiFi网络。

  2. 扫描局域网设备:利用ARP(地址解析协议)请求或广播数据包,扫描局域网内的设备。ARP请求会询问特定IP地址的MAC地址,局域网内的设备在收到请求后会回应,从而可以获取到它们的MAC地址和对应的IP地址。

  3. 解析响应:接收并分析局域网内设备的ARP响应包,提取出设备的IP地址和MAC地址信息。

  4. 显示结果:将获取到的设备信息显示在应用程序界面上,实现蹭网查询功能。

需要注意的是,在鸿蒙系统中进行网络扫描和获取设备信息时,需要确保应用已获得相应的网络访问权限。此外,由于网络安全和隐私保护的原因,某些设备或网络配置可能会限制ARP请求的响应,导致无法获取到所有设备的IP和MAC地址。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html。

回到顶部