一、找到你的网卡物理地址
进入系统的MSDOS方式(开始-程序-附件-c:/提示符),发布ipconfig/all命令,就可以查找到该电脑网卡的MAC地址。
例如:00-50-8D-D1-71-A7.
将其记下。
二、克隆MAC地址
进入路由器设置页面,单击窗口左面“网络参数”按钮,选择其中的“MAC地址克隆”按钮。
出现“MAC地址克隆”的窗口。
在“当前管理PC的MAC地址”的窗口中填入上面找到的“MAC地址”。
再单击“MAC地址克隆”按钮,这个MAC地址就会填入“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: 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 就可以了。
……