地址解析协议欺骗检测方法及装置与流程

文档序号:16310529发布日期:2018-12-19 05:15阅读:187来源:国知局
地址解析协议欺骗检测方法及装置与流程

本发明实施例涉及网络安全技术领域,特别涉及一种arp(addressresolutionprotocol,地址解析协议)欺骗检测方法及装置。

背景技术

arp是根据ip(internetprotocol,网络互连协议)地址获取mac(mediaaccesscontrol,媒体访问控制)地址的一种tcp(transmissioncontrolprotocol,传输控制协议)/ip协议。

由于arp是建立在局域网中各个设备互相信任的基础上的,在主机接收到arp应答之后不会检测该arp应答的真实性即将arp应答中的源ip地址和源mac地址关联保存在存储器中的arp缓存表中,因此,这就导致在攻击者向主机发送局域网中网关所对应的伪arp应答(也即网关存在arp欺骗),也即arp应答中携带有伪造的网关的mac地址时,后续主机即通过伪造的网关与局域网中的其他主机通信,威胁通信安全。其中,在保存源ip地址和源mac地址至arp缓存表时,若arp缓存表存储的各个关联关系中不包括该arp应答中的源ip地址所对应的关联关系,则直接存储;而若arp缓存表存储的各个关联关系中已经存储有arp应答中的源ip地址所对应的关联关系,则在arp应答中的源mac地址与保存的关联关系中的mac地址不同时,使用arp应答中的源mac地址刷新已经存储的关联关系中的mac地址。

实际实现时,为了保证网络安全,相关技术提供了一种arp欺骗检测方法,该方法包括:上层应用程序读取arp缓存表中的内容,检测读取到的内容中是否存在非网关的mac地址与目标网关的mac地址相同;若存在,则说明arp缓存表中检测到的非网关的mac地址和目标网关的mac地址中至少有一个是伪造的mac地址,也即目标网关的mac地址可能是伪造的,此时为了保证网络安全主机可以确定检测到目标网关存在arp欺骗。其中,目标网关为局域网中主机连接的网关。

由于上层应用程序需要从存储器中读取arp缓存表,进而根据读取到的内容进行检测,而公知的是读取arp缓存表的内容需要一定的时间,而在这段时间内,arp缓存表中的内容可能已经被新接收到的arp应答中的ip地址和mac地址的对应关系刷新,因此,上述方案中可能会存在对于已经出现的arp欺骗不能实时检测,也即检测不够实时,仍然存在网络不安全的问题。



技术实现要素:

为了解决相关技术中需要读取arp缓存表之后才能检测是否存在arp欺骗,对arp欺骗的检测不够实时,仍然会存在网络不安全的问题;本发明实施例提供了一种arp欺骗检测方法及装置。技术方案如下:

根据本发明实施例的第一方面,提供一种arp欺骗检测方法,用于主机中,该方法包括:

监听所述主机的网络层中接收到的arp消息;

检测所述arp消息中的网络互连协议ip地址与目标网关的ip地址是否相同;所述目标网关为所述主机在局域网中连接的网关;

检测所述arp消息中的媒体访问控制mac地址与内存中的mac地址是否相同;所述内存中的mac地址为历史接收并保存的所述目标网关的ip地址所对应的mac地址;

在所述arp消息中的ip地址与所述目标网关的ip地址相同且所述arp消息中的mac地址与所述内存中的mac地址不同时,确定所述目标网关存在arp欺骗。

根据本发明实施例的第二方面,提供一种主机,该主机包括处理器和存储器,所述存储器中存储有至少一条指令,所述指令由所述处理器加载并执行以实现如下操作:

监听所述主机的网络层中接收到的arp消息;

检测所述arp消息中的网络互连协议ip地址与目标网关的ip地址是否相同;所述目标网关为所述主机在局域网中连接的网关;

检测所述arp消息中的媒体访问控制mac地址与内存中的mac地址是否相同;所述内存中的mac地址为历史接收并保存的所述目标网关的ip地址所对应的mac地址;

在所述arp消息中的ip地址与所述目标网关的ip地址相同且所述arp消息中的mac地址与所述内存中的mac地址不同时,确定所述目标网关存在arp欺骗。

根据本发明实施例的第三方面,提供一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如下操作:

监听所述主机的网络层中接收到的arp消息;

检测所述arp消息中的网络互连协议ip地址与目标网关的ip地址是否相同;所述目标网关为所述主机在局域网中连接的网关;

检测所述arp消息中的媒体访问控制mac地址与内存中的mac地址是否相同;所述内存中的mac地址为历史接收并保存的所述目标网关的ip地址所对应的mac地址;

在所述arp消息中的ip地址与所述目标网关的ip地址相同且所述arp消息中的mac地址与所述内存中的mac地址不同时,确定所述目标网关存在arp欺骗。

本发明实施例提供的技术方案带来的有益效果是:

通过直接监听网络层中接收到的arp消息,进而在监听到的arp消息中的ip地址与目标网关的ip地址相同但是arp消息中的mac地址与内存中保存的该ip地址所对应的mac地址不同时,检测到存在arp欺骗;其中,目标网关为主机在局域网中连接的网关,内存中的mac地址为历史接收并保存的目标网关的ip地址所对应的mac地址;达到了可以直接监听的网络层中收到的各个arp消息,进而根据ip地址为目标网关的ip地址的arp消息中携带的mac地址以及内存中保存的目标网关的ip地址所对应的mac地址直接检测是否存在arp欺骗,而无需浪费大量的时间来读取arp缓存表中的内容进而进行检测,达到了可以实时检测arp欺骗,保证网络安全的效果。

附图说明

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

图1是本发明各个实施例提供的arp欺骗检测方法所涉及的实施环境的示意图;

图2是本发明一个实施例提供的arp欺骗检测方法的流程图;

图3是本发明一个实施例提供的获取操作系统的root权限的流程图;

图4是本发明一个实施例提供的主机展示的询问信息的示意图;

图5是本发明一个实施例提供的主机展示的提示信息的示意图;

图6是本发明一个实施例提供的arp欺骗检测装置的示意图;

图7是本发明一个实施例提供的主机的示意图。

具体实施方式

为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。

请参考图1,其示出了本发明各个实施例提供的arp欺骗检测方法所涉及的实施环境的示意图,如图1所示,该实施环境包括n个主机110和目标网关120,n为大于等于2的整数。其中,目标网关120提供一个局域网,n个主机110可以通过局域网进行通信。

主机110是指诸如台式电脑、平板电脑或者电子阅读器之类的终端,主机110可以通过有线或者无线网络与目标网关120连接。图中以主机110包括4个来举例说明。

目标网关120是指为各个主机110提供局域网服务的设备。可选的,该目标网关120可以为路由器等等。

在下述各个实施例中,主机在采用相关方案中的存储方式存储arp缓存表的同时,监听网络层中接收到的arp消息,检测arp消息中的ip地址与目标网关的ip地址是否相同;目标网关为主机在局域网中连接的网关;检测该arp消息中的该ip地址所对应的mac地址与内存中已经存储的该ip地址所对应的mac地址是否相同;若arp消息中的ip地址与目标网关的ip地址相同且arp消息中的mac地址与内存中的mac地址不同,则说明目标网关的ip地址所对应的两个mac地址中至少有一个mac地址是伪造的,此时,主机可以确定目标网关存在arp欺骗;而若相同,则主机可以确定目标网关可能是正常的。其中,内存中的mac地址为主机历史接收并保存的目标网关的ip地址所对应的mac地址。这样,由于主机无需耗费大量时间从存储器的arp缓存表中读取内容,进而根据读取到的内容进行检测,而是只需根据实时监听到的网络层中的arp消息以及内存中保存的mac地址进行检测,达到了可以实时检测arp欺骗,保证网络安全的效果。

请参考图2,其示出了本发明一个实施例提供的arp欺骗检测方法的方法流程图,本实施例以该arp检测方法用于图1所示的任一主机中。如图2所示,该arp欺骗检测方法可以包括:

步骤201,监听主机的网络层中接收到的arp消息。

主机中运行有管理主机状态的管理程序,主机可以通过该管理程序监听网络层中接收到的arp消息。其中,本实施例所说的arp消息可以包括arp请求或者arp应答。

可选地,本步骤可以包括如下两种实现方式中的至少一种:

第一种实现方式,发送第一arp请求,第一arp请求中携带目的设备的ip地址;监听网络层中接收到的目的设备反馈的arp应答,arp应答中携带有目的设备的ip地址和mac地址。

在主机需要询问目的设备的mac地址时,主机可以发送第一arp请求。该第一arp请求中携带有源ip地址、源mac地址、目的ip地址和目的mac地址。其中,源ip地址即为主机自身的ip地址,源mac地址即为主机自身的mac地址,目的ip地址为目的设备的ip地址,目的mac地址为局域网中的各个设备均能接收并解析的地址。比如,该目的mac地址可以为0xffffffff。

可选地,主机可以直接读取得到自身的ip地址和mac地址,而通过api(applicationprogramminginterface,应用程序编程接口)读取目的设备的ip地址,进而之后发送携带有读取到的上述地址的第一arp请求。可选地,上述所说的目的设备可以包括目标网关,该目标网关为局域网中为各个主机提供局域网服务的网关。实际实现时,该目的设备还可以包括局域网中的其他主机。

局域网中的各个设备可以接收到该第一arp请求,并检测该第一arp请求中的目的ip地址也即目的设备的ip地址与自身的ip地址是否相同;若检测结果为与自身的ip地址相同,则目的设备反馈arp应答至主机,该arp应答中携带有目的设备的ip地址以及目的设备的mac地址;相应的,主机可以接收到该arp应答;而若检测结果为与自身的ip地址不相同,则丢弃该第一arp请求。

比如,在目的设备为目标网关时,目标网关接收到主机发送的第一arp请求之后,目标网关即可反馈携带有自身ip地址和mac地址的arp应答至主机。相应的,主机可以接收到目标网关反馈的arp应答。

第二种实现方式,监听网络层中接收到的其他设备发送的第二arp请求,第二arp请求中携带有设备的ip地址和mac地址。

与上述第一种实现方式类似,局域网中的其他设备也可以主动发送第二arp请求,相应的,该主机可以接收到该第二arp请求,也即可以监听到网络层中接收到的该第二arp请求。此处所说的其他设备可以为局域网中的目标网关或者局域网中的其他主机,但是实际实现时还存在为不法分子使用的伪造的网关的情况。

需要说明的是,为了能够监听网络层中接收到的消息,管理程序可以先获取操作系统的root权限,在获取到root权限之后监听网络层中接收到的arp消息。其中,如图3所示,获取root权限的步骤包括:

步骤201a,检测是否具备操作系统的root权限。

管理程序可以检测是否有su(switchuser,切换用户)文件,若有su文件,则说明主机已经被root过,此时,管理程序可以继续检测是否具备操作系统的root权限。可选地,若主机中没有su文件,则说明该主机未被root过,此时流程结束。

可选地,管理程序的root权限可以设置有一定的有效期比如授予管理程序一周的root权限,则主机可以检测管理程序的root权限的有效期是否过期,若未过期,则确定管理程序具备root权限,反之,则管理程序不具备root权限。

可选地,主机可以在开机后,即可检测管理程序是否具备root权限;或者,在与局域网中的目标网关连接之后,检测管理程序是否具备root权限;又或者,在管理程序开启之后,检测是否具备root权限,本实施例对本步骤的执行时机不做限定。其中,该目标网关为主机在局域网中连接的网关。

步骤201b,在不具备root权限时,展示询问信息;询问信息用于询问是否授予root权限。

在检测结果为管理程序不具备root权限时,主机可以展示询问信息,比如,展示图4所示的询问框。如图4所示,询问框中包括用于询问是否授予管理程序root权限的询问信息41,用于确认授予管理程序root权限的确认选项42以及用于拒绝授予管理程序root权限的拒绝选项43。当然,实际实现时,确认选项42可以包括多个,每个确认选项对应的root权限的时长不同。比如,确认选项42可以包括“确认授予一周管理程序root权限的确认选项”、“确认授予管理程序3小时root权限的确认选项”以及“确认总是授予管理程序root权限的确认选项”,在此不再赘述。其中,提供的root权限的候选有效期也即上述所说的一周、3小时或者总是授予可以为主机中默认的时间段,也可以为用户预先自定义的时间段,对此并不做限定。

需要说明的是,图4仅以展示文本格式的询问信息为例,实际实现时,主机还可以播放语音格式的询问信息,比如,播放内容为“是否授予root权限”的询问信息。

步骤201c,接收用于确认授予root权限的确认指令。

用户查看到展示的确认信息之后,可以施加确认授予管理程序root权限的确认指令,相应的,主机可以接收到该确认指令。比如,结合图4,主机可以接收到选择确认选项42的选择指令。

可选地,在主机接收到拒绝授予管理程序root权限的拒绝指令,比如,主机接收到选择拒绝选项42的选择指令时,则流程结束。可选地,在主机接收到拒绝授予root权限的拒绝指令时,主机还可以通过其他检测方式检测目标网关是否存在arp欺骗。

需要补充说明的是,在展示的询问信息为语音信息时,该确认指令也可以为语音指令。比如,主机在播放询问信息之后,通过麦克风采集到“授予”的指令时,主机将接收到的指令识别为确认指令;类似的,若主机通过麦克风采集到“拒绝”的指令时,主机将接收到的指令识别为确认指令。

通过展示语音格式的询问信息以及通过采集语音格式的确认指令,为用户提供了方便,特别的,为文化程度较低或者行动不方便的用户提供了方便。

步骤201d,在接收到确认指令之后,获取root权限。

可选地,在本步骤之前,主机还可以展示用于提示身份认证的提示信息,比如,主机可以展示“请进行指纹验证”或者“请输入设备密码”等等,接收用户输入的认证信息,对认证信息进行认证,在认证通过后,获取到root权限。比如,主机接收到确认指令之后,展示“请输入指纹”,接收用户输入的指纹,检测接收到的指纹与预设指纹是否匹配,若匹配则确定认证成功,管理程序获取到操作系统的root权限。

在获取到操作系统的root权限,管理程序可以通过系统提供的接口直接监听网络层中接收到的arp消息。可选地,管理程序可以实时监听网络层中接收到的arp消息。

步骤202,检测arp消息中的ip地址与目标网关的ip地址是否相同。

在监听到arp消息之后,管理程序可以检测arp消息中的ip地址与目标网关的ip地址是否相同。

可选地,本步骤可以包括如下两种可能的情况:

第一种,在arp消息为自身发送的arp请求时,丢弃该arp请求。

第二种,在arp消息为其他设备发送的arp请求时,检测arp请求中的源ip地址与目标网关的ip地址是否相同。

第三种,在arp消息为arp应答时,检测arp应答中的源ip地址与目标网关的ip地址是否相同。

步骤203,在arp消息中的ip地址和目标网关的ip地址相同时,检测内存中是否已经存储有目标网关的ip地址所对应的mac地址。

在监听到arp消息之后,管理程序可以检测内存中是否已经存储有目标网关的ip地址所对应的mac。

可选地,若arp消息中的ip地址和目标网关的ip地址不同,则此时流程结束。

步骤204,若内存中未存储有目标网关的ip地址所对应的mac地址时,将监听到的arp消息中的mac地址作为ip地址所对应的mac地址保存至内存。

当内存中未存储有目标网关的ip地址所对应的mac地址时,则由于步骤202中检测到arp消息中的ip地址为目标网关的ip地址,也即arp消息中的该ip地址所对应的mac地址即为目标网关的mac地址,因此主机可以将监听到的arp消息中的该ip地址所对应的mac地址作为目标网关的ip地址所对应的mac地址保存至内存。可选地,在arp消息其他设备发送的arp请求时,将arp请求中的源mac地址保存至内存中;而在arp消息为其他设备发送的arp应答时,将arp应答中的源mac地址保存至内存中。

可选地,主机可以将目标网关的ip地址和mac地址关联存储在内存中,并此后继续监听网络层中接收到的arp消息。

需要补充说明的是,步骤203和步骤204为可选步骤,实际实现时,在首次流程时会执行上述步骤,而在之后流程中,直接执行步骤205。另外,本实施例仅以先执行步骤202来举例说明,实际实现时,步骤202还可以在步骤204之前的任一步骤执行,并且,在不执行步骤203和步骤204时,主机还可以先执行步骤205再执行步骤202,或者同时执行步骤202和步骤205,在此不再赘述。

步骤205,若内存中存储有目标网关的ip地址所对应的mac地址时,检测arp消息中的mac地址与内存中的mac地址是否相同。

内存中的mac地址为历史接收并保存的目标网关的ip地址所对应的mac地址。可选地,可以检测arp消息中目标网关的ip地址所对应的mac地址与内存中的mac地址是否相同。也即在arp消息为其他设备发送的arp请求时,检测源mac地址与内存中的mac地址是否相同;在arp消息为其他设备发送的arp应答时,检测源mac地址与内存中的mac地址是否相同。

步骤206,在arp消息中的mac地址与内存中的mac地址不同时,检测到目标网关存在arp欺骗。

在检测结果为不同时,说明当前监听到的arp消息中的mac地址和内存中存储的mac地址中至少有一个是伪造的mac地址,因此主机可以确定此时出现了arp欺骗。

步骤207,在arp消息中的mac地址与内存中的mac地址相同时,统计首次接收到ip地址为目标网关的ip地址的arp消息之后的时长。

在检测结果为相同时,主机可以统计从首次接收到ip地址为目标网关的ip地址的arp消息之后的时长。可选地,主机首次监听到ip地址为目标网关的ip地址的arp消息时,可以启动一个定时器,通过该定时器计时,并在检测到arp消息中的mac地址与内存中的mac地址相同时,获取该定时器计时得到的时长。

步骤208,在时长未达到预设时长时,再次执行监听主机的网络层中接收到的arp消息的操作。

预设时长为主机中默认的时长,或者用户自定义的时长,在此不再赘述。

在统计得到的时长未达到预设时长时,为了保证主机对局域网的arp欺骗监控的准确度,主机可以再次执行上述步骤201,比如,主机可以再次发送携带有自身ip地址、mac地址、目标网关的ip地址以及目的地址的arp请求,监听目标网关反馈的arp应答。

步骤209,在时长达到预设时长时,结束流程。

而若统计得到的时长达到预设时长,则说明经过预设时长的监控之后,局域网中未出现arp欺骗,也即该局域网安全,此时,为了降低处理复杂度主机可以结束流程。当然实际实现时,为了进一步保证网络安全,主机在间隔预定时间段之后,还可以再次监听网络层中接收到的arp消息,也即循环执行上述流程,在此不再赘述。

需要说明的第一点是,步骤207至步骤209为可选步骤,实际实现时,在arp消息中的mac地址与内存中的mac地址相同时,主机可以实时监听网络层中接收到的arp消息,或者直接结束流程。

需要说明的第二点是,在检测到存在arp欺骗时,主机可以生成并展示提示信息,该提示信息用于提示存在arp欺骗,比如,该提示信息可以为“当前局域网可能被攻击,是否继续使用?”,可选地,主机还可以展示用于触发断开局域网的断开选项以及信任该局域网的信任选项。比如,请参考图5,主机可以展示图中所示的展示界面。在展示图5所示的展示界面之后,主机即可根据接收到的触发指令执行相关操作。当然,实际实现时,为了保证上网安全,主机可以直接断开与目标网关的连接,对此并不做限定。

需要补充说明的第三点是,上述实施例仅以管理程序先获取操作系统的root权限,然后再监听网络层中接收到的arp消息为例,实际实现时,若管理程序通过其他方式也能实现监听网络层中的消息的目的,那么管理程序也可以不获取操作系统的root权限。

综上所述,本实施例提供的arp欺骗检测方法,通过直接监听网络层中接收到的arp消息,进而在监听到的arp消息中的ip地址与目标网关的ip地址相同但是arp消息中的mac地址与内存中保存的该ip地址所对应的mac地址不同时,检测到存在arp欺骗;其中,目标网关为主机在局域网中连接的网关,内存中的mac地址为历史接收并保存的目标网关的ip地址所对应的mac地址;达到了可以直接监听的网络层中收到的各个arp消息,进而根据ip地址为目标网关的ip地址的arp消息中携带的mac地址以及内存中保存的目标网关的ip地址所对应的mac地址直接检测是否存在arp欺骗,而无需浪费大量的时间来读取arp缓存表中的内容进而进行检测,达到了可以实时检测arp欺骗,保证网络安全的效果。

通过在多次接收到相同的目标网关的mac地址时,只监听网络层在预设时长内收到的arp消息,降低了主机的处理复杂度。

总结来说,该arp欺骗检测方法可以包括:

1、获取操作系统的root权限。

2、根据root权限监听网络层中接收到的arp消息。

3、在arp消息中的ip地址与目标网关的ip地址相同且arp消息中的mac地址与内存中已经保存的mac地址不同时,检测到arp欺骗。

其中,内存中已经保存的mac地址为已经保存的目标网关的ip地址所对应的mac地址。

4、在不满足3中的条件时,则根据root权限继续监听网络层中接收到的arp消息。

请参考图6,其示出了本发明一个实施例提供的arp欺骗检测装置的结构示意图,如图6所示,该arp欺骗检测装置可以包括:监听模块610、检测模块620和结果模块630。

监听模块610,用于监听所述主机的网络层中接收到的arp消息;

所述检测模块620,还用于检测所述arp消息中的网络互连协议ip地址与目标网关的ip地址是否相同;所述目标网关为所述主机在局域网中连接的网关;

所述检测模块620,还用于检测所述arp消息中的媒体访问控制mac地址与内存中的mac地址是否相同;所述内存中的mac地址为历史接收并保存的所述目标网关的ip地址所对应的mac地址;

结果模块630,用于在所述arp消息中的ip地址与所述目标网关的ip地址相同且所述arp消息中的mac地址与所述内存中的mac地址不同时,确定所述目标网关存在arp欺骗。

综上所述,本实施例提供的arp欺骗检测装置,通过直接监听网络层中接收到的arp消息,进而在监听到的arp消息中的ip地址与目标网关的ip地址相同但是arp消息中的mac地址与内存中保存的该ip地址所对应的mac地址不同时,检测到存在arp欺骗;其中,目标网关为主机在局域网中连接的网关,内存中的mac地址为历史接收并保存的目标网关的ip地址所对应的mac地址;达到了可以直接监听的网络层中收到的各个arp消息,进而根据ip地址为目标网关的ip地址的arp消息中携带的mac地址以及内存中保存的目标网关的ip地址所对应的mac地址直接检测是否存在arp欺骗,而无需浪费大量的时间来读取arp缓存表中的内容进而进行检测,达到了可以实时检测arp欺骗,保证网络安全的效果。

基于上述实施例提供的arp欺骗检测装置,可选的,监听模块610,还用于:

广播第一arp请求,所述第一arp请求中携带目的设备的ip地址;监听接收到的所述目的设备反馈的arp应答,所述arp应答中携带有所述目的设备的ip地址和mac地址;

和/或,

监听接收到的其他设备发送的第二arp请求,所述第二arp请求中携带有所述设备的ip地址和mac地址。

可选的:

所述arp欺骗检测装置,还包括:保存模块;

所述保存模块,用于在所述arp消息中的ip地址与所述目标网关的ip地址相同且所述内存中未存储有所述目标网关的ip地址所对应的mac地址时,将监听到的所述arp消息中的所述mac地址作为所述目标网关的ip地址所对应的mac地址保存至所述内存,并再次执行所述监听所述主机的网络层中接收到的arp消息的操作。

可选的:所述arp欺骗检测装置,还包括:统计模块和结束模块;

所述统计模块,还用于在所述arp消息中的mac地址与所述内存中的mac地址相同时,统计首次接收到ip地址为所述目标网关的ip地址的arp消息之后的时长;

所述监听模块,还用于在所述时长未达到预设时长时,再次执行所述监听所述主机的网络层中接收到的arp消息的操作;

所述结束模块,还用于在所述时长达到所述预设时长时,结束流程。

可选的:所述arp欺骗检测装置,还包括:展示模块、接收模块和获取模块;

所述展示模块,用于在不具备操作系统的root权限时,展示询问信息;所述询问信息用于询问是否授予所述root权限;

所述接收模块,用于接收用于确认授予所述root权限的确认指令;

所述获取模块,用于在接收到所述确认指令之后,获取所述root权限,执行所述监听所述主机的网络层中接收到的arp消息的操作。

所述arp欺骗检测装置,还包括:生成模块;

所述生成模块,用于在检测到所述目标网关存在arp欺骗时,生成并展示提示信息,所述提示信息用于提示所述目标网关存在arp欺骗。

需要说明的是:上述实施例提供的arp欺骗检测装置,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将服务器的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的arp欺骗检测装置和arp欺骗检测方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可以是存储器中所包含的计算机可读存储介质;也可以是单独存在,未装配入终端中的计算机可读存储介质。该计算机可读存储介质存储有至少一条指令,该至少一条指令被一个或者一个以上的处理器加载并执行以实现如下操作:

监听所述主机的网络层中接收到的arp消息;

检测所述arp消息中的网络互连协议ip地址与目标网关的ip地址是否相同;所述目标网关为所述主机在局域网中连接的网关;

检测所述arp消息中的媒体访问控制mac地址与内存中的mac地址是否相同;所述内存中的mac地址为历史接收并保存的所述目标网关的ip地址所对应的mac地址;

在所述arp消息中的ip地址与所述目标网关的ip地址相同且所述arp消息中的mac地址与所述内存中的mac地址不同时,确定所述目标网关存在arp欺骗。

可选地,所述存储器中存储的指令由所述处理器加载并执行以实现如下操作:

广播第一arp请求,所述第一arp请求中携带目的设备的ip地址;监听接收到的所述目的设备反馈的arp应答,所述arp应答中携带有所述目的设备的ip地址和mac地址;

和/或,

监听接收到的其他设备发送的第二arp请求,所述第二arp请求中携带有所述设备的ip地址和mac地址。

可选地,所述存储器中存储的指令由所述处理器加载并执行以实现如下操作:

若所述arp消息中的ip地址与所述目标网关的ip地址相同且所述内存中未存储有所述目标网关的ip地址所对应的mac地址时,将监听到的所述arp消息中的所述mac地址作为所述目标网关的ip地址所对应的mac地址保存至所述内存,并再次执行所述监听所述主机的网络层中接收到的arp消息的操作。

可选地,所述存储器中存储的指令由所述处理器加载并执行以实现如下操作:

在所述arp消息中的mac地址与所述内存中的mac地址相同时,统计首次接收到ip地址为所述目标网关的ip地址的arp消息之后的时长;

在所述时长未达到预设时长时,再次执行所述监听所述主机的网络层中接收到的arp消息的操作;

在所述时长达到所述预设时长时,结束流程。

可选地,所述存储器中存储的指令由所述处理器加载并执行以实现如下操作:

在不具备操作系统的root权限时,展示询问信息;所述询问信息用于询问是否授予所述root权限;

接收用于确认授予所述root权限的确认指令;

在接收到所述确认指令之后,获取所述root权限,执行所述监听所述主机的网络层中接收到的arp消息的操作。

可选地,所述存储器中存储的指令由所述处理器加载并执行以实现如下操作:

在检测到所述目标网关存在arp欺骗时,生成并展示提示信息,所述提示信息用于提示所述目标网关存在arp欺骗。

图7其示出了本发明一个实施例提供的主机700的框图,该主机可以包括射频(rf,radiofrequency)电路701、包括有一个或一个以上计算机可读存储介质的存储器702、输入单元703、显示单元704、传感器705、音频电路706、无线保真(wifi,wirelessfidelity)模块707、包括有一个或者一个以上处理核心的处理器708、以及电源709等部件。本领域技术人员可以理解,图7中示出的主机结构并不构成对主机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:

rf电路701可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器708处理;另外,将涉及上行的数据发送给基站。通常,rf电路701包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(sim,subscriberidentitymodule)卡、收发信机、耦合器、低噪声放大器(lna,lownoiseamplifier)、双工器等。此外,rf电路701还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(gsm,globalsystemofmobilecommunication)、通用分组无线服务(gprs,generalpacketradioservice)、码分多址(cdma,codedivisionmultipleaccess)、宽带码分多址(wcdma,widebandcodedivisionmultipleaccess)、长期演进(lte,longtermevolution)、电子邮件、短消息服务(sms,shortmessagingservice)等。

存储器702可用于存储软件程序以及模块,处理器708通过运行存储在存储器702的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器702可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据主机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器702可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器702还可以包括存储器控制器,以提供处理器708和输入单元703对存储器702的访问。

输入单元703可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,在一个具体的实施例中,输入单元703可包括触敏表面以及其他输入设备。触敏表面,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面上或在触敏表面附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器708,并能接收处理器708发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面。除了触敏表面,输入单元703还可以包括其他输入设备。具体地,其他输入设备可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。

显示单元704可用于显示由用户输入的信息或提供给用户的信息以及主机的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元704可包括显示面板,可选的,可以采用液晶显示器(lcd,liquidcrystaldisplay)、有机发光二极管(oled,organiclight-emittingdiode)等形式来配置显示面板。进一步的,触敏表面可覆盖显示面板,当触敏表面检测到在其上或附近的触摸操作后,传送给处理器708以确定触摸事件的类型,随后处理器708根据触摸事件的类型在显示面板上提供相应的视觉输出。虽然在图7中,触敏表面与显示面板是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面与显示面板集成而实现输入和输出功能。

主机还可包括至少一种传感器705,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板的亮度,接近传感器可在主机移动到耳边时,关闭显示面板和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于主机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。

音频电路706、扬声器,传声器可提供用户与主机之间的音频接口。音频电路706可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路706接收后转换为音频数据,再将音频数据输出处理器708处理后,经rf电路701以发送给比如另一主机,或者将音频数据输出至存储器702以便进一步处理。音频电路706还可能包括耳塞插孔,以提供外设耳机与主机的通信。

wifi属于短距离无线传输技术,主机通过wifi模块707可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图7示出了wifi模块707,但是可以理解的是,其并不属于主机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。

处理器708是主机的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器702内的软件程序和/或模块,以及调用存储在存储器702内的数据,执行主机的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器708可包括一个或多个处理核心;优选的,处理器708可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器708中。

主机还包括给各个部件供电的电源709(比如电池),优选的,电源可以通过电源管理系统与处理器708逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源709还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。

尽管未示出,主机还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,主机中的处理器708会加载并执行存储在存储器702中的至少一条指令,从而实现如下操作:

监听所述主机的网络层中接收到的arp消息;

检测所述arp消息中的网络互连协议ip地址与目标网关的ip地址是否相同;所述目标网关为所述主机在局域网中连接的网关;

检测所述arp消息中的媒体访问控制mac地址与内存中的mac地址是否相同;所述内存中的mac地址为历史接收并保存的所述目标网关的ip地址所对应的mac地址;

在所述arp消息中的ip地址与所述目标网关的ip地址相同且所述arp消息中的mac地址与所述内存中的mac地址不同时,确定所述目标网关存在arp欺骗。

可选地,所述存储器中存储的指令由所述处理器加载并执行以实现如下操作:

广播第一arp请求,所述第一arp请求中携带目的设备的ip地址;监听接收到的所述目的设备反馈的arp应答,所述arp应答中携带有所述目的设备的ip地址和mac地址;

和/或,

监听接收到的其他设备发送的第二arp请求,所述第二arp请求中携带有所述设备的ip地址和mac地址。

可选地,所述存储器中存储的指令由所述处理器加载并执行以实现如下操作:

若所述arp消息中的ip地址与所述目标网关的ip地址相同且所述内存中未存储有所述目标网关的ip地址所对应的mac地址时,将监听到的所述arp消息中的所述mac地址作为所述目标网关的ip地址所对应的mac地址保存至所述内存,并再次执行所述监听所述主机的网络层中接收到的arp消息的操作。

可选地,所述存储器中存储的指令由所述处理器加载并执行以实现如下操作:

在所述arp消息中的mac地址与所述内存中的mac地址相同时,统计首次接收到ip地址为所述目标网关的ip地址的arp消息之后的时长;

在所述时长未达到预设时长时,再次执行所述监听所述主机的网络层中接收到的arp消息的操作;

在所述时长达到所述预设时长时,结束流程。

可选地,所述存储器中存储的指令由所述处理器加载并执行以实现如下操作:

在不具备操作系统的root权限时,展示询问信息;所述询问信息用于询问是否授予所述root权限;

接收用于确认授予所述root权限的确认指令;

在接收到所述确认指令之后,获取所述root权限,执行所述监听所述主机的网络层中接收到的arp消息的操作。

可选地,所述存储器中存储的指令由所述处理器加载并执行以实现如下操作:

在检测到所述目标网关存在arp欺骗时,生成并展示提示信息,所述提示信息用于提示所述目标网关存在arp欺骗。

应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”(“a”、“an”、“the”)旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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