一种网络设备上防止arp欺骗的方法及装置的制作方法

文档序号:7552375阅读:147来源:国知局
专利名称:一种网络设备上防止arp欺骗的方法及装置的制作方法
技术领域
本发明涉及网络安全技术领域,尤其涉及一种网络设备上防止ARP欺骗的方法及装置。
背景技术
图1是本发明背景技术提供的应用场景图。参见图1,网络运营服务商通过网络设备:宽带路由器和交换机,实现Internet互联网信息在各用户间的共享。当交换机将互联网信息发送至各用户时,须将各用户的IP (Internet Protocol,网络互联协议)地址转换成相应的MAC (Media Access Control,介质访问控制)地址(硬件地址),才可实现与各用户间的通信,而MAC地址通过ARP (Address Resolution Protocol,地址解析协议)获得。ARP是以太网等数据链路层的基础网络协议,负责完成IP地址到MAC地址的转化,其基本工作过程为:发送端的主机或者网络设备A (例如交换机)需要解析一个IP地址对应的MAC地址时,会广播发送ARP请求报文,ARP请求数据帧中包含目的主机或网络设备B(例如某一用户主机)的IP地址,意思是“如果你是这个IP地址的拥有者,请回答你的MAC地址”;目标端的主机或者网络设备B接收到ARP请求,识别出这是主机或者网络设备A在询问它的IP地址后会进行应答,同时根据主机或者网络设备A的IP地址与MAC地址作为一个ARP条目,添加至主机或者网络设备B的ARP列表中;主机或者网络设备A接收到应答后,同样会将应答报文中主机或者网络设备B的IP地址和MAC地址的映射关系记录下来,作为一个ARP条目,添加至主机或者网络设备A的ARP列表中。ARP列表中的ARP条目记录着学习到的各主机或者网络设备的IP地址、MAC地址及两者之间的对应关系。在实现主机或者网络设备间的通信时,对于已经学习到的ARP条目,可直接进行查询获取。ARP欺骗是黑客常用的攻击手段之一,其通过持续不断的发出含伪造的IP地址和MAC地址的ARP响应包,使得其他目标主机或网络设备上的ARP列表中的ARP条目发生更改,造成网络中断或中间人攻击。在开放的网络环境中(例如网吧),ARP欺骗往往是造成大面积断网的重要原因之一,受到ARP欺骗轻则网络变慢,时断时连,重则造成大面积断网,游戏、银行账号密码等重要信息被窃取。如何能够使网络设备具备防ARP欺骗的功能,是一项重要的需求。

发明内容
本发明的目的在于提出一种网络设备上防止ARP欺骗的方法及装置,能够确保学习到的ARP条目都是静态、可信的,克服了传统网路设备上ARP动态学习容易受到ARP欺骗的弊端,保证了网络的稳定运行。为达此目的,本发明采用以下技术方案:一种网络设备上防止ARP欺骗的方法,所述方法包括:S1、接收合法的ARP报文;其中,所述ARP报文内容包括目的MAC地址、源MAC地址、发送端MAC地址、发送端IP地址、目标端MAC地址、目标端IP地址;
S2、对所述合法ARP报文进行可信验证:提取所述合法ARP报文的发送端IP地址和发送端MAC地址,构造并发送ARP请求报文;其中,所述ARP请求报文的源MAC地址和发送端MAC地址均为接收合法ARP报文接口的MAC地址,目的MAC地址为全F,目标端MAC地址为全0,发送端IP地址为接收合法ARP报文接口的IP地址,目标端IP地址为所述合法ARP报文的发送端IP地址;判断在设定的时间阈值内,是否接收到一个与所述ARP请求报文对应的ARP响应报文,或大于一个与所述ARP请求报文对应的ARP响应报文,但所述各ARP响应报文中的源MAC地址相同;如果是,则对所述合法ARP报文的可信验证通过;S3、当所述合法ARP报文的可信验证通过时,将所述提取的所述合法ARP报文的发送端IP地址和发送端MAC地址作为一个ARP条目,添加至网络设备的ARP列表中。进一步地,所述合法的ARP报文应满足:所述ARP报文符合ARP报文格式;所述ARP报文的源MAC地址与发送端MAC地址一致;所述ARP报文的发送端IP地址未在所述网络设备的ARP列表中;当所述ARP报文为免费ARP报文时,发送端IP地址和目标端IP地址一致;当所述ARP报文为非免费ARP报文时,目标端IP地址和所述网络设备接口的IP地址处于同一网段; 当所述ARP报文为ARP响应报文时,目的MAC地址、目标端MAC地址、所述网络设备接口的MAC地址一致。进一步地,所述设定的时间阈值优选为I秒。进一步地,所述步骤S3还包括:将所述添加至所述网络设备的ARP列表中的ARP条目设置Flag标志位,所述Flag值为I。进一步地,所述方法还包括对各ARP条目进行老化处理:定时器触发时,遍历所述ARP列表中的各ARP条目;将Flag值为I的ARP条目的Flag值刷新为O ;将Flag值为O的ARP条目重新进行可信验证,对通过所述可信验证的ARP条目的Flag值刷新为1,同时删除未通过所述可信验证的ARP条目;遍历完成后,重置定时器。对应地,本发明还提供了一种网络设备上防止ARP欺骗的装置,所述装置包括:报文接收模块,用于接收合法的ARP报文;其中,所述ARP报文内容包括目的MAC地址、源MAC地址、发送端MAC地址、发送端IP地址、目标端MAC地址、目标端IP地址;可信验证模块,用于对所述合法ARP报文进行可信验证:提取所述合法ARP报文的发送端IP地址和发送端MAC地址,构造并发送ARP请求报文;其中,所述ARP请求报文的源MAC地址和发送端MAC地址均为接收合法ARP报文接口的MAC地址,目的MAC地址为全F,目标端MAC地址为全0,发送端IP地址为接收合法ARP报文接口的IP地址,目标端IP地址为所述合法ARP报文的发送端IP地址;判断在设定的时间阈值内,是否接收到一个与所述ARP请求报文对应的ARP响应报文,或大于一个与所述ARP请求报文对应的ARP响应报文,但所述各ARP响应报文中的源MAC相同;如果是,则对所述合法ARP报文的可信验证通过;列表管理模块,用于当所述合法ARP报文的可信验证通过时,将所述提取的所述合法ARP报文的发送端IP地址和发送端MAC地址作为一个ARP条目,添加至网络设备的ARP列表中。进一步地,所述合法的ARP报文应满足:所述ARP报文符合ARP报文格式;所述ARP报文的源MAC地址与发送端MAC地址一致;所述ARP报文的发送端IP地址未在所述网络设备的ARP列表中; 当所述ARP报文为免费ARP报文时,发送端IP地址和目标端IP地址一致;当所述ARP报文为非免费ARP报文时,目标端IP地址和所述网络设备接口的IP地址处于同一网段;当所述ARP报文为ARP响应报文时,目的MAC地址、目标端MAC地址、所述网络设备接口的MAC地址一致。进一步地,所述设定的时间阈值优选为I秒。进一步地,所述列表管理模块还用于:将所述添加至所述网络设备的ARP列表中的ARP条目设置Flag标志位,所述Flag值为I。进一步地,所述列表管理模块还用于对各ARP条目进行老化处理:定时器触发时,遍历所述ARP列表中的各ARP条目;将Flag值为I的ARP条目的Flag值刷新为O ;将Flag值为O的ARP条目重新进行可信验证,对通过所述可信验证的ARP条目的Flag值刷新为1,同时删除未通过所述可信验证的ARP条目;遍历完成后,重置定时器。 本发明的有益技术效果是:通过对网络设备接收到的合法ARP报文启用可信验证过程进行验证,确保学习到的ARP条目都是静态、可信的,克服了传统网络设备上ARP动态学习容易受到ARP欺骗的弊端,保证了网络的稳定运行可信的保证了网络的稳定运行。


图1是本发明背景技术提供的应用场景图;图2是本发明实施例一提供的一种网络设备上防止ARP欺骗的方法流程示意图;图3是本发明实施例一提供的ARP报文的合法验证流程示意图;图4是本发明实施例一提供的合法ARP报文的可信验证流程示意图;图5是本发明实施例二提供的ARP条目老化处理流程示意图;图6是本发明实施例三提供的一种网络设备上防止ARP欺骗的装置示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。实施例一图2是本发明实施例一提供的一种网络设备上防止ARP欺骗的方法流程示意图,参见图2,该方法包括:S201:接收合法的ARP报文。其中,ARP报文内容包括目的MAC地址、源MAC地址、发送端MAC地址、发送端IP地址、目标端MAC地址、目标端IP地址。对于ARP报文内容的各地址是本领域技术人员所熟知的,这里不再赘述。为保证ARP报文的可信度,需进行合法验证,验证合法的ARP报文才予以接收,否则丢弃该ARP报文。图3是本发明实施例一提供的ARP报文的合法验证流程示意图,参见图3,该验证过程包括:S2010:判断ARP报文是否符合ARP报文格式,如果是,执行步骤S2011,否则,跳转至步骤S2019 ;其中,ARP报文格式为:目的MAC地址、源MAC地址、帧类型、硬件类型、协议类型、MAC地址长度、IP地址长度、发送端MAC地址、发送端IP地址、目标端MAC地址、目标端IP地址;S2011:判断ARP报文的源MAC地址与发送端MAC地址是否一致,如果是,执行步骤S2012,否则跳转至步骤S2019 ;S2012:判断ARP报文的发送端IP地址是否在网络设备的ARP列表中,以防止动态更新网络设备的ARP列表。如果否,执行步骤S2013,否则,跳转至步骤S2019 ;S2013:判断ARP报文是否为免费ARP报文,如果是,执行步骤S2014,否则,执行步骤 S2015 ;S2014:判断发送端IP地址和目标端IP地址是否一致,如果是,跳转至步骤S2018,否则,跳转至步骤S2019 ;S2015:判断目标端IP地址和网络设备接口的IP地址是否处于同一网段,如果是,执行步骤S2016,否则,跳转至步骤S2019 ;S2016:判断ARP报文是否为ARP响应报文,如果是,执行步骤S2017,否则,跳转至步骤S2018 ;S2017:判断目的MAC地址、目标端MAC地址、网络设备接口的MAC地址是否一致,如果是,执行步骤S2018,否则,跳转至步骤S2019。S2018:该ARP报文为合法的ARP报文,验证结束。S2019:丢弃该ARP报文,验证结束。在接收ARP报文,并验证合法后,执行步骤S202。S202:对合法ARP报文进行可信验证。图4是本发明实施例一提供的合法ARP报文的可信验证流程示意图。参见图4,所述可信验证过程为:S2020:提取合法ARP报文的发送端IP地址和发送端MAC地址,构造ARP请求报文;其中,ARP请求报文的源MAC地址和发送端MAC地址均为接收合法ARP报文接口的MAC地址,目的MAC地址为全F,目标端MAC地址为全0,发送端IP地址为接收合法ARP报文接口的IP地址,目标端IP地址为所述合法ARP报文的发送端IP地址。S2021:将构造的ARP请求报文从接收所述合法ARP报文的接口以广播的方式发送。S2022:判断在设定的时间阈值内,是否接收到正确的ARP响应报文,如果是,执行步骤S2023,否则,执行步骤S2024 ;其中,正确的ARP响应报文应是唯——个与ARP请求报文对应的ARP响应报文,或是大于一个与ARP请求报文对应的ARP响应报文,但各ARP响应报文中的源MAC地址相同;优选的,可通过启用定时器来计算时间,时间阈值为I秒。S2023:所述合法ARP报文可信验证通过。S2024:所述合法ARP报文可信验证失败,不做后续处理。在步骤S202中,当对合法ARP报文的可信验证通过时,执行步骤S203。S203:对在执行上述步骤S2020时所提取的合法ARP报文的发送端IP地址和发送端MAC地址作为一个ARP条目,添加至网络设备的ARP列表中,同时对所述ARP条目设置Flag标志位,其Flag值为I。本发明实施例一提供的网络设备上防止ARP欺骗的方法,通过对网络设备接收到的合法ARP报文启用可信验证过程进行验证,确保学习到的ARP条目都是可信的,并且不会动态更新ARP条目,解决了网关设备频繁收到ARP欺骗攻击的问题,保证了网络的稳定运行。实施例二为了更有效地防止ARP欺骗,维护网络设备ARP列表中的ARP条目的可信度,对本发明实施例一作进一步地改进。一种网络设备上防止ARP欺骗的方法为:在实施例一步骤S201-S203的基础上,还包括定期的对各ARP条目进行老化处理。图5是本发明实施例二提供的ARP条目老化处理流程示意图,参见图5,所述老化处理过程为:S501:触发ARP老化定时器,启动ARP条目老化处理。S502:遍历ARP列表中的各ARP条目,刷新各ARP条目中Flag值。其中,对于Flag值为I的ARP条目,将其Flag值刷新为O ;对于Flag值为O的ARP条目,提取其对应的发送端IP地址和发送端MAC地址,构造ARP请求报文,重新进行可信验证,如果通过可信验证,将该ARP条目的Flag值刷新为1,如果未通过可信验证,删除该ARP条目。 S503:在遍历ARP列表中的各ARP条目,刷新完各ARP条目中Flag值后,重置定时器,等待下一次的ARP条目老化处理。本发明实施例二提供的网络设备上防止ARP欺骗的方法,通过对网络设备接收到的合法ARP报文启用可信验证过程进行验证,确保学习到的ARP条目都是可信的,并且定期的对各ARP条目进行老化处理,有效地维护了网络设备ARP列表中的ARP条目的可信度,且不会动态更新ARP条目,解决了网关设备频繁收到ARP欺骗攻击的问题,保证了网络的稳定运行。实施例三图6是本发明实施例三提供的一种网络设备上防止ARP欺骗的装置示意图。参见图6,该装置包括:
报文接收模块601,用于接收合法的ARP报文。其中,ARP报文内容包括目的MAC地址、源MAC地址、发送端MAC地址、发送端IP地址、目标端MAC地址、目标端IP地址。对于ARP报文内容的各地址是本领域技术人员所熟知的,这里不再赘述。为保证ARP报文的可信度,需进行合法验证,验证合法的ARP报文才予以接收,否则丢弃该ARP报文。报文接收模块601对合法ARP报文的验证过程与实施例一中对合法ARP报文的验证过程相同,这里不再赘述。可信验证模块602,用于对合法ARP报文进行可信验证:提取合法ARP报文的发送端IP地址和发送端MAC地址,构造ARP请求报文;其中,ARP请求报文的源MAC地址和发送端MAC地址均为接收合法ARP报文接口的MAC地址,目的MAC地址为全F,目标端MAC地址为全0,发送端IP地址为接收合法ARP报文接口的IP地址,目标端IP地址为所述合法ARP报文的发送端IP地址;将构造的ARP请求报文从接收所述合法ARP报文的接口以广播的方式发送;判断在设定的时间阈值内,是否接收到正确的ARP响应报文,如果是,合法ARP报文可信验证通过,否则,合法ARP报文可信验证失败;其中,正确的ARP响应报文应是唯一一个与ARP请求报文对应的ARP响应报文,或是大于一个与ARP请求报文对应的ARP响应报文,但各ARP响应报文中的源MAC地址相同;优选的,可通过启用定时器来计算时间,时间阈值为I秒。列表管理模块603,用于对可信验证模块602所提取的合法ARP报文的发送端IP地址和发送端MAC地址作为一个ARP条目,添加至网络设备的ARP列表中,同时对所述ARP条目设置Flag标志位,其Flag值为I。本发明实施例三提供的网络设备上防止ARP欺骗的装置,通过可信验证模块602对报文接收模块601接收到的合法ARP报文启用可信验证过程进行验证,确保列表管理模块603学习到的ARP条目都是可信的,并且不会动态更新ARP条目,解决了网关设备频繁收到ARP欺骗攻击的问题,保证了网络的稳定运行。实施例四为了更有效地防止ARP欺骗,维护网络设备ARP列表中的ARP条目的可信度,对本发明实施例三作进一步地改进。一种网络设备上防止ARP欺骗的装置,包括实施例三提出的报文接收模块601、可信验证模块602、列表管理模块603。其中,各模块的实现功能除与实施例三相同外,列表管理模块603还用于定期的对各ARP条目进行老化处理:触发ARP老化定时器,启动ARP条目老化处理;遍历ARP列表中的各ARP条目,刷新各ARP条目中Flag值;其中,对于Flag值为I的ARP条目,将其Flag值刷新为O ;对于Flag值为O的ARP条目,提取其对应的发送端IP地址和发送端MAC地址,构造ARP请求报文,重新进行可信验证,如果通过可信验证,将该ARP条目的Flag值刷新为I,如果未通过可信验证,删除该ARP条目;在遍历ARP列表中的各ARP条目,刷新完各ARP条目中Flag值后,重置定时器,等待下一次的ARP条目老化处理。本发明实施例四提供的网络设备上防止ARP欺骗的装置,通过可信验证模块602对报文接收模块601接收到的合法ARP报文启用可信验证过程进行验证,确保列表管理模块603学习到的ARP条目都是可信的,并且列表管理模块603还用于定期的对各ARP条目进行老化处理,有效地维护了网络设备ARP列表中的ARP条目的可信度,且不会动态更新ARP条目,解决了网关设备频繁收到ARP欺骗攻击的问题,保证了网络的稳定运行。以上实施例提供的技术方案中的全部或部分内容可以通过软件编程实现,其软件程序存储在可读取的存储介质中,存储介质例如:计算机中的硬盘、光盘或软盘。以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种网络设备上防止ARP欺骗的方法,其特征在于,所述方法包括: 51、接收合法的ARP报文;其中,所述ARP报文内容包括目的MAC地址、源MAC地址、发送端MAC地址、发送端IP地址、目标端MAC地址、目标端IP地址; 52、对所述合法ARP报文进行可信验证: 提取所述合法ARP报文的发送端IP地址和发送端MAC地址,构造并发送ARP请求报文;其中,所述ARP请求报文的源MAC地址和发送端MAC地址均为接收合法ARP报文接口的MAC地址,目的MAC地址为全F,目标端MAC地址为全O,发送端IP地址为接收合法ARP报文接口的IP地址,目标端IP地址为所述合法ARP报文的发送端IP地址; 判断在设定的时间阈值内,是否接收到一个与所述ARP请求报文对应的ARP响应报文,或 大于一个与所述ARP请求报文对应的ARP响应报文,但所述各ARP响应报文中的源MAC地址相同; 如果是,则对所述合法ARP报文的可信验证通过; 53、当所述合法ARP报文的可信验证通过时,将所述提取的所述合法ARP报文的发送端IP地址和发送端MAC地址作为一个ARP条目,添加至网络设备的ARP列表中。
2.根据权利要求1所述的网络设备上防止ARP欺骗的方法,其特征在于,所述合法的ARP报文应满足: 所述ARP报文符合ARP报文格式; 所述ARP报文的源MAC地址与发送端MAC地址一致; 所述ARP报文的发送端IP地址未在所述网络设备的ARP列表中; 当所述ARP报文为免费ARP报文时,发送端IP地址和目标端IP地址一致; 当所述ARP报文为非免费ARP报文时,目标端IP地址和所述网络设备接口的IP地址处于同一网段; 当所述ARP报文为ARP响应报文时,目的MAC地址、目标端MAC地址、所述网络设备接口的MAC地址一致。
3.根据权利要求1所述的网络设备上防止ARP欺骗的方法,其特征在于,所述设定的时间阈值优选为I秒。
4.根据权利要求1所述的网络设备上防止ARP欺骗的方法,其特征在于,所述步骤S3还包括:将所述添加至所述网络设备的ARP列表中的ARP条目设置Flag标志位,所述Flag值为I。
5.根据权利要求4所述的网络设备上防止ARP欺骗的方法,其特征在于,所述方法还包括对各ARP条目进行老化处理: 定时器触发时,遍历所述ARP列表中的各ARP条目; 将Flag值为I的ARP条目的Flag值刷新为O ; 将Flag值为O的ARP条目重新进行可信验证,对通过所述可信验证的ARP条目的Flag值刷新为1,同时删除未通过所述可信验证的ARP条目; 遍历完成后,重置定时器。
6.一种网络设备上防止ARP欺骗的装置,其特征在于,所述装置包括: 报文接收模块,用于接收合法的ARP报文;其中,所述ARP报文内容包括目的MAC地址、源MAC地址、发送端MAC地址、发送端IP地址、目标端MAC地址、目标端IP地址; 可信验证模块,用于对所述合法ARP报文进行可信验证: 提取所述合法ARP报文的发送端IP地址和发送端MAC地址,构造并发送ARP请求报文;其中,所述ARP请求报文的源MAC地址和发送端MAC地址均为接收合法ARP报文接口的MAC地址,目的MAC地址为全F,目标端MAC地址为全O,发送端IP地址为接收合法ARP报文接口的IP地址,目标端IP地址为所述合法ARP报文的发送端IP地址; 判断在设定的时间阈值内,是否接收到一个与所述ARP请求报文对应的ARP响应报文,或 大于一个与所述ARP请求报文对应的ARP响应报文,但所述各ARP响应报文中的源MAC相同; 如果是,则对所述合法ARP报文的可信验证通过; 列表管理模块,用于当所述合法ARP报文的可信验证通过时,将所述提取的所述合法ARP报文的发送端IP地址和发送端MAC地址作为一个ARP条目,添加至网络设备的ARP列表中。
7.根据权利要求6所述的网络设备上防止ARP欺骗的装置,其特征在于,所述合法的ARP报文应满足: 所述ARP报文符合ARP报文格式; 所述ARP报文的源MAC地址与发送端MAC地址一致; 所述ARP报文的发送端IP地址未在所述网络设备的ARP列表中; 当所述ARP报文为免费ARP报文时,发送端IP地址和目标端IP地址一致; 当所述ARP报文为非免费ARP报文时,目标端IP地址和所述网络设备接口的IP地址处于同一网段; 当所述ARP报文为ARP响应报文时,目的MAC地址、目标端MAC地址、所述网络设备接口的MAC地址一致。
8.根据权利要求6所述的网络设备上防止ARP欺骗的装置,其特征在于,所述设定的时间阈值优选为1秒。
9.根据权利要求6所述的网络设备上防止ARP欺骗的装置,其特征在于,所述列表管理模块还用于:将所述添加至所述网络设备的ARP列表中的ARP条目设置Flag标志位,所述Flag值为I。
10.根据权利要求9所述的网络设备上防止ARP欺骗的装置,其特征在于,所述列表管理模块还用于对各ARP条目进行老化处理: 定时器触发时,遍历所述ARP列表中的各ARP条目; 将Flag值为I的ARP条目的Flag值刷新为0; 将Flag值为O的ARP条目重新进行可信验证,对通过所述可信验证的ARP条目的Flag值刷新为1,同时删除未通过所述可信验证的ARP条目; 遍历完成后,重置定时器。
全文摘要
本发明公开了一种网络设备上防止ARP欺骗的方法及装置,该方法包括接收合法的ARP报文;提取合法ARP报文的发送端IP地址和发送端MAC地址,构造并发送ARP请求报文;判断在设定的时间阈值内是否接收到一个与ARP请求报文对应的ARP响应报文,或大于一个与ARP请求报文对应的ARP响应报文,但各ARP响应报文中的源MAC地址相同;如果是,则对合法ARP报文的可信验证通过;将通过可信验证的合法ARP报文的发送端IP地址和发送端MAC地址作为一个ARP条目,添加至网络设备的ARP列表中。本发明提供的技术方案能够确保学习到的ARP条目都是可信的,解决了网关设备频繁收到ARP欺骗攻击的问题。
文档编号H04L29/06GK103152335SQ20131005484
公开日2013年6月12日 申请日期2013年2月20日 优先权日2013年2月20日
发明者魏元首 申请人:神州数码网络(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1