一种防止ARP欺骗的方法与流程

文档序号:12278664阅读:538来源:国知局
一种防止ARP欺骗的方法与流程

本发明涉及计算机网络技术领域,特别是涉及一种防止ARP欺骗的方法。



背景技术:

ARP(Address Resolution Protocol)是地址解析协议,是一种将IP地址转化成物理地址的协议。从IP地址到物理地址的映射有两种方式:表格方式和非表格方式。ARP具体说来就是将网络层(也就是相当于OSI的第三层)地址解析为数据链路层(也就是相当于OSI的第二层)的物理地址。

ARP协议工作的机制是某机器A要向主机B发送报文,会查询本地的ARP缓存表,找到B的IP地址对应的MAC地址后,就会进行数据传输。如果未找到,则A广播一个ARP请求报文(携带主机A的IP地址Ia——物理地址Pa),请求IP地址为Ib的主机B回答物理地址Pb。网上所有主机包括B都收到ARP请求,但只有主机B识别自己的IP地址,于是向A主机发回一个ARP响应报文。其中就包含有B的MAC地址,A接收到B的应答后,就会更新本地的ARP缓存。接着使用这个MAC地址发送数据(由网卡附加MAC地址)。因此,本地高速缓存的这个ARP表是本地网络流通的基础,而且这个缓存是动态的。

ARP协议并不只在发送了ARP请求才接收ARP应答。当计算机接收到ARP应答数据包的时候,就会对本地的ARP缓存进行更新,将应答中的IP和MAC地址存储在ARP缓存中。因此,当局域网中的某台机器B向A发送一个自己伪造的ARP应答,而如果这个应答是B冒充C伪造来的,即IP地址为C的IP,而MAC地址是伪造的,则当A接收到B伪造的ARP应答后,就会更新本地的ARP缓存,这样在A看来C的IP地址没有变,而它的MAC地址已经不是原来那个了。这就是ARP欺骗。

从影响网络连接通畅的方式来看,ARP欺骗有两种攻击可能,一种是对ARP表的欺骗;另一种是对内网电脑ARP表的欺骗,当然也可能两种攻击同时进行。不管理怎么样,欺骗发送后,电脑和路由器之间发送的数据可能就被送到错误的MAC地址上,从表面上来看,就是“上不了网”,“访问不了路由器”,“路由器死机了”,因为一重启路由器,ARP表会重建,如果ARP攻击不是一直存在,就会表现为网络正常,但是危害更大。ARP攻击的具体危害有:1.网络异常。具体表现为:掉线、IP冲突等。2.数据窃取。具体表现为:个人隐私泄漏(如MSN聊天记录、邮件等)、账号被盗用(如QQ账号、银行账号等)。3.数据篡改。具体表现为:访问的网页被添加了恶意内容,俗称“挂马”。4.非法控制。具体表现为:网络速度、网络访问行为(例如某些网页打不开、某些网络应用程序用不了)受第三者非法控制。

现有的应对方法是将网管地址配置成静态地址,不做动态更新,但是这种方案太死板,不方面网络扩展,尤其对于大型网络是致命的。

本发明可以动态验证和更新arp地址列表,确保arp列表的合法性。



技术实现要素:

本发明的目的是提供一种防止ARP欺骗的方法。

本发明的目的可以通过以下技术方案实现:

一种防止ARP欺骗的方法,包括以下步骤:

步骤S101,接收报文,从网络中接收发送至本机的ARP报文;

步骤S102,验证报文的合法性,验证接收到的ARP报文是否是合法报文,如果报文合法,进入步骤S104,如果报文不合法进入步骤S103;

步骤S103,丢弃不合法报文,将步骤S102中验证不合法的ARP报文丢弃;

步骤S104,验证报文的可信性,验证接收的到ARP报文是否可信,如果不可信,进入步骤S105,如果是可信ARP报文,进入步骤S106;

步骤S105,丢弃不可信报文,将步骤S104中验证不通过的ARP报文丢弃;

步骤S106,将可信报文的IP和MAC地址成对梳理出来,梳理出通过步骤S104可信验证的ARP报文里包含的IP地址和MAC地址,并对应起来;

步骤S107,将梳理出来的可信IP和MAC地址添加到ARP列表。

进一步地,所述的ARP报文的合法性验证根据由互联网工程任务组在1982年11月发布的RFC 826中描述ARP的标准协议格式验证。

进一步地,所述的ARP报文的可信性验证,包括以下步骤:

步骤S201,验证ARP报文格式是否符合规范,如果不符合规范,进入步骤S208,如果符合规范,进入步骤S202;

步骤S202,验证源MAC地址和发送端MAC地址是否一致,如果不一致,进入步骤S208,如果一致,进入步骤S203;

步骤S203,验证发送端IP地址是否在ARP列表中,如果存在,进入步骤S208,如果不存在,进入步骤S204;

步骤S204,判断ARP报文是否为免费ARP报文,如果是免费ARP报文,进入步骤S205,如果不是免费ARP报文,进入步骤S206;

步骤S205,判断源IP和目的IP地址是否一致,如果不一致,进入步骤S208,如果一致,进入步骤S209;

步骤S206,判断目的IP地址和本机IP地址是否在同一网段,如果不在同一网段,进入步骤S208,如果在同一网段,进入步骤S207;

步骤S207,判断ARP报文是否为响应报文,如果ARP报文不是响应报文,进入步骤S205,如果ARP报文是响应报文,进入步骤S209;

步骤S208,判断该ARP报文为不可信ARP报文,并丢弃该报文;

步骤S209,判断该ARP报文为可信ARP报文。

本发明的有益效果:

本发明所提供的一种防止ARP欺骗的方法,通过对网络设备接收到的合法ARP报文启用可信验证过程进行验证,确保学习到的ARP条目都是静态、可信的,克服了传统网络设备上ARP动态学习容易受到ARP欺骗的弊端,保证了网络的稳定运行可信的保证了网络的稳定运行。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1是本发明的工作方法示意图。

图2是本发明的可信报文的判断流程图。

具体实施方式

本发明的核心是提供一种防止ARP欺骗的方法。

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明提供了一种防止ARP欺骗的方法,该方法包括如下步骤:

步骤S101,接收报文,从网络中接收发送至本机的ARP报文;

步骤S102,验证报文的合法性,验证接收到的ARP报文是否是合法报文,如果报文合法,进入步骤S104,如果报文不合法进入步骤S103;

步骤S103,丢弃不合法报文,将步骤S102中验证不合法的ARP报文丢弃;

步骤S104,验证报文的可信性,验证接收的到ARP报文是否可信,如果不可信,进入步骤S105,如果是可信ARP报文,进入步骤S106;

步骤S105,丢弃不可信报文,将步骤S104中验证不通过的ARP报文丢弃;

步骤S106,将可信报文的IP和MAC地址成对梳理出来,梳理出通过步骤S104可信验证的ARP报文里包含的IP地址和MAC地址,并对应起来;

步骤S107,将梳理出来的可信IP和MAC地址对添加到ARP列表。

其中,需要说明的是,所述的ARP报文的合法性验证根据由互联网工程任务组(IETF)在1982年11月发布的RFC826中描述ARP的标准协议格式验证。

其中,所述的ARP报文的可信性验证,包括以下步骤:

步骤S201,验证ARP报文格式是否符合规范,如果不符合规范,进入步骤S208,如果符合规范,进入步骤S202;

步骤S202,验证源MAC地址和发送端MAC地址是否一致,如果不一致,进入步骤S208,如果一致,进入步骤S203;

步骤S203,验证发送端IP地址是否在ARP列表中,如果存在,进入步骤S208,如果不存在,进入步骤S204;

步骤S204,判断ARP报文是否为免费ARP报文,如果是免费ARP报文,进入步骤S205,如果不是免费ARP报文,进入步骤S206;

步骤S205,判断源IP和目的IP地址是否一致,如果不一致,进入步骤S208,如果一致,进入步骤S209;

步骤S206,判断目的IP地址和本机IP地址是否在同一网段,如果不在同一网段,进入步骤S208,如果在同一网段,进入步骤S207;

步骤S207,判断ARP报文是否为响应报文,如果ARP报文不是响应报文,进入步骤S205,如果ARP报文是响应报文,进入步骤S209;

步骤S208,判断该ARP报文为不可信ARP报文,并丢弃该报文;

步骤S209,判断该ARP报文为可信ARP报文。

本发明所提供的一种防止ARP欺骗的方法,通过对网络设备接收到的合法ARP报文启用可信验证过程进行验证,确保学习到的ARP条目都是静态、可信的,克服了传统网络设备上ARP动态学习容易受到ARP欺骗的弊端,保证了网络的稳定运行可信的保证了网络的稳定运行。

以上内容仅仅是对本发明结构所作的举例和说明,所属本技术领域的技术人员对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,只要不偏离发明的结构或者超越本权利要求书所定义的范围,均应属于本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1