admin管理员组

文章数量:1531445

2024年7月17日发(作者:)

维普资讯

第6卷第6期 潍坊学院学报 

Vol_6 NO.6 

2006年11月 

Journal of Weifang University 

NOV.2006 

局域网中盗用IP—MAC地址的过程分析 

王显冰 ’。 

( 武汉理工大学,湖北武汉430063;。潍坊学院,山东潍坊261061) 

摘 要:IP地址盗用是TCP/IP网络中的一个普遍性的问题,要想解决地址盗用的问题就要分析 

盗用的过程和它的工作原理,本文对于伪造MAC地址盗用IP地址的工作过程进行了分析,并提出了 

集中解决的方法。 

关键词:网络安全;局域网;地址盗用 

中图分类号:TP393 文献标识码:A 文章编号:1671—4288(2006)06—0060—03 

影响网络安全的因素很多,IP地址盗用或地 法IP盗用(例如盗用权限更高人员的IP地址,以 

址欺骗就是其中一个常见且危害极大的因素。现 获得权限外的信息),可以将内部网络的IP地址 

实中,许多网络应用是基于IP的,比如流量统计、 

与MAC地址绑定,盗用者即使修改了IP地址, 

账号控制等都将IP地址作为标志用户的一个重 

也因MAC地址不匹配而盗用失败,而且由于网 

要的参数。如果有人盗用了合法地址并伪装成合 卡MAC地址的唯一确定性,可以根据MAC地 

法用户,网络上传输的数据就可能被破坏、窃听, 

址查出使用该MAC地址的网卡,进而查出非法 

甚至盗用,造成无法弥补的损失。常见盗用方法 

盗用者。 

有:静态修改IP地址、成对修改IP—MAC地址 

从表面上看来,绑定MAC地址和IP地址可 

和动态修改IP地址等,MAC地址是设备的硬件 以防止内部IP地址被盗用,但实际上由于各层协 

地址,就是计算机网卡的物理地址。每个网卡的 议以及网卡驱动等实现技术,MAC地址与IP地 

MAC地址在所有以太网设备中必须是唯一的, 

址的绑定存在很大的缺陷,并不能真正防止内部 

它由IEEE分配,是固化在网卡上的,一般不能 

IP地址被盗用。 

随意改动。但现在很多网卡的MAC地址可以使 Ethernet协议是链路层协议,使用的地址是 

用网卡配置程序或操作系统本身进行修改。如果 

MAC地址。MAC地址是Ethernet网卡在Eth— 

将一台计算机的IP地址和MAC地址都改为另 ernet中的硬件标志,网卡生产时将其存于网卡的 

外一台合法主机的IP地址和MAc地址,将能越 

EEPROM中。网卡的MAC地址各不相同, 

过路由器ARP访问控制列表,像合法用户一样 

MAC地址可以唯一标志一块网卡。在Ethernet 

使用网络,是一种实实在在的盗用行为,是网络 上传输的每个报文都含有发送该报文的网卡的 

管理人员最难解决的问题,本文就重点分析这种 

MAC地址。 

修改IP—MAC地址和盗用IP地址的工作过程。 

Etheramt根据Ethernet报文头中的源MAC 

1 MAC与IP地址绑定的缺陷 地址和目的MAC来识别报文的发送端和接收 

目前,很多单位的内部网络,尤其是学校校园 端。IP协议应用于网络层,使用的地址为1P地 

网都采用了MAC地址与IP地址的绑定技术防 

址。使用IP协议进行通讯,每个IP报文头中必 

止1P地址盗用。 

须含有源IP和目的1P地址,用以标志该IP报文 

IP地址的修改非常容易,而MAC地址存储 

的发送端和接收端。在Ethernet上使用IP协议 

在网卡的EEPROM中,而且网卡的MAC地址 

传输报文时,IP报文作为Ethernet报文的数据。 

是唯一确定的。因此,为了防止内部人员进行非 

IP地址对于Ethernet交换机或处理器是透明的。 

收稿日期:2006—09—22 

作者简介:王显冰(1974一)男,山东潍坊人,潍坊学院实验室与设备管理处工程师。 

・ 

60 ・ 

维普资讯

第6期 王显冰:局域网中盗用IP—MAC地址的过程分析 

用户可以根据实际网络的需要为网卡配置一个或 

多个IP地址。MAc地址和IP地址之间并不存 

在一一对应的关系。 

址。盗用内部客户机IP地址:将主机l的MAc 

地址和IP地址分别修改为主机2的MAC地址 

和IP地址。主机l可以访问外部服务器,能够顺 

MAC地址存储在网卡的EEPROM中并且 

唯一确定,但网卡驱动在发送Ethernet报文时, 

并不从EEPROM中读取MAC地址,而是在内 

存中来建立一块缓存区,Ethernet报文从中读取 

源MAC地址。而且,用户可以通过操作系统修 

改实际发送的Ethernet报文中的源MAC地址。 

既然MAC地址可以修改,那么MAC地址与IP 

地址的绑定也就失去了它原有的意义。 

通过实验可以证实,只要把主机l的MAC 

利地通过防火墙,访问权限与主机2没有分别。 

而且,与此同时主机2也可以正常地访问外部服 

务器,完全不受主机l的影响。无论是主机2还 

是防火墙都察觉不到主机l的存在。主机l如果 

访问内部服务器,根本无需通过防火墙,更是畅通 

无阻了。 

盗用内部服务器IP地址:将主机l的MAC 

地址和IP地址修改为内部服务器的MAc地址 

和IP地址,主机l也提供Web服务。为了使效 

果更明显,主机l上提供的Web服务内容与内部 

服务器提供的内容不同。 

在实际的实验中主机l与主机2连在同一个 

HUB上,主机2的访问请求总是先被主机l响 

应,主机2期望访问的是内部服务器,得到的却总 

是主机l提供的内容。如果网络结构不同,主机 

2如果试图访问内部服务器,获得的到底是主机l 

提供的内容还是内部服务器提供的内容具有随机 

地址和IP地址修改成跟主机2完全一样,那么这 

台主机l就可以拥有主机2所有的网络权限。 

图l是试验的结构示意图。其内部服务器和 

外部服务器都提供Web服务,防火墙中实现了 

MAC地址和IP地址的绑定。报文中的源MAC 

地址与IP地址对如果无法与防火墙中设置的 

MAC地址与IP地址相匹配,将无法通过防火墙。 

主机2和内部服务器都是内部网络中的合法机 

器,主机l是为了做实验而新加入的机器,安装的 

操作系统是Windows 2000。 

性,要看它的访问请求首先被谁响应,在后面的分 

析中我们将进一步对此进行阐述。盗用服务器的 

MAC和IP危害可能更大,如果主机l提供的 

Web内容和内部服务器中的内容一样,那么主机 

2将无法识别它访问的到底是哪个机器;如果 

Web内容中要求输人账号、密码等信息,那么这 

些信息对于主机l来说则是一览无遗了。 

2伪造MAC机器的工作原理 

这种缺陷存在的前提是网卡的混杂接收模 

式,所谓混杂接收模式是指网卡可以接收网络上 

传输的所有报文,无论其目的MAC地址是否为 

I璺I 1 

该网卡的MAC地址。正是由于网卡支持混杂模 

式,才使网卡驱动程序支持MAC地址的修改成 

为可能,否则,就算修改了MAC地址,但是网卡 

根本无法接收相应地址的报文,该网卡就变得只 

试验需要修改主机l中网卡的MAC和IP 

地址为被盗用设备的MAC和IP地址。首先,在 

控制面板中选择“网络和拨号连接”,选中对应的 

网卡并点击鼠标右键,选择属性,在属性页的“常 

规”页中点击“配置”按钮。在配置属性页中选择 

能发送,无法接收,通信也就无法正常进行了。 

MAC地址可以被盗用的直接原因是网卡驱 

动程序发送Ethernet报文的实现机制。Ethernet 

“高级”,再在“属性”栏中选择“Network Ad— 

dress”,在“值”栏中选中输人框,然后在输人框中 

输人被盗用设备的MAC地址,MAC地址就修改 

成功了。 

报文中的源MAC地址是驱动程序负责填写的, 

但驱动程序并不从网卡的EEPROM中读取 

MAC,而是在内存中建立一个MAC地址缓存 

然后再将IP地址配置成被盗用设备的IP地 

区。网卡初始化的时候将EEPROM中的内容读 

人到该缓存区。如果将该缓存区中的内容修改为 

・ 

61 ・ 

维普资讯

潍坊学院学报 

用户设置的MAC地址,以后发出去的Ethernet 

务,而不受地址盗用的干扰。 

报文的源地址就是修改后的MAC地址了。 

如果仅仅是修改MAc地址,地址盗用并不 

见得能够得逞。Ethernet是基于广播的,Ether— 

当然,某些应用程序的用户端口号可能是用 

户或者应用程序自己设置的,而不是交给协议来 

随机的生成。例如,在两台MAC地址和IP地址 

net网卡都能监听到局域网中传输的所有报文, 

但是网卡只接收那些目的地址与自己的MAC地 

址相匹配的Ethernet报文。如果有两台具有相 

都相同的主机上,启动了两个端口相同的应用程 

序,这两个应用是不是就无法正常工作了呢?其 

实不尽然。 

如果下层使用的是UDP协议,两个应用将 

同MAc地址的主机分别发出访问请求,而这两 

个访问请求的响应报文对于这两台主机都是匹配 

的,那么这两台主机就不只接收到自己需要的内 

容,而且还会接收到目的为另外一台同MAC主 

机的内容。 

按理说,两台主机因为接收了多余的报文后, 

都应该无法正常工作,盗用马上就会被察觉,盗用 

也就无法继续了,但是,在实验中地址被盗用之 

后,各台实验设备都可以互不干扰的正常工作。 

这又是什么原因呢?答案应该归结于上层使用的 

协议。  、

目前,网络中最常用的协议是TCP/IP协议, 

网络应用程序一般都是运行在TCP或者UDP之 

上。在TCP或者UDP中,标志通信双方的不仅 

仅是IP地址,还包括端口号。在一般的应用中, 

用户端的端口号并不是预先设置的,而是协议根 

据一定的规则生成的,具有随机性。UDP或者 

TCP的端口号为16位二进制数,两个16位的随 

机数字相等的几率非常小,两台主机虽然MAc 

地址和IP地址相同,但是应用端口号不同,接收 

到的多余数据由于在TCP/UDP层找不到匹配 

的端口号,被当成无用的数据简单地丢弃了,而 

TCP/UDP层的处理对于用户层来说是透明的; 

所以用户可以“正确无误”地正常使用相应的服 

・ 

62 ・ 

互相干扰无法正常工作。如果使用的是TCP协 

议,结果就不一样了。因为TCP是面向连接的, 

为了实现重发机制,保证数据的正确传输,TCP 

引入了报文序列号和接收窗口的概念。在上述的 

端口号匹配的报文中,只有那些序列号的偏差属 

于接收窗口之内的报文才会被接收,否则,会被认 

为是过期报文而丢弃。TCP协议中的报文的序 

列号有32位,每个应用程序发送的第一个报文的 

序列号是严格按照随机的原则产生的,以后每个 

报文的序列号依次加l。窗口的大小有16位,也 

就是说窗口最大可以是216,而序列号的范围是 

232,主机期望接收的TCP数据的序列号正好也 

处于对方的接收范围之内的概率为1/216,可谓 

小之又小。TCP的序列号本来是为了实现报文 

的正确传输,现在却成了地址盗用的帮凶。 

3对策 

解决这种地址盗用的方法很多,主要以下几 

种。 

交换机端口、MAC地址和IP地址三者绑 

定的方法。 

用PPPoE协议进行用户认证的方法。 

基于目录服务策略的方法。 

统一身份认证与计费软件相结合的方法。 

责任编辑:肖恩忠 

本文标签: 地址盗用网卡报文接收