如何在Android扫描局域网内的设备mac地址

在Linux上,您可以轻松找到局域网上所有设备的Mac地址。有很多工具或命令可以做到这一点。平面、ARP、IP neigh等。但是,在Android中,ARP的高速缓存在Android 10之后无法读取,只能使用IP neigh。

Ip neigh是iproute2的一部分。Iproute2是一组用户空间程序,Linux内核控制和监控网络的所有方面,包括路由、网络接口、隧道、流量控制和与网络相关的设备驱动程序。

本教程演示如何在Android上检索局域网内的设备MAC地址。

为此,我们编写了arp_scanner程序,该程序是一个Flutter插件,用于在局域网上返回同一网段上的所有可用设备。返回的信息包括设备的IP地址、Mac地址、主机名、网卡制造商等。

arp_scanner插件限制

创建Arp_scanner插件时,仅支持使用Android SDK 29的版本。此版本适用于2.4G wifi和5G wifi。另一个缺点是,对于5G wifi网络,无法解释主机名。

用法

将Arp_scanner作为项目相关性添加到pubspec.yaml文件中。在App项目中,将build.gradle中的compileSdkVersion修改为29。

Android {

.

CompileSdkVersion 29

.

}

将项目Kotlin版本更改为1.5.30或更高版本。

构建脚本{

.

Ext.kotlin_version=’1.5.30 ‘

.

}

示例应用

你可以在flutter插件的官方网站上找到arp_scanner的例子。

更新Mac地址与厂商关系的数据库(可选)

首先本地复制仓库,然后配置golang的开发环境,从ieee.org电子工程协会下载Mac地址和供应商关系数据库,写入SQLite数据库,然后运行golang程序。

Go mod tidy

Go run createMacVendorDB.go

更新数据库后,使用本地存储将数据库作为直接从属关系添加到项目中。

解决 Duplicate class com.google.gson的问题

Android {

Configurations {

All {

Exclude module:’gson ‘

}

}

}

Linux

Android 1

子网

局域网

互联网

设备

Mac地址

制造商

Flutter

Dart

编程教学

Linux tty由来

2022-9-20 9:15:39

编程教学

如何在命令行中检查Linux内核版本的3种方法

2022-9-20 9:59:52

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索