你好,欢迎来到电脑编程技巧与维护杂志社! 杂志社简介广告服务读者反馈编程社区  
合订本订阅
 
 
您的位置:杂志经典 / 编程语言
利用IP捆绑技术防止IP地址盗用
 

  要:本文主要介绍了地址转换协议ARP在网际互连中的作用,以及如何利用ARP技术将IP地址与MAC物理地址绑定,防止局域网IP地址被盗用的问题。

关键定IP地址   MAC地址  ARP  捆绑

 

一、前

在网络高速发展的今天,其应用已经涉及现代生活的方方面面,对于网络管理员来讲,加强网络安全管理工作,无疑是一件重要的事情,而其中解决IP地址盗用问题,又是网络管理工作中的一件非常棘手的事情。

在网际互连中,地址转换协议ARP是将IP地址与网络接口卡的物理地址(MAC)相关联的一个环节。IP地址在一定范围内,客户可以随意更改(或称为IP盗用),而网卡的MAC地址相对而言却是唯一的、难以更改的,利用ARP程序将IP地址与MAC地址绑定,就可以解决IP地址被盗用的问题。

二、ARP协议

ARP协议是与IP协议配套使用的一种重要协议,它将上层的IP地址与底层的MAC地址进行绑定,在主机上生成一张IPMAC地址的映射表(ARP Table),存储在高速缓存区(ARP Cache)中。每个主机都有各自的ARP Cache


ARP协议由三部份:输出模块、输入模块和高速缓存管理程序组成。下面举一个例子来说明ARP工作的过程与ARP的功能。

1  ARP工作过程示意图

当主机A通过域名www.ief.cug.edu.cn访问主机B时,就要通过DNS服务器将域名解释为202.114.194.130,再利用ARP协议将IP地址转换为MAC地址00-00-00-21-97-54,从而确定主机B,然后主机A与主机B进行通信。

如果主机A直接利用IP地址访问主机B时,主机A首先在自己的ARP Cache中查看BIP地址,如果存在BIPMAC映射关系,就可以查出BMAC地址,然后将报文发往此MAC地址。

如果B刚刚加入网络中,或A刚刚上电初始化,其ARP Cache尚是空的,那么在AARP Cache中就不会找到BIP的地址。这种情况下,A就会运行ARP输出模块,执行下列过程找出主机BMAC地址。

   在网络中广播发送一个ARP请求分组,上面写有BIP地址和AIPMAC地址的映射关系。

     本网络中所有入网的主机都通过ARP输入模块收到AARP请求分组。

   主机BARP请求分组中查到自己的IP地址,就向A发送一个ARP响应分组,上面写入BIP地址与MAC地址,并处理AARP请求分组,如果BARP Cache中不存在AIPMAC映射,则将AIPMAC的映射加入ARP Cache中。

     主机A接收到BARP响应分组后,将其写入ARP Cache中。

通过上面的实例,我们已经清楚地看到ARP工作的全过程,如果在主机A上电,ARP初始化结束后,管理员通过程序将IPMAC映射写入ARP Cache中,就可以使服务器不必广播发送ARP请求分组,这样就可以防止IP地址被盗用。但是如何得到客户端主机的MAC的地址呢?

三、获取MAC地址

网络管理员在合理分配IP地址后,就要获取每一个分配IP地址主机的MAC地址,并将其写入服务器的ARP Cache中,将IPMAC建立映射,即进行绑定。

获得客户主机的MAC地址的方法,下面介绍几种:

①使用网卡厂家提供的驱动盘上的设置程序查看MAC地址,如NE2000网卡的驱动盘中的DIAG9008.EXE程序。

②在WINDOWS操作系统上,使用WINIPCFG.EXE程序可以查看本机的MAC地址(如图2)。

2  WINDOWS中利用WINIPCFG查看MAC地址

③在WINDOWS9.xWINNT中利用“ARP –A”查看IPMAC映射。利用“ARP –A”之前,必须先将服务器与要查看的主机交换过报文,否则无法查看IPMAC地址映射。例如,要查看“192.168.0.254”主机的MAC地址,在“ping 192.168.0.254”之后,再运行“ARP –A,显示如下: 

Interface: 192.168.0.242 on Interface 0x1000002

  Internet Address      Physical Address      Type

  192.168.0.1           00-00-21-72-97-02     dynamic

  192.168.0.254         00-00-21-ea-3b-73     dynamic  

④在LINUX操作系统中,可以利用“ifconfig”命令查看本机的MAC,也可以利用“ARP –A”查看其他主机MAC地址,显示如下:

 (202.114.194.130)  at 00:00:21:72:97:02   [ether] PERM on eth1

 (192.168.0.16)     at 52:54:AB:15:E8:B9  [ether] PERM on eth1

 (202.114.194.129)  at 00:E0:16:86:2E:82   [ether] PERM on eth0

 (192.168.0.33)     at 00:00:21:72:97:02   [ether] PERM on eth1

Linux系统中,所有已经通信过的主机的IPMAC地址都存储在/proc/net/arp文件中,也可以从此文件中查看。

从以上介绍,我们不难看出在WINDOWS操作系统和Linux操作系统中的MAC地址的表示形式是不同的,但都是利用48bit来表示的,在WINDOWSMAC是用“-”连接的,在Linux中则是用“:”。

四、IPMAC地址绑定

在获得MAC地址以后,管理员就可以在服务器上的ARP Cache中写入IPMAC地址的映射,即将IPMAC绑定。在写入映射时,WINDOWS系统与Linux系统的写入命令有一定的不同,下面分别讲述。

         WINDOWS系统

正确设置网络系统后,在WINDOWS的目录中就装入了ARP.EXE程序,此程序带有几个常用的参数,上面我们已经使用了“ARP –A”来查看MAC地址,写入ARP Cache的参数是“ARP –S”,其格式是:

ARP –S  IP  MAC

例如要将IP地址为192.168.0.254的主机与00-00-21-ea-3b-73绑定,就要用下面的命令:

ARP –S 192.168.0.254 00-00-21-ea-3b-73

   Linux系统arp.exe程序存在于/sbin的目录中,其写入ARP Cache命令格式是:

arp –i eth0 –s  IP  MAC

例如要绑定上例中的IP,就要用下面的命令:

arp –i eth0 –s 192.168.0.254 00:00:21:ea:3b:73

在使用上述写入ARP Cache命令时,如果服务器ARP Cache中没有该IPMAC地址的映射,就会将新映射加入ARP Cache中,如果已经存在,就会将其改写为新映射。以后只有MAC地址正确的主机才能使用其绑定的IP地址,这样就起到了防止IP地址被盗用的作用。

如果网络中的IP地址只分配了一部分,那么除了分配的IP地址与该IP地址的MAC地址绑定外,还要将未分配的IP地址与全“0”的MAC地址绑定,从而彻底防止IP地址的随意更改。如果要将本网络中所有IP地址进行绑定,那么就要使用许多条ARP命令,如在CIP地址中,就要使用254ARP命令,所以管理员在分配IP地址时,应将未分配的IP地址集中于某一段,就可以使用一些方法将这一段IP地址全部拒绝使用,就可以避免大量使用ARP命令的麻烦。但即便是这样,也将使用多条ARP命令,一种简单的方法就是将这些命令写入到一个批处理文件(WINDOWS)或SHELL脚本文件(Linux)中,将批处理文件或SHELL脚本文件加入到AUTOEXEC.BAT文件(windows)或/etc/rc.d/rc.local文件(Linux)中,当机器一启动时,就将IPMAC地址映射写入ARP Cache中。

五、结论

IP地址的盗用给网络管理员的管理和维护工作带来许多困难,如网络计费就无法正确地记录每个主机的花费情况。IP地址盗用的一种有效而且简单的防范措施就是利用ARP地址转换协议,将IPMAC地址绑定,其程序是操作系统自带的,大大方便了网络管理员的维护与管理。

参考文献

1. 计算机网络     谢希仁  大连理工大学出版社    1996.4

2. Internetnetworking With TCP/IP Vol II    Douglas E.Comer 电子工业出版社 1998.7

3.UNIX系统网络程序员指南   杨芙清   电子工业出版社 1992.8

 

 

  推荐精品文章

·2024年2月目录 
·2024年1月目录
·2023年12月目录
·2023年11月目录
·2023年10月目录
·2023年9月目录 
·2023年8月目录 
·2023年7月目录
·2023年6月目录 
·2023年5月目录
·2023年4月目录 
·2023年3月目录 
·2023年2月目录 
·2023年1月目录 

  联系方式
TEL:010-82561037
Fax: 010-82561614
QQ: 100164630
Mail:gaojian@comprg.com.cn

  友情链接
 
Copyright 2001-2010, www.comprg.com.cn, All Rights Reserved
京ICP备14022230号-1,电话/传真:010-82561037 82561614 ,Mail:gaojian@comprg.com.cn
地址:北京市海淀区远大路20号宝蓝大厦E座704,邮编:100089