wan口mac=lan口mac加一,wlan是lan口mac加二
(1)路由器有两个mac地址,一个用于外网(wan),一个用于内网(wlan和lan);
(2)一般路由器上面或者配置路由器的网页上面只标注外网的mac地址;
(3)内网的mac地址和外网mac地址一般只有几位不同(甚至连续,也有些相差很多的例外)。
Dlink的默认wan口mac=lan口mac加一,wlan是lan口mac加二,在mac地址克隆功能中可以修改对广域网wlan的mac地址,理论上一个网口
LAN MAC WAN MAC 和 WLAN MAC的关系
给一个范例:
00:0C:E5:4B:F2:85 这个地址就可以作为LAN MAC地址
00:0C:E5:4B:F2:86 这个地址就可以作为WAN MAC地址
00:0C:E5:4B:F2:87 这个地址就可以作为无线 MAC地址
上周在朋友的办公室遇到一件怪事,有个无线路由器(刷了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: 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:03:78:35:91:26 。
5. 用
sed 命令把 cfe 中的 MAC 地址改掉,假设改成 88:00:00:00:00:05,改好后的 cfe 保存到 cfe.new
文件中。命令格式如下: sed "s/00:03:78:35:91:26/88:00:00:00:00:05/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 就可以了。
wan口mac=lan口mac加一,wlan是lan口mac加二的更多相关文章
- mac攻略(五) -- 使用brew配置php7开发环境(mac+php+apache+mysql+redis)
前面介绍过基本的配置,后来我又从网上查找了很多资料,经过不断的摸索,下面做了一个总结,希望能对大家提供些许帮助(Mac版本是sierra) 一.mac系统会自带git,而我们要做的是自己安装git ...
- mac攻略(4) -- 使用brew配置php7开发环境(mac+php+apache+mysql+redis)
[http://www.cnblogs.com/redirect/p/6131751.html] 网上有很多文章都是错误的,因为是copy别人的,作者没有自己亲测,不仅不能给新手提供帮助,还会产生严重 ...
- MAC上有哪些优秀的日常软件| 入门级Mac OS 用户必备软件
本文整理的网友反馈的MAC上有哪些优秀的日常软件+入门级Mac OS 用户必备软件,感兴趣的朋友可以看看,下载下来试用一样便知实不实用.如有更好的推荐,欢迎留言. MAC上有哪些优秀的日常软件 Tim ...
- 一步一步开发Game服务器(三)加载脚本和服务器热更新(二)完整版
上一篇文章我介绍了如果动态加载dll文件来更新程序 一步一步开发Game服务器(三)加载脚本和服务器热更新 可是在使用过程中,也许有很多会发现,动态加载dll其实不方便,应为需要预先编译代码为dll文 ...
- 图片预加载和AJAX的图片预加载
利用js实现图片预加载,加载所需要图片的路径与名称即可,很容易实现,该方法尤其适用预加载大量的图片: <div class="hidden"> <script t ...
- Activity的生命周期与加载模式——Activity的4种加载模式
配置Activity时可指定android:launchMode属性,该属性用于配置该Activity的加载模式,该属性支持如下4个属性值. standard:标准模式,这是默认的加载模式. sing ...
- 转载:用Jquery实现的图片预加载技术,可以实现有序加载和无序加载!
一.背景 我们在做页面的时候,从用户体验的角度出发,肯定是希望用户以最快的速度看到完整的页面信息,但在实际情况中经常会遇到些问题. 比如受网速影响,页面加载素材的时间比较长,页面会出现短时间的错乱或者 ...
- 未能加载文件或程序集“BLL”或它的某一个依赖项。生成此程序集的运行时比当前加载的运行时新,无法加载此程序集。
今天使用VS2012创建项目的时候,考虑到项目中代码的重用性以及清晰简洁性,搭建了一个三层架构,但是在项目运行的时候,总是报错: “未能加载文件或程序集“BLL”或它的某一个依赖项.生成此程序集的运行 ...
- Springboot学习01- 配置文件加载优先顺序和本地配置加载
Springboot学习01-配置文件加载优先顺序和本地配置加载 1-项目内部配置文件加载优先顺序 spring boot 启动会扫描以下位置的application.properties或者appl ...
随机推荐
- Codeforces 460 DE 两道题
D Little Victor and Set 题目链接 构造的好题.表示是看了题解才会做的. 假如[l,r]长度不超过4,直接暴力就行了. 假如[l,r]长度大于等于5,那么如果k = 1,显然答案 ...
- matrix矩阵求逆 与解方程模板 留做备用 (有bug,待补充)
// // main.cpp // 矩阵求逆 // // Created by 唐 锐 on 13-6-20. // Copyright (c) 2013年 唐 锐. All rights reser ...
- 关于LOAD DATA INFILE 命令的使用问题解决
通过LOAD DATA方式将数据导入数据表中 LOAD DATA INFILE '输入文件的路径及文件名' INTO TABLE 要导入表的表名称; LOAD DATA INFILE 'G:/p.tx ...
- pyqt4制作透明无边框窗体
用PyQt做了一个无边框登陆窗口,效果如下: 下面是代码: # -*- coding: utf-8 -*- from PyQt4 import QtGui ,Qt ,QtCore image=QtGu ...
- [Javascript] Array methods in depth - indexOf
indexOf is used to search for a value or reference inside of an array. In this lesson we first look ...
- ZCTF-Restaurant-Pwn500
版权声明:本文为博主原创文章,未经博主允许不得转载. 这道压轴的题也是名副其实,很有分量.这也是自己第二次做C++类型的PWN.含有两个漏洞,缺一不可,一个漏洞将指定位置覆盖为对象虚表的地址,另外一个 ...
- CentOS NFS的安装配置、启动及mount挂载方法
一.环境介绍: 服务器:centos 192.168.1.225 客户端:centos 192.168.1.226 二.安装: NFS的安装配置:centos 5 : yum -y install n ...
- 【转】IOS缓存机制详解
人魔七七:http://www.cnblogs.com/qiqibo/ 为什么要有缓存 应用需要离线工作的主要原因就是改善应用所表现出的性能.将应用内容缓存起来就可以支持离线.我们可以用两种不同的缓存 ...
- Xcode简易基础篇,以新手角度去操作
声明:此Newlife XCode非Mac的XCode,避免误会. 日常用的Newlife X组件的相关资源,不限于XCode,只是以XCode组件为主: 1.QQ群:1600800 2.博客 : h ...
- INVALID_USER_SCODE问题的解决办法
在用高德地图API的时候,还会遇见一个为题,就是总是提示:INVALID_USER_SCODE.当遇见这个问题的时候,一般的问题都是,注册key之后没有十分钟就开始使用这个key值了.另外一种情况就是 ...