gpt4 book ai didi

flutter - 如何使用 flutter 扫描本地网络上的所有设备

转载 作者:行者123 更新时间:2023-12-05 05:47:20 26 4
gpt4 key购买 nike

我的 flutter 应用程序遇到问题 我想获取同一网络上适用于 android 10 及以下版本的附近设备的列表 我正在使用 Process.run 运行此命令: ip neigh show 但是这个命令似乎在 android 11 及更高版本上被禁止,因为它总是返回

Cannot bind Netlink socket: Permission denied

我尝试了 arp-scanner 并且没有返回任何东西检查它是否有效,幸运的是,它有效但缺少一些数据我需要获取 IP 地址、MAC 地址和主机名 以前的 flutter 插件只返回 IP 地址并且总是返回 null用于 mac 地址。

如果有人对如何执行此操作有任何建议,请提供帮助。

最佳答案

Google 已经取消了通过 SELinux 策略绑定(bind) netlink sockettargetSdkVersion 30 检索 arp 表的可能性。

在不使用 bind 函数的情况下,我创建了一个库,该库执行一种解决方法,即通过 netlink socket 发送未列出的类型消息 (30),然后我使用套接字接收来查看哪个数据系统返回到该套接字。由此,我注意到接收到的数据是 arp 表。

我不知道这个库是否适用于 flutter,但你可以尝试一下。

您可以在这里找到更多信息 https://github.com/fulvius31/ip-neigh-sdk30/blob/main/ipneigh30/src/main/cpp/ip_neigh.c

关于flutter - 如何使用 flutter 扫描本地网络上的所有设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71025669/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com