标题:
[交流]
MAC地址完美攻略
[打印本页]
作者:
yourears
时间:
2007-7-12 21:54
标题:
MAC地址完美攻略
MAC
地址完美攻略
如果你是通过校园网或小区接入
Internet
,那么一定听说过
MAC
地址。什么是
MAC
地址,
MAC
地址在这种局域网环境中究竟起到什么作用?下面就来介绍一下
MAC
地址的知识,
MAC
地址和
IP
地址的区别以及
MAC
地址在实际应用中所涉及到的安全问题。
一、基础知识
如今的网络是分层来实现的,就像是搭积木一样,先设计某个特定功能的
模块,然后把模块拼起来组成整个网络。局域网也不例外,一般来说,在组网上我们使用的是
IEEE802
参考模型,从下至上分为:物理层、媒体接入控制层(
MAC
),逻辑链路控制层(
LLC
)。
标识网络中的一台计算机,一般至少有三种方法,最常用的是域名地址、
IP
地址和
MAC
地址,分别对应应用层、网络层、物理层。网络管理一般就是在网络层针对
IP
地址进行管理,但由于一台计算机的
IP
地址可以由用户自行设定,管理起来相对困难,
MAC
地址一般不可更改,所以把
IP
地址同
MAC
地址组合到一起管理就成为常见的管理方式。
二、什么是
MAC
地址
MAC
地址就是在媒体接入层上使用的地址,也叫物理地址、硬件地址或链路地址,由网络设备制造商生产时写在硬件内部。
MAC
地址与网络无关,也即无论将带有这个地址的硬件(如网卡、集线器、路由器等)接入到网络的何处,都有相同的
MAC
地址,它由厂商写在网卡的
BIOS
里。
MAC
地址可采用
6
字节(
48
比特)或
2
字节(
16
比特)这两种中的任意一种。但随着局域网规模越来越大,一般都采用
6
字节的
MAC
地址。这个
48
比特都有其规定的意义,前
24
位是由生产网卡的厂商向
IEEE
申请的厂商地址,目前的价格是
1000
美元买一个地址块,后
24
位由厂商自行分配,这样的分配使得世界上任意一个拥有
48
位
MAC
地址的网卡都有唯一的标识。另外,
2
字节的
MAC
地址不用网卡厂商申请。
MAC
地址通常表示为
12
个
16
进制数,每
2
个
16
进制数之间用冒号隔开,如:
08:00:20:0A:8C:6D
就是一个
MAC
地址,其中前
6
位
16
进制数
08:00:20
代表网络硬件制造商的编号,它由
IEEE
分配,而后
3
位
16
进制数
0A:8C:6D
代表该制造商所制造的某个网络产品(如网卡)的系列号。每个网络制造商必须确保它所制造的每个以太网设备都具有相同的前三字节以及不同的后三个字节。这样就可保证世界上每个以太网设备都具有唯一的
MAC
地址。
三、
IP
地址与
MAC
地址的区别
IP
地址基于逻辑,比较灵活,不受硬件限制,也容易记忆。
MAC
地址在一定程度上与硬件一致,基于物理,能够标识具体。这两种地址各有好处,使用时也因条件而采取不同的地址。
四、为什么要用到
MAC
地址
这是由组网方式决定的,如今比较流行的接入
Internet
的方式(也是未来发展的方向)是把主机通过局域网组织在一起,然后再通过交换机和
Internet
相连接。这样一来就出现了如何区分具体用户,防止盗用的问题。由于
IP
只是逻辑上标识,任何人都随意修改,因此不能用来标识用户;而
MAC
地址则不然,它是固化在网卡里面的。从理论上讲,除非盗来硬件(网卡),否则是没有办法冒名顶替的(注意:其实也可以盗用,后面将介绍)。
基于
MAC
地址的这种特点,局域网采用了用
MAC
地址来标识具体用户的方法。注意:具体实现:在交换机内部通过
“
表
”
的方式把
MAC
地址和
IP
地址一一对应,也就是所说的
IP
、
MAC
绑定。
具体的通信方式:接收过程,当有发给本地局域网内一台主机的数据包时,交换机接收下来,然后把数据包中的
IP
地址按照
“
表
”
中的对应关系映射成
MAC
地址,转发到对应的
MAC
地址的主机上,这样一来,即使某台主机盗用了这个
IP
地址,但由于他没有这个
MAC
地址,因此也不会收到数据包。发送过程和接收过程类似,限于篇幅不叙述。
综上可知,只有
IP
而没有对应的
MAC
地址在这种局域网内是不能上网的,于是解决了
IP
盗用问题。
五、怎样获得自己的
MAC
地址
MAC
地址固化在网卡中的
BIOS
中,可以通过
DOS
命令取得。
Win9x
用户可以使用
winipcfg
命令,
Win2k/XP
用户可以使用
ipconfig/all
命令,其中用
16
进制表示的
12
位数就是
MAC
地址。
六、
MAC
地址涉及到的安全问题
从上面的介绍可以知道,这种标识方式只是
MAC
地址基于的,如果有人能够更改
MAC
地址,就可以盗用
IP
免费上网了,目前网上针对小区宽带的盗用
MAC
地址免费上网方式就是基于此这种思路。如果想盗用别人的
IP
地址,除了
IP
地址还要知道对应的
MAC
地址。举个例子,获得局域网内某台主机的
MAC
地址,比如想得到局域网内名为
TARGET
主机的
MAC
地址,先用
PING
命令:
PING TARGET
,这样在我们主机上面的
ARP
表的缓存中就会留下目标地址和
MAC
映射的记录,然后通过
ARP A
命令来查询
ARP
表,这样就得到了指定主机的
MAC
地址。最后用
ARP -s IP
网卡
MAC
地址,命令把网关的
IP
地址和它的
MAC
地址映射起来就可以了。
如果要得到其它网段内的
MAC
地址,那么可以用工具软件来实现,我觉得
Windows
优化大师中自带的工具不错,点击
“
系统性能优化
”→“
系统安全优化
”→“
附加工具
”→“
集群
Ping”
,可以成批的扫出
MAC
地址并可以保存到文件。
小知识:
ARP(Address Resolution Protocol)
是地址解析协议,
ARP
是一种将
IP
地址转化成物理地址的协议。从
IP
地址到物理地址的映射有两种方式:表格方式和非表格方式。
ARP
具体说来就是将网络层(
IP
层,也就是相当于
OSI
的第三层)地址解析为数据连接层(
MAC
层,也就是相当于
OSI
的第二层)的
MAC
地址。
ARP
协议是通过
IP
地址来获得
MAC
地址的。
ARP
原理:某机器
A
要向主机
B
发送报文,会查询本地的
ARP
缓存表,找到
B
的
IP
地址对应的
MAC
地址后就会进行数据传输。如果未找到,则广播
A
一个
ARP
请求报文(携带主机
A
的
IP
地址
Ia——
物理地址
Pa
),请求
IP
地址为
Ib
的主机
B
回答物理地址
Pb
。网上所有主机包括
B
都收到
ARP
请求,但只有主机
B
识别自己的
IP
地址,于是向
A
主机发回一个
ARP
响应报文。其中就包含有
B
的
MAC
地址,
A
接收到
B
的应答后,就会更新本地的
ARP
缓存。接着使用这个
MAC
地址发送数据(由网卡附加
MAC
地址)。因此,本地高速缓存的这个
ARP
表是本地网络流通的基础,而且这个缓存是动态的。
ARP
表:为了回忆通信的速度,最近常用的
MAC
地址与
IP
的转换不用依靠交换机来进行,而是在本机上建立一个用来记录常用主机
IP
-
MAC
映射表,即
ARP
表。
七、如何修改自己的
MAC
地址
MAC
地址是固化在网卡中的,
MAC
地址具有唯一性,难道没有办法更改了么?不是的,我们完全不用修改
EPROM
的内容,而只通过修改存储单元的内容就能达到修改
MAC
地址的目的。例如在
Windows
中可以通过注册表来修改。
在“开始”菜单的“运行”中输入
regedit.exe
,打开注册表编辑器,展开注册表到:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}
子键,在子键下的
0000
,
0001
,
0002
等分支中查找
DriverDesc
(如果你有一块以上的网卡,就有
0001
,
0002……
在这里保存了有关你的网卡的信息,其中的
DriverDesc
的内容就是你的网卡的信息描述,比如我的网卡就是
Intel 21041 based Ethernet Controller
),在这里假设你的网卡在
0000
子键。
在
0000
子键下添加一个字符串,命名为
“NetworkAddress”
,键值为修改后的
MAC
地址,要求为连续的
12
个
16
进制数。然后在
“0000”
子键下的
NDI\params
中新建一项名为
NetworkAddress
的子键,在该子键下添加名为
“default”
的字符串,键值为修改后的
MAC
地址。
在
NetworkAddress
的子键下继续建立名为
“ParamDesc”
的字符串,其作用为指定
NetworkAddress
的描述,其值可为
“MAC Address”
。这样以后打开网络邻居的
“
属性
”
,双击相应的网卡就会发现有一个
“
高级
”
设置,其下存在
MAC Address
的选项,它就是你在注册表中加入的新项
NetworkAddress
,以后只要在此修改
MAC
地址就可以了。
关闭注册表,重新启动,你的网卡地址已改。打开网络邻居的属性,双击相应网卡项会发现有一个
MAC Address
的高级设置项,用于直接修改
MAC
地址。
当然,你还可以用工具软件来修改网卡的
MAC
地址,如
MAC2001
这款软件就可以达到我们的目的。
八、如何解决
MAC
地址带来的安全问题
我们可以将
IP
地址和
MAC
地址捆绑起来来解决这个问题。进入
“MS-DOS
方式
”
或
“
命令提示符
”
,在命令提示符下输入命令:
ARP -s 10.88.56.72 00-10-5C-AD-72-E3
,即可把
MAC
地址和
IP
地址捆绑在一起。这样,就不会出现
IP
地址被盗用而不能正常使用网络的情况,可以有效保证小区网络的安全和用户的应用。
注意:
ARP
命令仅对局域网的上网代理服务器有用,而且是针对静态
IP
地址,如果采用
Modem
拨号上网或是动态
IP
地址就不起作用。
不过,只是简单地绑定
IP
和
MAC
地址是不能完全的解决
IP
盗用问题的。作为一个网络供应商,他们有责任为用户解决好这些问题之的后,才交给用户使用,而不是把安全问题交给用户来解决。不应该让用户来承担一些不必要盗用的损失。
作为网络供应商,最常用也是最有效的解决方法就是在
IP
、
MAC
绑定的基础上,再把端口绑定进去,即
IP
-
MAC
-
PORT
三者绑定在一起,端口(
PORT
)指的是交换机的端口。这就需要在布线时候做好端口定时管理工作。在布线时应该把用户墙上的接线盒和交换机的端口一一对应,并做好登记工作,然后把用户交上来的
MAC
地址填入对应的交换机端口,进而再和
IP
一起绑定,达到
IP
-
MAC
-
PORT
的三者绑定。这样一来,即使盗用者拥有这个
IP
对应的
MAC
地址,但是它不可能同样拥有墙上的端口,因此,从物理通道上隔离了盗用者。
我想通过上面的介绍大家对
MAC
地址也有些了解吧!提醒大家 应该学以致用,千万不要用来整别人啊!
如果有写的不对的地方,希望大家多多指正啊!
作者:
liujiezhi
时间:
2007-7-13 16:07
哦。好象挺详细的,看看也可以增长一些知识。
欢迎光临 SiS001! Board - [第一会所 关闭注册] (http://23.225.255.115/bbs/)
Powered by Discuz! 7.2