最近测试公司的几台机器,机器生产出来后MAC地址居然是一样的,之前在笔记本上就有类似情况,没想到台式机也出现了,真不知道咋搞的。测试的时候还没改过来,但是究竟有啥影响呢?查了些资料,整理在下方,以便普及自己的知识。

mac 地址相同造成的影响比较靠谱的解释:

在同一个局域网内理论上是允许相同MAC地址存在的。为什么使用相同的MAC地址的PC都能在同一网段内运行呢?首先,我们要明确的是,局域网内的通信是以帧为基础的,也就是我们通常说的MAC地址,而不是IP地址。其次,路由器(特指平时我们家庭用的那种路由,如tplink等)或交换机(如cisco)在局域网内是根据mac-table进行数据的交换。而且这些表都有特定的生存期,不是静态的。现在假设,有两台PC(PC1和PC2)的MAC地址相同,分别接在路由器(或交换机)的两个端口(port1,port2)上,pc1首先发起连接魔兽游戏的服务器的请求,那么在路由器(或交换机)上就会在mac-table添加PC1的mac地址到port1上,当魔兽游戏的服务器反应请求后,路由器也会把信息转发到port1上给PC1.同理,当PC2也要登陆魔兽游戏服务器时,过程也一样。但是,路由器的mac-table是动态的,当pc1请求连接并且被路由器记录这个mac地址对应的端口为port1时,pc2突然发起连接魔兽服务器的请求,那么路由器的mac-table就会更改次MAC地址的对应端口,把这个mac地址的端口改为port2,那么pc1的响应消息就会直接发给PC2,造成pc1不能上网。当然,发生这种情况比较少,因为,请求响应都是在几秒甚至几十毫秒内完成的。

另一点就是:相同MAC地址的两台机器之间不能通信,当时用scp测试的确是这样的。

MAC地址

求助编辑百科名片

MAC(Media Access Control)地址,或称为 MAC位址、硬件位址,用来定义网络设备的位置。在OSI模型中,第三层网络层负责 IP地址,第二层资料链接层则负责 MAC位址。因此一个主机会有一个IP地址,而每个网络位置会有一个专属于它的MAC位址。

编辑本段概述

  MAC地址(MAC Address)  MAC(Medium/Media Access Control)地址,或称为 MAC位址、硬件地址,用来定义网络设备的位置,由48比特长,12位的16进制数字组成,0到23位是厂商向IETF等机构申请用来标识厂商的代码,也称为“编制上唯一的标识符”(Organizationally Unique Identifier)。是识别LAN(局域网)结点的标志。地址的24到47位由厂商自行分派,是各个厂商制造的所有网卡的一个唯一编号。在OSI模型中,第三层网络层负责 IP地址,第二层数据链路层则负责 MAC位址。因此一个网卡会有一个全球唯一固定的MAC地址,但可对应多个IP地址。第40位是组播地址标志位。

编辑本段MAC地址解释

  MAC(Medium/MediaAccess Control, 介质访问控制)MAC地址是收录在NetworkInterfaceCard(网卡,NIC)里的.MAC地址,也叫硬件地址,是由48比特/bit长(6字节/byte,1byte=8bits),16进制的数字组成.0-23位叫做组织唯一标志符(organizationally unique,是识别LAN(局域网)节点的标识。24-47位是由厂家自己分配.其中第40位是组播地址标志位。网卡的 物理地址通常是由网卡生产厂家烧入网卡的EPROM(一种闪存芯片,通常可以通过程序擦写),它存储的是传输数据时真正赖以标识发出数据的电脑和接收数据的主机的地址。  也就是说,在网络底层的物理传输过程中,是通过物理地址来识别主机的,它一般也是全球唯一的。比如,著名的 以太网卡,其物理地址是48bit(比特位)的整数,如:44-45-53-54-00-00,以机器可读的方式存入主机接口中。以太网地址管理机构(除了管这个外还管别的)(IEEE)(IEEE: 电气和电子工程师协会)将以太网地址,也就是48比特的不同组合,分为若干独立的连续地址组,生产以太网网卡的厂家就购买其中一组,具体生产时,逐个将唯一地址赋予以太网卡。  形象的说,MAC地址就如同我们身份证上的身份证号码,具有全球唯一性。

编辑本段MAC地址的作用

   ip地址

ip地址

  IP地址就如同一个职位,而MAC地址则好像是去应聘这个职位的人才,职位既可以让甲坐,也可以让乙坐,同样的道理一个结点的IP地址对于网卡是不做要求,基本上什么样的厂家都可以用,也就是说IP地址与MAC地址并不存在着绑定关系。本身有的计算机流动性就比较强,正如同人才可以给不同的单位干活的道理一样的,人才的流动性是比较强的。职位和人才的对应关系就有点像是IP地址与MAC地址的对应关系。比如,如果一个网卡坏了,可以被更换,而无须取得一个新的IP地址。如果一个IP主机从一个网络移到另一个网络,可以给它一个新的IP地址,而无须换一个新的网卡。当然MAC地址除了仅仅只有这个功能还是不够的,就拿人类社会与网络进行类比,通过类比,我们就可以发现其中的类似之处,更好地理解MAC地址的作用。无论是局域网,还是广域网中的计算机之间的通信,最终都表现为将 数据包从某种形式的链路上的初始结点出发,从一个结点传递到另一个结点,最终传送到目的结点。数据包在这些节点之间的移动都是由ARP(Address Resolution Protocol: 地址解析协议)负责将IP地址映射到MAC地址上来完成的。其实人类社会和网络也是类似的,试想在人际关系网络中,甲要捎个口信给丁,就会通过乙和丙中转一下,最后由丙 转告给丁。在网络中,这个口信就好比是一个网络中的一个数据包。数据包在传送过程中会不断询问相邻节点的MAC地址,这个过程就好比是人类社会的口信传送过程。相信通过这两个例子,我们就可以进一步理解MAC地址的作用。

编辑本段如何获取本机的MAC?

win98/me

  对于数量不多的几台机器,我们可以这样获取MAC地址:在Windows 98/Me中,依次单击“开始”→“运行” →输入“winipcfg”→回车。即可看到MAC地址。

在Windows 2000/XP/Vista/7中

  单击开始,点击运行,输入cmd,进入后输入ipconfig /all(ip和config之间没有空格,显示问题)即可。(或者输入ipconfig -all)(如图)
   Vista下查看MAC地址

Vista下查看MAC地址

Physical Address. . . . . . . . . : 00-23-5A-15-99-42  单击开始,点击运行,输入cmd,进入后输入getmac即可。
   mac获取

mac获取

  另外,还可以通过查看本地连接获取MAC地址:依次单击“本地连接”→“状态”——“支持”→“详细信息”。 即可看到MAC地址(实际地址)。

linux/unix

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

LINUX下查看MAC地址

编辑本段修改网卡MAC地址的方法

  其实更改网卡MAC地址的功能不论98、win7、2000还是XP,都已经提供了,只是平时大家都没有注意到而已。下面我就说说怎么更改。很简单哦。。。

win7修改方法

  ①点击桌面右下角电源与音量之间的网络连接按钮,在弹出的对话框最下端有“打开网络和共享中心”,点之  ②点击“更改适配器设置”选取要更改的网络连接,点击属性  ③在执行②后会弹出连接属性对话框,点击“配置”  ④点击“高级”,在属性中选择网络地址(network address),点击左面的“值”,输入你所需的mac地址后点击确定即可。

win2000修改方法

  好了,现在先来看看WIN2000。在 桌面上网上邻居图标上点右键,选"属性",在出来的"网络和拨号连接"窗口中一般有两个图标,一个是"新建连接"图标,一个是"我的连接"图标。如果你的机器上有两个网卡的话,那就有三个图标了。如果你只有一个网卡,那就在"我的连接"图标上点右键,选"属性",会出来一个"我的连接 属性"的窗口。在图口上部有一个"连接时使用:"的标识,下面就是你机器上的网卡型号了。在下面有一个"配置"按钮,点击该按钮后就进入了网卡的属性对话框了,这个对话框中有五个属性页,点击第二项"高级"页,在"属性"标识下有两项:一个是"Link Speed/Duplex Mode",这是设置网卡工作速率的,我们需要改的是下面一个"Network Address",点击该项,在对话框右边的"值"标识下有两个单选项,默认得是"不存在" ,我们只要选中上面一个单选项,然后在右边的框中输入你想改的网卡MAC地址,点"确定",等待一会儿,网卡地址就改好了,你甚至不用停用网卡!  另外,你也可以在"设置管理器"中,打开网卡的属性页来修改,效果一样。WINXP的修改方法跟WIN2000一样。

98下修改方法

  在98下面修改和WIN2000、XP下差不多。在"网上邻居"图标上点右键,选择"属性",出来一个"网络"对话框,在"配置"框中,双击你要修改的网卡,出来一个网卡属性对话框。在"高级"选项中,也是点击"属性"标识下的"Network Address"项,在右边的两个单选项中选择上面一个,再在框中输入你要修改的网卡MAC地址,点"确定"后,系统会提示你重新启动。重新启动后,你的网卡地址就告修改成功!!  如果你想把网卡的MAC地址恢复原样,只要再次把"Network Address"项右边的单选项选择为下面一个"没有显示"再重新启动即可。在WIN2000、XP下面是选择"不存在",当然也不用重新启动了。
   注册表编辑器

注册表编辑器

  1.修改注册表  几乎所有的网卡驱动程序都可以被NdisReadNetworkAddress参数调用,以便从注册表中读取一个用户指定的MAC地址。当驱动程序确定这个MAC地址是有效的,就会将这个MAC地址编程入其硬件寄存器中,而忽略网卡固有的MAC地址。我们通过手工修改Windows的注册表就可以达到目的。  在Winodws 98下运行Windows的 注册表编辑器,展开“HKEY_LOCAL_MACHINE\System\Current ControlSet\Services\Class\Net”,会看到类似“0000”、“0001”、“0002”的子键。从“0000”子键开始点击,依次查找子键下的“DriverDesc”键的内容,直到找到与我们查找的目标完全相同的网卡注册表信息为止。  当找到正确的网卡后,点击下拉式菜单“编辑/新建/字符串”,串的名称为“Networkaddress”,在新建的“Networkaddress”串名称上双击鼠标就可以输入数值了。输入你想指定的新的MAC地址值。新的MAC地址应该是一个12位的十六进制数字或字母,其间没有“-”,类似“000000000000”的这样的数值(注意,在Windows 98和Windows 2000/XP中具体键值的位置稍有不同,大家可通过查找功能来寻找)。  在“NetworkAddress”下继续添加一个名为 “ParamDesc”的字串值,它将作为“NetworkAddress”项的描述,数值可以取为“MAC Address”。再把它的内容修改为你想设定的内容。如图所示。  这样,我们就成功地修改了网卡的MAC地址,重新启动计算机即可。  2.修改网卡属性  大部分的网卡都可以通过在控制面板中修改网卡属性来更改其MAC地址,笔者的3COM 3C905B-TX和RTL8139芯片的网卡都可以这样轻松修改。  在“设备管理器中”,右键点击需要修改MAC地址的网卡图标,并选择“属性/高级”选项卡。在“属性”区,就可以看到一个称作“Network Address”或其他相类似名字的的项目,点击它,在右侧“值”的下方,输入要指定的MAC地址值。要连续输入12个十六进制数字或字母,不要在其间输入“-”。重新启动系统后设置就会生效了。  如果是Windows 2000/XP的用户,则可以使用免费MAC地址修改 软件SMAC。运行SMAC后,窗口中的列表框列出计算机上正处于工作状态的网卡。选定要修改的网卡后,在列表框下方的六个输入框中输入新的MAC地址后,点击右侧的“Update MAC(修改MAC地址)”,即可完成MAC地址的修改。
   超级兔子设置

超级兔子设置

  修改MAC地址的工具有很多,但大多数都只适用于Windows 2000/XP,在这里推荐用“ 超级兔子魔法设置”,因为不但简单易用,而且在Windows 9x系统中使用同样有效。

编辑本段MAC地址的应用

  平日身份证的作用并不是很大,但是到了有的关键时刻,身份证就是用来证明你的身份的。比如你要去银行提取现金,这时就要用到身份证。那么MAC地址与IP地址绑定就如同我们在日常生活中的本人携带自己的身份证去做重要事情一样的道理。有的时候,我们为了防止IP地址被盗用,就通过简单的 交换机端口绑定(端口的MAC表使用静态表项),可以在每个交换机端口只连接一台主机的情况下防止修改MAC地址的盗用,如果是三层设备还可以提供:交换机端口/IP/MAC 三者的绑定,防止修改MAC的IP盗用。一般绑定MAC地址都是在交换机和 路由器上配置的,是网管人员才能接触到的,对于一般电脑用户来说只要了解了绑定的作用就行了。比如你在校园网中把自己的笔记本电脑换到另外一个宿舍就无法上网了,这个就是因为MAC地址与IP地址(端口)绑定引起的。

编辑本段MAC欺骗的攻击方法

   arp技术

arp技术

  ARP欺骗技术已经很成熟了,这里也不再阐述。此次重点讲解如何不用ARP欺骗进行 嗅探以及会话劫持的技术原理,实际的攻击方法是进行MAC欺骗。  原理:在开始之前我们先简单了解一下交换机转发过程:交换机的一个端口收到一个数据帧时,首先检查该数据帧的目的MAC地址在 MAC地址表(CAM)对应的端口,如果目的端口与源端口不为同一个端口,则把帧从目的 端口转发出去,同时更新MAC地址表中源端口与源MAC的对应关系;如果目的端口与源端口相同,则丢弃该帧。



posted on 2022-07-05 18:13  我在全球村  阅读(393)  评论(0编辑  收藏  举报