两台机器的MAC地址设置成一样,IP一样他们仍然可以正常上网

来自:    更新日期:早些时候
相同mac地址,相同ip的两天电脑为什么可以同时上网互不影响~

在网上找到一篇文章,可以解决问题。
小区宽带,使用web认证,帐号绑定了mac地址和IP地址,有两台电脑,因为帐号绑定了mac地址,为了让一台关机的时候另一台能上网,所以就把两条机器的mac地址和ip设成一样的,比较奇怪的事,两台同时开机接在同一个交换机上的时候,居然不会报IP冲突,而且还可以同时上网,仔细思考了一下,想来windows 系统确定IP冲突是以同一IP被不同mac地址的网卡使用来判断的,既然两台机器的mac地址相同,windows也就识别不出IP冲突了,至于同时上网不冲突,回想了一下网络协议,也是有可能的,程序间的通信还需要使用端口,两个网卡收到同样的信息,其中一个正好监听正确接收,另一个因为端口号不同就废弃掉。但如果两台机器程序使用同样的端口呢,是不是就会出现问题呢,不负苦心人,终于让找到高人的写的一篇文章,彻底解决了困惑。
MAC地址与IP地址绑定策略的破解


1 引言 对“IP地址盗用”的解决方案绝大多数都是采取MAC与IP地址绑定策略,这种做法是十分危险的,本文将就这个问题进行探讨。在这里需要声明的是,本文是处于对对MAC与IP地址绑定策略安全的忧虑,不带有任何黑客性质。 1.1 为什么要绑定MAC与IP 地址


  影响网络安全的因素很多,IP地址盗用或地址欺骗就是其中一个常见且危害极大的因素。现实中,许多网络应用是基于IP的,比如流量统计、账号控制等都将IP地址作为标志用户的一个重要的参数。如果有人盗用了合法地址并伪装成合法用户,网络上传输的数据就可能被破坏、窃听,甚至盗用,造成无法弥补的损失。


  盗用外部网络的IP地址比较困难,因为路由器等网络互连设备一般都会设置通过各个端口的IP地址范围,不属于该IP地址范围的报文将无法通过这些互连设备。但如果盗用的是Ethernet内部合法用户的IP地址,这种网络互连设备显然无能为力了。“道高一尺,魔高一丈”,对于Ethernet内部的IP地址被盗用,当然也有相应的解决办法。绑定MAC地址与IP地址就是防止内部IP盗用的一个常用的、简单的、有效的措施。


1.2 MAC与IP 地址绑定原理


  IP地址的修改非常容易,而MAC地址存储在网卡的EEPROM中,而且网卡的MAC地址是唯一确定的。因此,为了防止内部人员进行非法IP盗用(例如盗用权限更高人员的IP地址,以获得权限外的信息),可以将内部网络的IP地址与MAC地址绑定,盗用者即使修改了IP地址,也因MAC地址不匹配而盗用失败:而且由于网卡MAC地址的唯一确定性,可以根据MAC地址查出使用该MAC地址的网卡,进而查出非法盗用者。


  目前,很多单位的内部网络,尤其是学校校园网都采用了MAC地址与IP地址的绑定技术。许多防火墙(硬件防火墙和软件防火墙)为了防止网络内部的IP地址被盗用,也都内置了MAC地址与IP地址的绑定功能。


  从表面上看来,绑定MAC地址和IP地址可以防止内部IP地址被盗用,但实际上由于各层协议以及网卡驱动等实现技术,MAC地址与IP地址的绑定存在很大的缺陷,并不能真正防止内部IP地址被盗用。


2 破解MAC与IP地址绑定策略


2.1 IP地址和MAC地址简介


  现行的TCP/IP网络是一个四层协议结构,从下往上依次为链路层、网络层、传输层和应用层。


  Ethernet协议是链路层协议,使用的地址是MAC地址。MAC地址是Ethernet网卡在Ethernet中的硬件标志,网卡生产时将其存于网卡的EEPROM中。网卡的MAC地址各不相同,MAC地址可以唯一标志一块网卡。在Ethernet上传输的每个报文都含有发送该报文的网卡的MAC地址。


  Ethernet根据Ethernet报文头中的源MAC地址和目的MAC来识别报文的发送端和接收端。IP协议应用于网络层,使用的地址为IP地址。使用IP协议进行通讯,每个IP报文头中必须含有源IP和目的IP地址,用以标志该IP报文的发送端和接收端。在Ethernet上使用IP协议传输报文时,IP报文作为Ethernet报文的数据。IP地址对于Ethernet交换机或处理器是透明的。用户可以根据实际网络的需要为网卡配置一个或多个IP地址。MAC地址和IP地址之间并不存在一一对应的关系。


  MAC地址存储在网卡的EEPROM中并且唯一确定,但网卡驱动在发送Ethernet报文时,并不从EEPROM中读取MAC地址,而是在内存中来建立一块缓存区,Ethernet报文从中读取源MAC地址。而且,用户可以通过操作系统修改实际发送的Ethernet报文中的源MAC地址。既然MAC地址可以修改,那么MAC地址与IP地址的绑定也就失去了它原有的意义。


2.2 破解方案


  下图是破解试验的结构示意图。其内部服务器和外部服务器都提供Web服务,防火墙中实现了MAC地址和IP地址的绑定。报文中的源MAC地址与1P地址对如果无法与防火墙中设置的MAC地址与1P地址对匹配,将无法通过防火墙。主机2和内部服务器都是内部网络中的合法机器;主机1是为了做实验而新加入的机器。安装的操作系统是W2000企业版,网卡是3Com的。


  试验需要修改主机1中网卡的MAC和IP地址为被盗用设备的MAC和IP地址。首先,在控制面板中选择“网络和拨号连接”,选中对应的网卡并点击鼠标右键,选择属性,在属性页的“常规”页中点击“配置”按钮。在配置属性页中选择“高级”,再在“属性”栏中选择“Network Address”,在“值”栏中选中输人框,然后在输人框中输人被盗用设备的MAC地址,MAC地址就修改成功了。


  然后再将IP地址配置成被盗用设备的IP地址。盗用内部客户机IP地址:将主机1的MAC地址和IP地址分别修改为主机2的MAC地址和IP地址。主机1可以访问外部服务器,能够顺利地通过防火墙,访问权限与主机2没有分别。而且,与此同时主机2也可以正常地访问外部服务器,完全不受主机1的影响。无论是主机2还是防火墙都察觉不到主机1的存在。主机1如果访问内部服务器,根本无需通过防火墙,更是畅通无阻了。


  盗用内部服务器IP地址:将主机1的MAC地址和U地址修改为内部服务器的MAC地址和IP地址。主机1也提供Web服务。为了使效果更明显,主机1上提供的Web服务内容与内部服务器提供的内容不同。


  因为在实际的实验中主机1与主机2连在同一个HUB上,主机2的访问请求总是先被主机1响应,主机2期望访问的是内部服务器,得到的却总是主机1提供的内容。更一般地,主机2如果试图访问内部服务器,获得的到底是主机1提供的内容还是内部服务器提供的内容具有随机性,要看它的访问请求首先被谁响应,在后面的分析中将进一步对此进行阐述。


  盗用服务器的MAC和IP危害可能更大,如果主机1提供的Web内容和内部服务器中的内容一样,那么主机2将无法识别它访问的到底是哪个机器;如果Web内容中要求输人账号、密码等信息,那么这些信息对于主机1来说则是一览无遗了。


3 破解成功的原因


  上面的实验验证了绑定MAC地址与IP地址的确存在很大的缺陷,无法有效地防止内部IP地址被盗用。接下来,将从理论上对该缺陷进行详细的分析。


  缺陷存在的前提是网卡的混杂接收模式,所谓混杂接收模式是指网卡可以接收网络上传输的所有报文,无论其目的MAC地址是否为该网卡的MAC地址。正是由于网卡支持混杂模式,才使网卡驱动程序支持MAC地址的修改成为可能;否则,就算修改了MAC地址,但是网卡根本无法接收相应地址的报文,该网卡就变得只能发送,无法接收,通信也就无法正常进行了。


  MAC地址可以被盗用的直接原因是网卡驱动程序发送Ethernet报文的实现机制。Ethernet报文中的源MAC地址是驱动程序负责填写的,但驱动程序并不从网卡的EEPROM中读取MAC,而是在内存中建立一个MAC地址缓存区。网卡初始化的时候将EEPROM中的内容读入到该缓存区。如果将该缓存区中的内容修改为用户设置的MAC地址,以后发出去的Ethernet报文的源地址就是修改后的MAC地址了。


  如果仅仅是修改MAC地址,地址盗用并不见得能够得逞。Ethernet是基于广播的,Ethernet网卡都能监听到局域网中传输的所有报文,但是网卡只接收那些目的地址与自己的MAC地址相匹配的Ethernet报文。如果有两台具有相同MAC地址的主机分别发出访问请求,而这两个访问请求的响应报文对于这两台主机都是匹配的,那么这两台主机就不只接收到自己需要的内容,而且还会接收到目的为另外一台同MAC主机的内容。


  按理说,两台主机因为接收了多余的报文后,都应该无法正常工作,盗用马上就会被察觉,盗用也就无法继续了;但是,在实验中地址被盗用之后,各台实验设备都可以互不干扰的正常工作。这又是什么原因呢?答案应该归结于上层使用的协议。


目前,网络中最常用的协议是TCP/IP协议,网络应用程序一般都是运行在TCP或者UDP之上。例如,实验中Web服务器采用的HTTP协议就是基于TCP的。在TCP或者UDP中,标志通信双方的不仅仅是IP地址,还包括端口号。在一般的应用中,用户端的端口号并不是预先设置的,而是协议根据一定的规则生成的,具有随机性。像上面利用IE来访问Web服务器就是这样。UDP或者TCP的端口号为16位二进制数,两个16位的随机数字相等的几率非常小,恰好相等又谈何容易?两台主机虽然MAC地址和IP地址相同,但是应用端口号不同,接收到的多余数据由于在TCP/UDP层找不到匹配的端口号,被当成无用的数据简单地丢弃了,而TCP/UDP层的处理对于用户层来说是透明的;所以用户可以“正确无误”地正常使用相应的服务,而不受地址盗用的干扰。


  当然,某些应用程序的用户端口号可能是用户或者应用程序自己设置的,而不是交给协议来随机的生成。那么,结果又会如何呢?例如,在两台MAC地址和IP地址都相同的主机上,启动了两个端口相同的应用程序,这两个应用是不是就无法正常工作了呢?其实不尽然。


  如果下层使用的是UDP协议,两个应用将互相干扰无法正常工作。如果使用的是TCP协议,结果就不一样了。因为TCP是面向连接的,为了实现重发机制,保证数据的正确传输,TCP引入了报文序列号和接收窗口的概念。在上述的端口号匹配的报文中,只有那些序列号的偏差属于接收窗口之内的报文才会被接收,否则,会被认为是过期报文而丢弃。TCP协议中的报文的序列号有32位,每个应用程序发送的第一个报文的序列号是严格按照随机的原则产生的,以后每个报文的序列号依次加1。


  窗口的大小有16位,也就是说窗口最大可以是216,而序列号的范围是232,主机期望接收的TCP数据的序列号正好也处于对方的接收范围之内的概率为1/216,可谓小之又小。 TCP的序列号本来是为了实现报文的正确传输,现在却成了地址盗用的帮凶。


4 解决MAC与IP地址绑定被破解的方法


  解决MAC与IP地址绑定被破解的方法很多,主要以下几种。



  交换机端口、MAC地址和IP地址三者绑定的方法;代理服务与防火墙相结合的方法;用PPPoE协议进行用户认证的方法;基于目录服务策略的方法;统一身份认证与计费软件相结合的方法等(这些方法的实现原理和过程可以参考拙作《校园网IP地址盗用解决方案》)。在这里笔者尤其推荐最后一种方法,这种方法是将校园网办公自动化系统和网络计费软件结合在一起而实现的,这在校园网信息化建设的今天具有很强的实践性。

首先,硬件上边的MAC地址是绝对不会出现相同的情况!
第二,同一局域网内2台电脑IP相同,就会出现IP冲突,最起码其中一台电脑不能使用网络!

MAC(Media Access Control, 介质访问控制)地址是识别LAN(局域网)节点的标识。网卡的物理地址通常是由网卡生产厂家烧入网卡的EPROM(一种闪存芯片,通常可以通过程序擦写),它存储的是传输数据时真正赖以标识发出数据的电脑和接收数据的主机的地址。
也就是说,在网络底层的物理传输过程中,是通过物理地址来识别主机的,它一般也是全球唯一的。比如,著名的以太网卡,其物理地址是48bit(比特位)的整数,如:44-45-53-54-00-00,以机器可读的方式存入主机接口中。以太网地址管理机构(IEEE)将以太网地址,也就是48比特的不同组合,分为若干独立的连续地址组,生产以太网网卡的厂家就购买其中一组,具体生产时,逐个将唯一地址赋予以太网卡。
形象的说,MAC地址就如同我们身份证上的身份证号码,具有全球唯一性。
如何获取本机的MAC?
对于数量不多的几台机器,我们可以这样获取MAC地址:在Windows 98/Me中,依次单击“开始”→“运行” →输入“winipcfg”→回车。即可看到MAC地址。
在Windows 2000/XP中,依次单击“开始”→“运行”→输入“CMD”→回车→输入“ipconfig /all”→回车。即可看到MAC地址。

你说的情况是不可能的!MAC地址是固化在网卡上的!具有唯一性,是不可能被改的!

谁发起的当然就会把数据反馈给谁了啊~!至于你考虑的谁都不影响,是因为数据相对小如果数据量大而多的时候,会出现丢包跟延迟的现象的

你是不是由一个路由器上网的呀,要是能的话,这种有可能

MAC地址通过设置是改不了的呀,因为它是网卡上固化的,你设置的可能是一种逻辑上的吧

水货问的问题就不一样,我看你怎么能设置MAC


两台机器的MAC地址设置成一样,IP一样他们仍然可以正常上网视频

相关评论:
  • 17695019345同一个网吧里有2台电脑的MAC是一样的怎么办?
    徐苏志两个机器的MAC不可能是一样的,如果是一样除非是人为的改动过,你可以把它改回去。。设备管理器--网卡--属性--高级选项卡--NETWORK ADDRESS 先择值,就可以修改了 有可能是你的软件弄错了,你可以用ipconfig \/all 来查一下就知道了 改完了物理地址也可以用这个命令来查看 ...

  • 17695019345...了MAC地址不能在别的电脑使用,怎样把两台电脑的MAC地址改成一...
    徐苏志首先,要求计算机的操作系统是Windows 2000或者Windows XP。接着,在其他的计算机上,查出该计算机的MAC地址。使用ipconfig \/all命令即可看到Physical Address行对应的一个类似xx-xx-xx-xx-xx-xx的值,将该值记录下来。接下来,在另外一台您希望修改MAC地址的计算机上右键点击“我的电脑”图标,选择“属性...

  • 17695019345我们宿舍两台笔记本MAC地址怎么是一样的
    徐苏志MAC地址不可能是一样的,就好像手机号一样,如果一个手机号两个人在用,可能就是别人复制了手机卡,同样,有可能是宿舍的同学用某些软件把他电脑的MAC给改了!

  • 17695019345两台机子用同一个MAC地址上网会不会冲突
    徐苏志MAC的克隆是指,在MAC和IP绑定的情况下,或者运营商对账号和MAC进行绑定的情况下,对路由器设置管理MAC地址,也就是人为克隆你的账号绑定的MAC到你路由器的上联端口,然后用NAT或者其他方式,分离你的局域网,从而达到一个账号,多台电脑上网的目的。如果单纯修改MAC,运营商是会很容易发现的。。。

  • 17695019345mac地址相同
    徐苏志局域网中MAC相同的这两台机器不能相互访问 但局域网中的其他机器都能找到这两机器 两台机器能同时上网 MAC相同在windows系统下可以手动修改MAC地址:网卡属性→高级→Network Address→值(在这里任意输入12个字母或数字,字母和数字可以同时存在一组地址中)确定后即可 >>> 路由器是通过ip地址来确定机...

  • 17695019345局域网里两台电脑MAC一样IP不一样可以上网吗
    徐苏志不能,还是只有绑定过的那个IP可以上网.每个IP对应一个MAC地址,路由里面已经把你的IP绑定过MAC地址了,你把再多的网卡的MAC地址换成你的MAC一样的也上不去网,只有经过路由器绑定的那个IP才能上网.只能让网吧那边再把你朋友的那台机器的网卡MAC和IP绑定上去才能上网了....

  • 17695019345同一局域网内两台机器同一个MAC地址相同会冲突吗
    徐苏志在上层的寻址主要是ip。自动获取IP时,路由器的DHCP服务器根据MAC地址分配IP地址。另一台计算机以相同的MAC地址发来DHCP请求时,路由器很可能不去响应处理(这一点可以查看下DHCP协议,以及相关路由器产品的实现)。同一局域网内如有相同MAC地址无影响,但不能有两个相同IP,如在同一局域网内设两个相同IP...

  • 17695019345我用路由器检查到有两个MAC地址是相同的。。。高手请进
    徐苏志直到找到刚才记录的MAC地址为止;例如网卡使用了0001主键,因此我们就选中它,在其右边新建一个串,名称为networkaddress,再双击该串,输入新的MAC地址值(注意应该是12位的连续数字或字母,其间没有-号);最后重启电脑使修改生效。验证修改 如果你想知道系统中的MAC地址是否修改成功了,可以这样操作:重启电脑...

  • 17695019345两个相同MAC地址的电脑共用一个IP地址可以上网吗?
    徐苏志同一个内网有两个相同的MAC地址可以上网吗 应该是可以的,只要没绑定Mac地址的话,上网一般是看你分配的IP地址,而不是看你的Mac地址~两台电脑可以共用一个IP地址吗? 可以使用双网卡设置外IP和内部IP共享对外IP 两台电脑可以共用一个网卡mac地址吗? MAC地址是唯一的,全球唯一,就像身份证和指纹...

  • 17695019345两个IP地址拥有一个MAC地址时会怎样
    徐苏志ARP协议的基本功能就是通过目标设备的IP地址,查询目标设备的MAC地址,以保证通信的顺利进行。每台安装有TCP\/IP协议的电脑里都有一个ARP缓存表,表里的IP地址与MAC地址是一一对应的,如下表所示。主机 IP地址 MAC地址 A 192.168.16.1 aa-aa-aa-aa-aa-aa B 192.168.16.2 bb-bb-bb-bb-bb-...

  • 相关主题精彩

    版权声明:本网站为非赢利性站点,内容来自于网络投稿和网络,若有相关事宜,请联系管理员

    Copyright © 喜物网