ubnt解决方案
查看: 1513|回复: 8

[DD-WRT] 永久修改 DD-WRT/Tomato 固件中的 MAC 地址

[复制链接]

1404

回帖

4285

积分

1811 小时

在线时间

少校

注册时间
2015-6-29
金币
2512 个
威望
0 个
荣誉
0 个

尚未签到

发表于 2016-12-7 12:17 来自手机
上周在朋友的办公室遇到一件怪事,有个无线路由器(刷了DD-WRT的),只要一开,整个无线网就没法用了,后来发现,原来他的这个路由器和主路由器的MAC地址居然是一样的,汗~~~由于是在淘宝上同时买的,估计当时淘宝卖家刷路由器FLASH的时候,就把所有的路由器刷成一个MAC地址了(山寨货就是这么山寨品质,汗~~)。


处理的办法很简单,只要修改掉路由器中的MAC地址就可以了,讲到这里先说一个概念,一般来说,无线路由器的整个Flash被称为wholeflash,其中除了包含我们常说的固件(比如DD-WRT或者Tomato)外,还有cfe、nvram、kernel,而MAC地址保存的位置有nvram和cfe。但是在nvram里面的MAC地址改掉后,只要RESET或者恢复出厂设置,就会被自动恢复。其实,nvram中的MAC地址是由cfe来生成的,每次RESET或恢复出厂设置后,cfe都会自动生成一份全新nvram。所以要一劳永逸的话,只有去修改cfe中的MAC地址了。

修改cfe的方法有两种,一种是利用JTAG线,这需要一定的硬件知识,而且要有专门的JTAG线和电脑上的并口配合使用才能完成,比较复杂。还有一种是利用Telnet登陆路由器后,用路由器内的mtd设备来完成。在这里我就说一下第二种方法。

1.用Telnet命令登陆路由器(要注意一点,用户名一定要写root,哪怕你自定义过用户名,但在这里也还是要用root才可以)。



2.输入:cat/proc/mtd,一般会返回如下信息:

dev:sizeerasesizename

mtd0:0004000000010000"cfe"

mtd1:003b000000010000"linux"

mtd2:002bd00000010000"rootfs"

mtd3:0001000000010000"nvram"

mtd4:0001000000010000"ddwrt"

从返回的信息中,我们可以看到cfe其实就是放在mtd0区内的。



3.现在我们先把cfe备份出来,使用命令:ddif=/dev/mtd/0of=/tmp/cfe.bin,一般返回如下信息:

512+0recordsin

512+0recordsout

这样就把路由FLASH中的cfe备份到了/tmp/cfe.bin中去了。



4.获取现在路由的MAC地址,这个方法有很多种了,你可以访问一下http方式的管理页,然后把LanMAC记下来(必须是LANMAC,千万别记成WANMAC或者WLANMAC了),也可以用命令:ifconfigeth0来获取(命令中最后一个字符是数字0,别输入成字母0了)。

假设这里获取到的MAC地址是00:16:11:17:91:95。



5.用sed命令把cfe中的MAC地址改掉,假设改成00:16:11:17:81:95,改好后的cfe保存到cfe.new文件中。命令格式如下:sed"s/00:16:11:17:91:95/00:16:11:17:81:95/g"/tmp/cfe.bin>/tmp/cfe.new

由于该命令是没有回显的,所以只要运行结束显示提示符,就可以了。



6.最后用mtd命令把新的cfe内容写回cfe。

mtdwrite/tmp/cfe.newcfe



如果有提示错误,可以改用以下2条命令进行:

mtdunlockcfe

mtdwrite-f/tmp/cfe.newcfe



如果提示信息是类似下面的这行,就说明更新完毕:

Writingfrom/tmp/cfe.bintocfe...[w]



7.完成,您可以在http方式的管理页面中,选择恢复出厂默认设置一下,也可以按路由器背后的RESET强制恢复。现在路由器的MAC地址已经是新的了。



可能有人会问,你只改了LANMAC地址,那路由器还有WANMAC和WLANMAC呢,这两个又怎么改?其实这两个根本不用改的,如果打开cfe看的话也可以发现,里面根本没有这两个MAC地址,只有LANMAC地址的。那这两个MAC地址怎么生成呢?其实很简单,cfe会自动用LANMAC地址+1和+2来自动生成WANMAC和WLANMAC地址的,所以你改掉了LANMAC就可以了。

2774

回帖

1万

积分

1888 小时

在线时间

上校

灌水天才中级工程师

注册时间
2009-12-28
金币
11923 个
威望
0 个
荣誉
0 个
累计签到:1068 天
连续签到:0 天
[LV.1095]铁杆粉丝
发表于 2016-12-7 12:51
很好,很精彩。

1667

回帖

5978

积分

2559 小时

在线时间

中校

初级工程师

注册时间
2011-9-17
金币
3936 个
威望
2 个
荣誉
1 个
累计签到:29 天
连续签到:0 天
[LV.50]初入江湖
发表于 2016-12-7 13:53 来自手机
点赞一下,还有改CPU频率呢

362

回帖

666

积分

324 小时

在线时间

中尉

注册时间
2015-7-28
金币
234 个
威望
1 个
荣誉
1 个
累计签到:110 天
连续签到:0 天
[LV.200]无线新星
发表于 2016-12-7 17:05
厉害了我的哥

25

回帖

100

积分

33 小时

在线时间

上等兵

注册时间
2016-9-17
金币
71 个
威望
0 个
荣誉
0 个
累计签到:9 天
连续签到:0 天
[LV.20]漫游旅程
发表于 2016-12-7 19:41
这都会 我小白一个向你学习

284

回帖

4512

积分

1023 小时

在线时间

少校

注册时间
2013-7-31
金币
4075 个
威望
2 个
荣誉
1 个
累计签到:394 天
连续签到:1 天
[LV.730]常住居民
发表于 2016-12-7 21:49
BCM芯片用此方法不错!

1192

回帖

1万

积分

1314 小时

在线时间

上校

注册时间
2013-6-19
金币
12538 个
威望
2 个
荣誉
0 个
累计签到:1306 天
连续签到:0 天
[LV.1825]无线元老
发表于 2016-12-7 21:55
空格全没有了

5213

回帖

9258

积分

948 小时

在线时间

中校

注册时间
2013-11-20
金币
3780 个
威望
2 个
荣誉
0 个
累计签到:473 天
连续签到:0 天
[LV.730]常住居民
发表于 2017-2-15 20:57 来自手机
好深奥

18

回帖

981

积分

414 小时

在线时间

中尉

注册时间
2012-7-14
金币
920 个
威望
0 个
荣誉
0 个
累计签到:40 天
连续签到:0 天
[LV.50]初入江湖
发表于 2017-2-15 23:07
学习一下 可能会用到!

站点统计 | Archiver | 手机版 | 无线门户 ( 粤ICP备11076993号|粤公网安备44010602008359号 ) |网站地图

GMT+8, 2024-4-26 01:57

返回顶部 返回列表