MAC地址详解.docx

上传人:b****5 文档编号:6775936 上传时间:2023-01-10 格式:DOCX 页数:8 大小:164.15KB
下载 相关 举报
MAC地址详解.docx_第1页
第1页 / 共8页
MAC地址详解.docx_第2页
第2页 / 共8页
MAC地址详解.docx_第3页
第3页 / 共8页
MAC地址详解.docx_第4页
第4页 / 共8页
MAC地址详解.docx_第5页
第5页 / 共8页
点击查看更多>>
下载资源
资源描述

MAC地址详解.docx

《MAC地址详解.docx》由会员分享,可在线阅读,更多相关《MAC地址详解.docx(8页珍藏版)》请在冰豆网上搜索。

MAC地址详解.docx

MAC地址详解

MAC(MediaAccessControl)地址,或称为MAC位址、硬件位址,用来定义网络设备的位置。

在OSI模型中,第三层网络层负责IP地址,第二层资料链结层则负责MAC位址。

因此一个主机会有一个IP地址,而每个网络位置会有一个专属于它的MAC位址。

以路由器来说,假设现有一台路由器,含有一个WAN埠及四个LAN埠。

它的WAN埠会有一个如61.61.61.61的IP地址,也会有一个如01:

0A:

02:

0B:

03:

0C的MAC位址。

而它的四个LAN埠,会共用一个例如192.168.1.1这样的IP地址,但是四个埠各会有一个不同的MAC位址。

再以交换器来说,它没有IP地址,但每个交换器的埠都会有一个不同的MAC位址。

[1]

基本格式

MAC位址共48位元(6个字节),以十六进制表示。

广播位址为ff:

ff:

ff:

ff:

ff:

ff。

后24位元由IEEE等各组织决定如何分配,前24位元由实际生产该网络设备的厂商自行指定。

作用原理

00000000部分就是修改网卡MAC地址的部分MAC地址就是网卡的标识,相当于人的身份证一样,MAC地址是写入网卡ROM内的,所以不管你的网卡装在那台机器上,你的MAC地址都是唯一的。

什么是MAC地址?

我们该怎么去理解MAC地址呢?

我们首先来理解一下IP地址和MAC地址之间的关系:

在日常的计算机使用过程中,大家都知道IP地址只要规划合理,你可以任意更改IP地址。

修改的方法也是比较简单的,只要在对应网卡的TCP/IP协议上双击一下然后修改参数就行了。

那么MAC地址与IP地址同为地址,它们之间有什么地方相似又有什么地方不同呢?

下面就让我们一起来看看吧,了解它们的差异与类似之处便于我们更好的掌握。

在OSI(OpenSystemInterconnection,开放系统互连)7层网络协议参考模型中,第二层为数据链路层(DataLink)。

MAC地址也叫物理地址、硬件地址或链路地址,由网络设备制造商生产时写在硬件内部。

IP地址与MAC地址在计算机里都是以二进制表示的,IP地址是32位的,而MAC地址则是48位的。

MAC地址的长度为48位(6个字节),通常表示为12个16进制数,每2个16进制数之间用冒号隔开,如:

08:

00:

20:

0A:

8C:

6D就是一个MAC地址,其中前6位16进制数08:

00:

20代表网络硬件制造商的编号,它由IEEE(电气与电子工程师协会)分配,而后3位16进制数0A:

8C:

6D代表该制造商所制造的某个网络产品(如网卡)的系列号。

只要你不去更改自己的MAC地址,那么你的MAC地址在世界是惟一的。

笔记本论坛

MAC地址的作用就相当于去应聘这个职位的人才,职位可以既可以让甲坐,也可以让乙坐,同样的道理一个节点的IP地址对于网卡是不做要求,基本上什么样的厂家都可以用,也就是说IP地址与MAC地址并不存在着绑定关系。

本身有的计算机流动性就比较强,正如同人才可以给不同的单位干活的道理一样的,人才的流动性是比较强的。

职位和人才的对应关系就有点像是IP地址与MAC地址的对应关系。

比如,如果一个网卡坏了,可以被更换,而无须取得一个新的IP地址。

如果一个IP主机从一个网络移到另一个网络,可以给它一个新的IP地址,而无须换一个新的网卡。

当然MAC地址除了仅仅只有这个功能还是不够的,就拿人类社会与网络进行类比,通过类比,我们就可以发现其中的类似之处,更好地理解MAC地址的作用。

无论是局域网,还是广域网中的计算机之间的通信,最终都表现为将数据包从某种形式的链路上的初始节点出发,从一个节点传递到另一个节点,最终传送到目的节点。

数据包在这些节点之间的移动都是由ARP(AddressResolutionProtocol:

地址解析协议)负责将IP地址映射到MAC地址上来完成的。

其实人类社会和网络也是类似的,试想在人际关系网络中,甲要捎个口信给丁,就会通过乙和丙中转一下,最后由丙转告给丁。

在网络中,这个口信就好比是一个网络中的一个数据包。

数据包在传送过程中会不断询问相邻节点的MAC地址,这个过程就好比是人类社会的口信传送过程。

相信通过这两个例子,我们就可以进一步理解MAC地址的作用。

在windows中MAC地址我们可以通过命令IPconfig-all来获得,不过使用这样的代码只能单调地获得MAC地址,这对于我们来说使用起来是相当麻烦的。

做网管的可以使用“MAC地址扫描器”来获取MAC地址。

他能够批量获取远程计算机网卡物理地址的网管软件,能够对IP、MAC、主机名、用户名进行监控,并且可以记录以供查询。

地址运用

MAC地址绑定就是利用三层交换机的安全控制列表将交换机上的端口与所对应的MAC地址进行捆绑。

基本意义

由于每个网络适配卡具有唯一的MAC地址,为了有效防止非法用户盗用网络资源,MAC地址绑定可以有效的规避非法用户的接入。

以进行网络物理层面的安全保护。

基本运用

由于MAC地址绑定的安全性能,所以被大多数的终端用户所运用,以保证网络非法用户从非法途径进入网络,盗用网络资源。

这个技术被广泛运用电信,一些OA办公的网络系统。

更改方法

MAC地址一般MAC地址在网卡中是固定的,当然也有网络高手会想办法去修改自己的MAC地址。

修改自己的MAC地址有两种方法,一种是硬件修改,另外一种是软件修改。

[2]

硬件修改

硬件的方法就是直接对网卡进行操作,修改保存在网卡的EPROM里面的MAC地址,通过网卡生产厂家提供的修改程序可以更改存储器里的地址。

那么什么叫做EPROM呢?

EPROM是电子学中一种存储器的专业术语,它是可擦写的,也就是说一张白纸你用钢笔写了一遍以后就不能再用橡皮擦去了,而EPROM这张白纸用铅笔写后可以再擦去,可以反复改变其中数据的存储器。

软件修改

当然软件修改的方法就相对来说要简单得多了,在Windows中,网卡的MAC保存在注册表中,实际使用也是从注册表中提取的,所以只要修改注册表就可以改变MAC。

Windows9x中修改:

打开注册表编辑器,在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\

Service\Class\Net\下的0000,0001,0002。

Windows2000/XP中的修改:

同样打开注册表编辑器,HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\

Class\4D36E970-E325-11CE-BFC1-08002BE10318中的0000,0001,0002中的DriverDesc,如果在0000找到,就在0000下面添加字符串变量,命名为“NetworkAddress”,值为要设置的MAC地址,例如:

5

完成上述操作后重启就好了。

一般网卡发出的包的源MAC地址并不是网卡本身写上去的,而是应用程序提供的,只是在通常的实现中,应用程序先从网卡上得到MAC地址,每次发送的时候都用这个MAC作为源MAC而已,而注册表中的MAC地址是在Windows安装的时候从网卡中读入的,只要你的操作系统不重新安装应该问题不大。

安全问题

MAC地址过滤

从上面的介绍可以知道,这种标识方式只是MAC地址基于的,如果有人能够更改MAC地址,就可以盗用IP免费上网了,目前网上针对小区宽带的盗用MAC地址免费上网方式就是基于此这种思路。

如果想盗用别人的IP地址,除了IP地址还要知道对应的MAC地址。

举个例子,获得局域网内某台主机的MAC地址,比如想得到局域网内名为TARGET主机的MAC地址,先用PING命令:

PINGTARGET,这样在我们主机上面的ARP表的缓存中就会留下目标地址和MAC映射的记录,然后通过ARPA命令来查询ARP表,这样就得到了指定主机的MAC地址。

最后用ARP-sIP网卡MAC地址,命令把网关的IP地址和它的MAC地址映射起来就可以了。

如果要得到其它网段内的MAC地址,那么可以用工具软件来实现,我觉得Windows优化大师中自带的工具不错,点击“系统性能优化”→“系统安全优化”→“附加工具”→“集群Ping”,可以成批的扫出MAC地址并可以保存到文件。

相关知识:

ARP(AddressResolutionProtocol)是地址解析协议,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地址

我们可以将IP地址和MAC地址捆绑起来来解决这个问题。

进入“MS-DOS方式”或“命令提示符”,在命令提示符下输入命令:

ARP-s10.88.56.7200-10-5C-AD-72-E3,即可把MAC地址和IP地址捆绑在一起。

这样,就不会出现IP地址被盗用而不能正常使用网络的情况,可以有效保证小区网络的安全和用户的应用。

注意:

ARP命令仅对局域网的上网代理服务器有用,而且是针对静态IP地址,如果采用Modem拨号上网或是动态IP地址就不起作用。

MAC获取

不过,只是简单地绑定IP和MAC地址是不能完全的解决IP盗用问题的。

作为一个网络供应商,他们有责任为用户解决好这些问题之的后,才交给用户使用,而不是把安全问题交给用户来解决。

不应该让用户来承担一些不必要盗用的损失。

作为网络供应商,最常用也是最有效的解决方法就是在IP、MAC绑定的基础上,再把端口绑定进去,即IP-MAC-PORT三者绑定在一起,端口(PORT)指的是交换机的端口。

这就需要在布线时候做好端口定时管理工作。

在布线时应该把用户墙上的接线盒和交换机的端口一一对应,并做好登记工作,然后把用户交上来的MAC地址填入对应的交换机端口,进而再和IP一起绑定,达到IP-MAC-PORT的三者绑定。

这样一来,即使盗用者拥有这个IP对应的MAC地址,但是它不可能同样拥有墙上的端口,因此,从物理通道上隔离了盗用者。

与IP区别

IP地址和MAC地址相同点是它们都唯一,不同的特点主要有:

[3]

1.对于网络上的某一设备,如一台计算机或一台路由器,其IP地址可变(但必须唯一),而MAC地址不可变。

我们可以根据需要给一台主机指定任意的IP地址,如我们可以给局域网上的某台计算机分配IP地址为192.168.0.112,也可以将它改成192.168.0.200。

而任一网络设备(如网卡,路由器)一旦生产出来以后,其MAC地址永远唯一且不能由用户改变。

2.长度不同。

IP地址为32位,MAC地址为48位。

linux下查看MAC地址

3.分配依据不同。

IP地址的分配是基于网络拓朴,MAC地址的分配是基于制造商。

4.寻址协议层不同。

IP地址应用于OSI第三层,即网络层,而MAC地址应用在OSI第二层,即数据链路层。

数据链路层协议可以使数据从一个节点传递到相同链路的另一个节点上(通过MAC地址),而网络层协议使数据可以从一个网络传递到另一个网络上(ARP根据目的IP地址,找到中间节点的MAC地址,通过中间节点传送,从而最终到达目的网络)

获取方法

vista下查看mac地址在Windows2000/XP/Vista/7中

单击开始,点击运行,输入cmd,进入后输入ipconfig/all即可。

(或者输入ipconfig-all)(如图)PhysicalAddress.........:

00-23-5A-15-99-42

单击开始,点击运行,输入cmd,进入后输入getmac即可。

另外,还可以通过查看本地连接获取MAC地址:

依次单击“本地连接”→“状态”——“支持”→“详细信息”。

即可看到MAC地址(实际地址)。

linux/unix

在命令行输入ifconfig即可看到MAC地址,如图所示:

修改方法

其实更改网卡MAC地址的功能不论98、win7、2000还是XP,都已经提供了,只是平时大家都没有注意到而已。

下面我就说说怎么更改。

win7

①点击桌面右下角电源与音量之间的网络连接按钮,在弹出的对话框最下端有“打开网络和共享中心”。

②点击“更改适配器设置”选取要更改的网络连接,点击属性

③在执行②后会弹出连接属性对话框,点击“配置”

④点击“高级”,在属性中选择网络地址(networkaddress),点击左面的“值”,输入你所需的mac地址后点击确定即可。

注意:

在修改无线网卡地址的时候,win7对地址做出一个限制。

MAC出厂地址12个数字可以是0-9,A-F任何一个数字,但是在win7软件修改地址的时候,MAC地址的第二位必须是2,6,A,或者E。

xy:

xx:

xx:

xx:

xx:

xx

x=0-9,A-F

y=2,6,A或者E

win2000

MAC地址好了,先来看看WIN2000。

在桌面上网上邻居图标上点右键,选"属性",在出来的"网络和拨号连接"窗口中一般有两个图标,一个是"新建连接"图标,一个是"我的连接"图标。

如果你的机器上有两个网卡的话,那就有三个图标了。

如果你只有一个网卡,那就在"我的连接"图标上点右键,选"属性",会出来一个"我的连接属性"的窗口。

在图口上部有一个"连接时使用:

"的标识,下面就是你机器上的网卡型号了。

在下面有一个"配置"按钮,点击该按钮后就进入了网卡的属性对话框了,这个对话框中有五个属性页,点击第二项"高级"页,在"属性"标识下有两项:

一个是"LinkSpeed/DuplexMode",这是设置网卡工作速率的,我们需要改的是下面一个"NetworkAddress",点击该项,在对话框右边的"值"标识下有两个单选项,默认得是"不存在",我们只要选中上面一个单选项,然后在右边的框中输入你想改的网卡MAC地址,点"确定",等待一会儿,网卡地址就改好了,你甚至不用停用网卡!

另外,你也可以在"设置管理器"中,打开网卡的属性页来修改,效果一样。

WINXP的修改方法跟WIN2000一样。

如果你想把网卡的MAC地址恢复原样,只要再次把"NetworkAddress"项右边的单选项选择为下面一个"没有显示"再重新启动即可。

在WIN2000、XP、WIN7下面是选择"不存在",当然也不用重新启动了。

1.修改注册表

几乎所有的网卡驱动程序都可以被NdisReadNetworkAddress参数调用,以便从注册表中读取一个用户指定的MAC地址。

当驱动程序确定这个MAC地址是有效的,就会将这个MAC地址编程入其硬件寄存器中,而忽略网卡固有的MAC地址。

我们通过手工修改Windows的注册表就可以达到目的。

在Winodws98下运行Windows的注册表编辑器,展开“HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Class\Net”,会看到类似“0000”、“0001”、“0002”的子键。

从“0000”子键开始点击,依次查找子键下的“DriverDesc”键的内容,直到找到与我们查找的目标完全相同的网卡注册表信息为止。

当找到正确的网卡后,点击下拉式菜单“编辑/新建/字符串”,串的名称为“Networkaddress”,在新建的“Networkaddress”串名称上双击鼠标就可以输入数值了。

输入你想指定的新的MAC地址值。

新的MAC地址应该是一个12位的十六进制数字或字母,其间没有“-”,类似12个零的这样的数值(注意,在Windows98和Windows2000/XP中具体键值的位置稍有不同,大家可通过查找功能来寻找)。

在“NetworkAddress”下继续添加一个名为“ParamDesc”的字串值,它将作为“NetworkAddress”项的描述,数值可以取为“MACAddress”。

再把它的内容修改为你想设定的内容。

如图所示。

这样,我们就成功地修改了网卡的MAC地址,重新启动计算机即可。

修改网卡属性

大部分的网卡都可以通过在控制面板中修改网卡属性来更改其MAC地址,笔者的3COM3C905B-TX和RTL8139芯片的网卡都可以这样轻松修改。

在“设备管理器中”,右键点击需要修改MAC地址的网卡图标,并选择“属性/高级”选项卡。

在“属性”区,就可以看到一个称作“NetworkAddress”或其他相类似名字的的项目,点击它,在右侧“值”的下方,输入要指定的MAC地址值。

要连续输入12个十六进制数字或字母,不要在其间输入“-”。

重新启动系统后设置就会生效了。

如果是Windows2000/XP的用户,则可以使用免费MAC地址修改软件SMAC。

运行SMAC后,窗口中的列表框列出计算机上正处于工作状态的网卡。

选定要修改的网卡后,在列表框下方的六个输入框中输入新的MAC地址后,点击右侧的“UpdateMAC(修改MAC地址)”,即可完成MAC地址的修改。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1