查看: 674|回复: 8

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

[复制链接]

主题

好友

4031

积分

少校

该用户从未签到

发表于 2016-12-7 12:17 来自手机 |显示全部楼层
Anywlan微信公众号
上周在朋友的办公室遇到一件怪事,有个无线路由器(刷了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就可以了。

主题

好友

1万

积分

上校

签到天数: 957 天

[LV.10]以坛为家III

发表于 2016-12-7 12:51 |显示全部楼层
很好,很精彩。
回复

使用道具 举报

主题

好友

5728

积分

中校

签到天数: 29 天

[LV.4]偶尔看看III

发表于 2016-12-7 13:53 来自手机 |显示全部楼层
点赞一下,还有改CPU频率呢
回复

使用道具 举报

主题

好友

926

积分

中尉

签到天数: 96 天

[LV.6]常住居民II

发表于 2016-12-7 17:05 |显示全部楼层
厉害了我的哥
回复

使用道具 举报

主题

好友

101

积分

上等兵

签到天数: 9 天

[LV.3]偶尔看看II

发表于 2016-12-7 19:41 |显示全部楼层
这都会 我小白一个向你学习
回复

使用道具 举报

主题

好友

4162

积分

少校

签到天数: 373 天

[LV.9]以坛为家II

发表于 2016-12-7 21:49 |显示全部楼层
BCM芯片用此方法不错!
回复

使用道具 举报

主题

好友

1万

积分

上校

签到天数: 1170 天

[LV.10]以坛为家III

发表于 2016-12-7 21:55 |显示全部楼层
空格全没有了
回复

使用道具 举报

主题

好友

9233

积分

中校

签到天数: 468 天

[LV.9]以坛为家II

发表于 2017-2-15 20:57 来自手机 |显示全部楼层
好深奥
回复

使用道具 举报

主题

好友

803

积分

中尉

签到天数: 38 天

[LV.5]常住居民I

发表于 2017-2-15 23:07 |显示全部楼层
学习一下 可能会用到!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入

本版积分规则

Archiver| 手机版| 中国无线门户 ( 粤ICP备11076993 )  |网站地图

GMT+8, 2017-11-20 11:40

Powered by Discuz! X3.2

© 2003-2013 广州威思信息科技有限公司

返回顶部 返回列表