轻松修改路由器MAC地址
轻松修改路由器MAC地址
1. 用 Telnet 命令登陆路由器(要注意一点,用户名一定要写 root,哪怕你自定义过用户名,但在这里也还是要用 root 才可以)。
2. 输入:cat /proc/mtd ,一般会返回如下信息:
dev: size erasesize name
mtd0: 00040000 00010000 "cfe"
mtd1: 003b0000 00010000 "linux"
mtd2: 002bd000 00010000 "rootfs"
mtd3: 00010000 00010000 "nvram"
mtd4: 00010000 00010000 "ddwrt"
从返回的信息中,我们可以看到 cfe 其实就是放在 mtd0 区内的。
3. 现在我们先把 cfe 备份出来,使用命令:dd if=/dev/mtd/0 of=/tmp/cfe.bin ,一般返回如下信息:
512+0 records in
512+0 records out
这样就把路由 FLASH 中的 cfe 备份到了 /tmp/cfe.bin 中去了。
4. 获取现在路由的 MAC 地址,这个方法有很多种了,你可以访问一下 http 方式的管理页,然后把 Lan MAC 记下来(必须是 LAN MAC ,千万别记成 WAN MAC 或者 WLAN MAC 了),也可以用命令: ifconfig eth0 来获取(命令中最后一个字符是数字 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 。
mtd write /tmp/cfe.new cfe
如果有提示错误,可以改用以下2条命令进行:
mtd unlock cfe
mtd write -f /tmp/cfe.new cfe
如果提示信息是类似下面的这行,就说明更新完毕:
Writing from /tmp/cfe.bin to cfe ... [w]
7. 完成,您可以在 http 方式的管理页面中,选择恢复出厂默认设置一下,也可以按路由器背后的 RESET 强制恢复。现在路由器的 MAC 地址已经是新的了。
可能有人会问,你只改了 LAN MAC 地址,那路由器还有 WAN MAC 和 WLAN MAC 呢,这两个又怎么改?其实这两个根本不用改的,如果打开 cfe 看的话也可以发现,里面根本没有这两个 MAC 地址,只有 LAN MAC 地址的。那这两个 MAC 地址怎么生成呢?其实很简单,cfe 会自动用 LAN MAC 地址 + 1 和 +2 来自动生成 WAN MAC 和 WLAN MAC 地址的,所以你改掉了 LAN MAC 就可以了。
Powered BY Error Q:302777528
评论已关闭