OpenWRT 获取在线设备信息的方法

一)通过DHCP client分配列表
root@OpenWrt:/# cat /tmp/dhcp.leases
                            946732871 f0:43:47:1a:xx:xx 192.168.88.196 Honor_8 01:f0:43:47:1a:bc:xx
                            946742704 08:10:7a:51:xx:xx 192.168.88.184 STAR10005760 01:08:10:7a:51:85:xx     
可以获取到hostname  mac ip   

二)获取在线状态


第一种方法:

通过arp缓存列表/proc/net/arp(缺点:arp刷新时间默认为30s,这个时间的误差可以接受。                        
Flags:
0x0是找不到这台主机了。
0x2是主机还在线。             

第二种方法:

arping 因为有些设备会用防火墙屏蔽ping命令,而无法屏蔽arping命令

#define ARPING_CMD         "arping %s(通过DHCP CLIENT获取的ip) -I br-lan -f -w 1"
#define  REPLY_OK     "Unicast reply from %s"

第三种方法:

高通9531平台 iwinfo xxx(wifi网卡名称)assoclist|grep dBm|awk -F " " '{print $1}'| tr '[A-Z]' '[a-z]'
 可以查看到在线设备信息的mac地址,速度快,无副作用。

第四种方法:mtk7628n 平台 
系统命令1:iwpriv ra0 show stainfo /*查看列表信息*/
系统命令2:dmesg |tail -f -n 100|tr '[A-Z]' '[a-z]' /*查看dmesg最后100行打印*/
解析关键字符串 “mode aid  bss” 最后一行,通过mac地址分析在线设备信息

本文章由作者:佐须之男 整理编辑,原文地址: OpenWRT 获取在线设备信息的方法
本站的文章和资源来自互联网或者站长的原创,按照 CC BY -NC -SA 3.0 CN协议发布和共享,转载或引用本站文章应遵循相同协议。如果有侵犯版权的资 源请尽快联系站长,我们会在24h内删除有争议的资源。欢迎大家多多交流,期待共同学习进步。

相关推荐