校园网中避免IP地址盗用的方法

时间:2022-07-11 03:54:29

校园网中避免IP地址盗用的方法

【摘要】 本文探讨了利用ARP协议解决校园网中常见的IP地址盗用问题。利用ARP协议不仅可以把被盗用的IP地址取回来,在网络安全的领域,也可以使用ARP欺骗的技术,结合sniff软件,进行网络的监听,辅助做好网络安全工作。

【关键词】 ARP;IP;校园网;TCP/IP

如今很多学校都建设了校园网,并分配给每个部门一个IP地址段。但IP地址的匮乏总是会造成主机多而IP地址少的状况出现。于是,有一些没有分配到IP地址的用户就想方设法地盗用其它用户的IP地址。

对于这种情况,我们虽然可以通过在网关中绑定IP地址和MAC地址对的方法解决,但当用户没有权限或者不方便绑定IP地址时,盗用IP地址仍然会给我们带来很多的麻烦。

本文阐述ARP协议的工作原理,并利用ARP的高速缓存,提出一种可以取回被盗用的IP地址的方案,并使用一种简单的方法来防范IP地址被盗用。

1 ARP协议原理和作用

地址解析协议ARP属于TCP/IP协议族中的网络层,它在网络层中的位置如图1所示。ARP协议提供IP地址到硬件地址之间的动态映射。

ARP协议工作原理如图2所示。

①:传输层将数据段交给IP层。

②:IP层收到数据段后,由IP协议包构建IP数据报,并查找本机路由表,决定该IP数据报应该发往的下一站路由。对于向因特网的访问,通常主机将IP数据报发往默认网关。

IP数据报的发送需要将硬件地址(数据链路层地址,对于以太网来说是MAC地址)封装在数据链路层的帧头中才能够发送。而以太网驱动程序并不知道下一站路由所对应的MAC地址是什么。

③:IP协议要求ARP提供下一站路由的IP地址所对应的MAC地址。

④:ARP协议通过以太网驱动程序,使用以太网广播的形式发送ARP请求,向全网段广播查询下一站路由所对应的MAC地址。

⑤:所有位于同一网段的主机和路由器都收到了该ARP请求。

⑥:下一站路由(被查问主机)收到ARP请求后,通过以太网驱动程序,使用单播形式向发起请求的主机发送ARP应答,告知本机的MAC地址。

⑦:发送方主机根据该ARP应答,通过以太网的封装,将IP数据报以单播形式发往下一站路由。

⑧:下一站路由收到该IP数据报后,查看IP数据报中的目的IP地址,若本机是接收方则将数据提交传输层,否则,根据路由表转发或丢弃该IP数据报。

用于以太网的ARP请求和应答分组格式如图3所示。

其中OP字段为1的是ARP请求报文,OP字段为2的是ARP的应答报文。另外,我们注意到ARP的请求和应答分组不仅包含要查询的目的端的IP地址和MAC地址,而且包含有发送端的IP地址和MAC地址。这是ARP协议的一个优化。

为了避免每次发送一个IP数据报,都进行一次ARP的请求和应答交互,ARP协议采用了高速缓存机制。

ARP的高速缓存按以下两个原则工作:

1)在图2的第⑤步中,任何收到ARP请求的主机或路由器,都将该ARP请求中的发送方IP地址和MAC地址对存储到ARP的高速缓存中。

2)在图2的第④步发送ARP请求之前,先查找ARP的高速缓存,如果找到所需的IP地址和MAC地址对,则不再发送ARP请求;如果没有所需要的信息,才按照图2所示步骤进行ARP的请求操作。

2 IP地址盗用和解决的方法

当局域网内的计算机通过网关连接到外部网络,网关内的ARP高速缓存会保存有正在通信的内网主机的IP地址和MAC地址对,因此,每次有IP数据报从外网进来,网关不需使用ARP请求,直接将IP数据报经过以太网封装发往目标主机。在这个过程中,如果某个用户恶意盗用了IP地址,由于网关中保存的是被盗用IP地址和恶意用户的MAC地址的对应关系,就会造成合法用户不能收到从外网进来的IP数据报。

我们可以采用IP地址绑定的方法解决IP地址被盗用的问题。这种方法将合法的IP地址和用户登记的MAC地址的对应关系静态的添加到网关的ARP高速缓存中,ARP高速缓存中的静态条目不会由于收到ARP请求而修改,因此,恶意用户即使盗用了IP地址,由于他的MAC地址和网关中静态保存的不同,他也不能够使用该IP地址和外网连通。

IP地址绑定的方法虽然可以解决IP地址盗用的问题,但考虑到网关是重要的网络设备,大多数用户没有权限进行IP地址绑定,或者内网主机经常变化造成MAC地址变化频繁,这样,绑定IP地址会有很多的不便。因此,很多局域网内部没有绑定IP地址。

在不绑定IP地址的情况下,如果IP地址被盗,我们可以利用ARP高速缓存的工作机制,采用一种简单的方法,取回被盗用的IP地址。也就是说,我们利用ARP请求,来改变网关内的ARP高速缓存,使它保存合法的IP地址和MAC对。

通常,网关经常会发送ARP请求,询问内网中的某个IP地址所对应MAC地址,这样,内网所有主机都收到了这样的ARP请求,因而,所有主机内的ARP缓存就总是会有网关的IP地址和MAC地址对。为了能够从内网主机向网关发送ARP请求,首先我们要删除自己主机内的相关ARP缓存条目,然后向网关发送IP数据报,这样,根据图2解释的ARP工作的原理,内网主机就会产生ARP请求,继而使网关中保存合法的IP地址和MAC地址对。

假定我们的默认网关地址是202.196.73.1,windows环境下,我们可以在本机中使用以下命令删除ARP高速缓存中的202.196.73.1对应的条目。

arp -d 202.196.73.1

然后使用ping命令,产生IP数据报发送给网关。

ping 202.196.73.1

使用这样的方法就可以取回被盗用的IP地址。

3 进一步的改进

在使用过程中,为了防范IP地址被盗用,可以编写批处理文件,不断的重复上述过程。并将ping的包数减小到1。批处理如下:

:start

@echo off

arp -d 202.196.73.254

ping 202.196.73.省略程序,在每次循环前进行一次选择,这样既可以在每次操作前等待一段时间,又可以在需要的时候随时退出。Windows2000环境不提供choice.省略 /c:AB /t:A,30

if errorlevel 2 goto end

if errorlevel 1 goto run

:run

@echo on

arp -d 202.196.73.1

ping 202.196.73.1 -n 1

@echo off

goto start

:end

这个批处理程序运行后,会显示提示信息,要求用户输入A或者B,输入A则发送ARP请求和IP数据报给网关,输入B则程序退出,没有输入的情况下,程序等待30秒后自动选择A。

4 结束语

以上仅仅阐述了ARP协议应用的一个方面,利用ARP协议不仅可以把被盗用的IP地址取回来,在网络安全的领域,也可以使用ARP欺骗的技术,结合sniff软件,进行网络的监听,辅助做好网络安全工作。

总之,TCP/IP协议族中的很多知识都可以应用来解决网络应用中的各种难题。

参考文献

[1] Douglas E. Comer. 林瑶等译.用TCP/IP进行网际互联 第一卷:原理、协议与结构(第四版)[M].北京:电子工业出版社,2001: 53-59

[2] 谢希仁.计划机网络(第四版).北京:电子工业出版社[M], 2003: 183-185

收稿日期:2008-3-14

上一篇:在信息技术课堂教学中培养学生的创新能力 下一篇:浅谈基于UML的web办公系统特点