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地址分析在线设备信息

https://blog.csdn.net/caofengtao1314/article/details/81946040

文档更新时间: 2022-06-01 00:11   作者:月影鹏鹏