openwrt重启wifi使用随机mac的脚本openwrt重启随机MAC地址脚本 随机mac地址生成方法

2019-11-24
0评论
/
2109阅读
爱搜啊

openwrt重启随机MAC地址脚本 随机mac地址生成方法

/etc/rc.local中写入如下内容

random_mac(){
     local i; for i in wireless.@wifi-iface[0] network.lan; do
         local mac; while [ "${#mac}" != "17" ]; do
             mac=00$(hexdump -n5 -e '/1 ":%02x"' /dev/urandom)
         done
         echo ${mac}
         uci set ${i}.macaddr=${mac}
         uci commit ${i%%.*}
         unset mac
     done
}; random_mac

这样每次启动后都生成随机mac,下次启动后就使用这个mac,但是本次由于网络相关的东西已经启动,使用的还是原来的mac,第一次用这个脚本可以手动执行一下。 不是每天重启路由器的可以用cron定期执行这个脚本,在done后面加上 ifup lan; wifi 即可

这个做的原因是有些手机软件会把GPS信息和无线mac做关联,关闭GPS甚至没有GPS的平板只要连入这个路由器也能被定位了。我个人感觉不爽。不过即便不接入路由器,那些软件好像还能通过扫描周围已关联位置的无线信息进行定位(这种精度好像低一些)。

好在我这里无线信号比较稀疏。 但是如果使用随机的mac的人多了之后,mac定位数据库也就越来越混乱了,慢慢就失去作用了。

ps: mac格式前面的00好像不是必须的。那个hexdump的参数只能在OpenWRT下运行,linux上不行。用while把hexdump包起来是因为我这有时候产生00:12:34*:56 这样的mac,检查一下长度保证后面不会弄错。同时修改两个wireless.@wifi-iface[0] network.lan这两个是因为用NirSoft的WirelessNetView看到的mac是前者的,用arp -a看到的是后者的,没细研究,干脆都改了。


本站附件分享,如果附件失效,可以去找找看

诚通网盘附件百度网盘附件


于2019-11-24发布