CN106790010B - 基于Android系统的ARP攻击检测方法、装置及系统 - Google Patents
基于Android系统的ARP攻击检测方法、装置及系统 Download PDFInfo
- Publication number
- CN106790010B CN106790010B CN201611148018.1A CN201611148018A CN106790010B CN 106790010 B CN106790010 B CN 106790010B CN 201611148018 A CN201611148018 A CN 201611148018A CN 106790010 B CN106790010 B CN 106790010B
- Authority
- CN
- China
- Prior art keywords
- address information
- data packet
- exception
- routing
- network packet
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/10—Mapping addresses of different types
- H04L61/103—Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种基于安卓Android系统的ARP攻击检测方法、装置、系统以及移动终端。其中,该方法包括:发送UDP网络数据包,其中UDP网络数据包中的目标地址信息为预设的外网IP地址,且UDP网络数据包中设置TTL值为2;接收第二跳设备返回的异常ICMP数据包,其中异常ICMP数据包是由第二跳设备在接收到UDP网络数据包、且将TTL值更新为0时发送的;根据异常ICMP数据包获取路由第二跳的IP地址信息;根据该IP地址信息和预设的网关IP地址信息,检测当前局域网中是否存在ARP攻击。该方法在Android平台上实现了非ROOT环境下对第二跳路由的检测,以判断当前网络是否存在ARP攻击。
Description
技术领域
本发明涉及移动安全技术领域,尤其涉及一种基于安卓Android系统的ARP攻击检测方法、装置、系统以及移动终端。
背景技术
ARP(Address Resolution Protocol,地址解析协议)是一个位于TCP/IP协议栈中的网络层,负责将某个IP地址解析成对应的MAC地址。ARP攻击就是通过伪造IP地址和MAC地址以实现ARP欺骗,能够在网络中产生大量的ARP通信量使网络阻塞,攻击者只要持续不断的发出伪造的ARP响应包就能更改目标主机ARP缓存中的IP-MAC条目,造成网络中断或中间人攻击。
例如,攻击者向终端设备A发送一个伪造的ARP响应,告诉终端设备A:终端设备B的IP地址192.168.0.2对应的MAC地址是00-aa-00-62-c6-03,终端设备A信以为真,将这个对应关系写入自己的ARP缓存表中,以后发送数据时,将本应该发往终端设备B的数据发送给了攻击者。同样的,攻击者向终端设备B也发送一个伪造的ARP响应,告诉终端设备B:终端设备A的IP地址192.168.0.1对应的MAC地址是00-aa-00-62-c6-03,终端设备B也会将数据发送给攻击者。至此攻击者就控制了终端设备A和终端设备B之间的流量,该攻击者可以选择被动地监测流量,获取密码和其他涉密信息,也可以伪造数据,改变终端设备A和终端设备B之间的通信内容。
相关技术中,ARP攻击检测方法通常有以下两种方式:(1)基于全局路由表的检测方法,即获取局域网中的全局路由表,并查看该全局路由表,如果存在至少两个IP对应着同一个MAC,则判定局域网中存在ARP攻击;(2)基于ARP数据包侦听的检测方法,即利用抓包工具(如Wireshark工具等)侦听一段时间内的ARP数据包,如果发现一段时间内,有一台主集在不停地广播ARP包,占用了大量的局域网带宽,则可判定该主机很可能正在进行ARP攻击。
但是目前存在的问题是,(1)上述基于全局路由表的检测方法并不能应用在安卓Android移动平台上,因为Android作为局域网的终端设备,无法直接实时监控全局的路由信息,并且,Android系统的移动终端设备不支持非ROOT(拥有系统中所有权限的用户)环境下的ping操作,以导致不能获得局域网的全网IP;(2)Android系统的移动终端设备在非ROOT环境下,无法对原始的ARP数据包进行分析,所以上述基于ARP数据包侦听的检测方法无法使用在非ROOT的Android平台中。
发明内容
本发明的目的旨在至少在一定程度上解决上述的技术问题之一。
为此,本发明的第一个目的在于提出一种基于安卓Android系统的ARP攻击检测方法。该方法实现了在非ROOT的Android系统中实现对错误响应数据包的分析侦听,从而探测局域网中第二跳路由地址,根据该第二跳路由地址即可判断当前网络是否存在ARP攻击,提高了移动平台的安全性。
本发明的第二个目的在于提出另一种基于安卓Android系统的ARP攻击检测方法。
本发明的第三个目的在于提出又一种基于安卓Android系统的ARP攻击检测方法。
本发明的第四个目的在于提出再一种基于安卓Android系统的ARP攻击检测方法。
本发明的第五个目的在于提出一种基于安卓Android系统的ARP攻击检测装置。
本发明的第六个目的在于提出另一种基于安卓Android系统的ARP攻击检测装置。
本发明的第七个目的在于提出又一种基于安卓Android系统的ARP攻击检测装置。
本发明的第八个目的在于提出再一种基于安卓Android系统的ARP攻击检测装置。
本发明的第九个目的在于提出一种基于安卓Android系统的ARP攻击检测系统。
本发明的第十个目的在于提出一种移动终端。
本发明的第十一个目的在于提出另一种移动终端。
为达到上述目的,本发明第一方面实施例提出的基于安卓Android系统的ARP攻击检测方法,包括:发送UDP网络数据包,其中,所述UDP网络数据包中的目标地址信息为预设的外网IP地址,且所述UDP网络数据包中设置TTL值为2;接收第二跳设备返回的异常ICMP数据包,其中,所述异常ICMP数据包是由所述第二跳设备在接收到所述UDP网络数据包、且将所述TTL值更新为0时发送的;根据所述异常ICMP数据包获取路由第二跳的IP地址信息;根据所述路由第二跳的IP地址信息和预设的网关IP地址信息,检测当前局域网中是否存在ARP攻击。
根据本发明实施例的基于安卓Android系统的ARP攻击检测方法,通过发送外网UDP网络数据包,其中将该UDP网络数据包中设置TTL值为2,并通过在TTL值更新为0时返回异常ICMP数据包,可以探测到测试端到外网的最初两跳的IP信息,并通过ICMP的错误信息来获取路由第二跳的IP,实现了在非ROOT的Android系统中实现对错误响应数据包的分析侦听,从而探测局域网中第二跳路由地址,根据该第二跳路由地址即可判断当前网络是否存在ARP攻击,提高了移动平台的安全性。
根据本发明的一个实施例,所述根据所述异常ICMP数据包获取路由第二跳的IP地址信息,包括:检测所述异常ICMP数据包的异常类型;当所述异常类型为TIMEOUT类型时,将所述异常ICMP数据包中的源地址信息作为所述路由第二跳的IP地址信息。
根据本发明的一个实施例,所述检测所述异常ICMP数据包的异常类型,包括:通过网络数据包附加错误信息的获取方法CMSG,检测所述异常ICMP数据包的异常类型。
根据本发明的一个实施例,所述根据所述路由第二跳的IP地址信息和预设的网关IP地址信息,检测当前局域网中是否存在ARP攻击,包括:判断所述路由第二跳的IP地址信息是否与预设的网关IP地址信息一致;如果所述路由第二跳的IP地址信息与预设的网关IP地址信息一致,则判定所述当前局域网中存在ARP攻击。
为达到上述目的,本发明第二方面实施例提出的基于安卓Android系统的ARP攻击检测方法,包括:接收第一跳设备转发的由测试端发送的UDP网络数据包,其中,所述测试端发送的UDP网络数据包中的目标地址信息为预设的外网IP地址,且所述测试端发送的UDP网络数据包中设置TTL值为2,所述第一跳设备转发的UDP网络数据包中所述TTL值更新为1;将接收到的所述UDP网络数据包中的所述TTL值减一;当检测当前TTL值为0时,向所述测试端发送异常ICMP数据包,其中,所述测试端根据所述异常ICMP数据包获取路由第二跳的IP地址信息,并根据所述路由第二跳的IP地址信息和预设的网关IP地址信息,检测当前局域网中是否存在ARP攻击。
根据本发明实施例的基于安卓Android系统的ARP攻击检测方法,通过测试端发送的外网UDP网络数据包,其中将该UDP网络数据包中设置TTL值为2,并通过在TTL值更新为0时向测试端返回异常ICMP数据包,使得测试端可以探测到测试端到外网的最初两跳的IP信息,并通过ICMP的错误信息来获取路由第二跳的IP,实现了在非ROOT的Android系统中实现对错误响应数据包的分析侦听,从而探测局域网中第二跳路由地址,从而判断当前网络是否存在ARP攻击,提高了移动平台的安全性。
为达到上述目的,本发明第三方面实施例提出的基于安卓Android系统的ARP攻击检测方法,包括:发送UDP网络数据包,其中,所述UDP网络数据包中的目标地址信息为预设的外网IP地址,且所述UDP网络数据包中设置TTL值为1;接收第一跳设备返回的异常ICMP数据包,其中,所述异常ICMP数据包是由所述第一跳设备在接收到所述UDP网络数据包、且将所述TTL值更新为0时发送的;根据所述异常ICMP数据包获取路由第一跳的IP地址信息;根据所述路由第一跳的IP地址信息和预设的网关IP地址信息,检测当前局域网中是否存在ARP攻击。
根据本发明实施例的基于安卓Android系统的ARP攻击检测方法,通过发送外网UDP网络数据包,其中将该UDP网络数据包中设置TTL值为1,并通过在TTL值更新为0时返回异常ICMP数据包,并通过ICMP的错误信息即可探测到测试端到外网的第一跳的IP,实现了在非ROOT的Android系统中实现对错误响应数据包的分析侦听,从而探测局域网中第一跳路由地址,实现在默认网关处来判断当前是否存在ARP攻击,考虑了ARP攻击者没有伪装自己的情况,进一步提高了移动平台的安全性,并且,在整个检测过程中,无需通过PING操作获取全网IP,大大降低了移动终端的能耗,缩短了检测耗时成本,提高了检测效率。
根据本发明的一个实施例,所述根据所述异常ICMP数据包获取路由第一跳的IP地址信息,包括:检测所述异常ICMP数据包的异常类型;当所述异常类型为TIMEOUT类型时,将所述异常ICMP数据包中的源地址信息作为所述路由第一跳的IP地址信息。
根据本发明的一个实施例,所述检测所述异常ICMP数据包的异常类型,包括:通过网络数据包附加错误信息的获取方法CMSG,检测所述异常ICMP数据包的异常类型。
根据本发明的一个实施例,所述根据所述路由第一跳的IP地址信息和预设的网关IP地址信息,检测当前局域网中是否存在ARP攻击,包括:判断所述路由第一跳的IP地址信息是否与预设的网关IP地址信息一致;如果所述路由第一跳的IP地址信息与预设的网关IP地址信息不一致,则判定所述当前局域网中存在ARP攻击。
为达到上述目的,本发明第四方面实施例提出的基于安卓Android系统的ARP攻击检测方法,包括:接收测试端发送的UDP网络数据包,其中,所述测试端发送的UDP网络数据包中的目标地址信息为预设的外网IP地址,且所述测试端发送的UDP网络数据包中设置TTL值为1;将接收到的所述UDP网络数据包中的所述TTL值减一;当检测当前TTL值为0时,向所述测试端发送异常ICMP数据包,其中,所述测试端根据所述异常ICMP数据包获取路由第一跳的IP地址信息,并根据所述路由第一跳的IP地址信息和预设的网关IP地址信息,检测当前局域网中是否存在ARP攻击。
为达到上述目的,本发明第五方面实施例提出的基于安卓Android系统的ARP攻击检测装置,包括:发送模块,用于发送UDP网络数据包,其中,所述UDP网络数据包中的目标地址信息为预设的外网IP地址,且所述UDP网络数据包中设置TTL值为2;接收模块,用于接收第二跳设备返回的异常ICMP数据包,其中,所述异常ICMP数据包是由所述第二跳设备在接收到所述UDP网络数据包、且将所述TTL值更新为0时发送的;获取模块,用于根据所述异常ICMP数据包获取路由第二跳的IP地址信息;检测模块,用于根据所述路由第二跳的IP地址信息和预设的网关IP地址信息,检测当前局域网中是否存在ARP攻击。
根据本发明实施例的基于安卓Android系统的ARP攻击检测装置,通过发送外网UDP网络数据包,其中将该UDP网络数据包中设置TTL值为2,并通过在TTL值更新为0时返回异常ICMP数据包,可以探测到测试端到外网的最初两跳的IP信息,并通过ICMP的错误信息来获取路由第二跳的IP,实现了在非ROOT的Android系统中实现对错误响应数据包的分析侦听,从而探测局域网中第二跳路由地址,根据该第二跳路由地址即可判断当前网络是否存在ARP攻击,提高了移动平台的安全性。
根据本发明的一个实施例,所述获取模块包括:检测单元,用于检测所述异常ICMP数据包的异常类型;获取单元,用于在所述异常类型为TIMEOUT类型时,将所述异常ICMP数据包中的源地址信息作为所述路由第二跳的IP地址信息。
根据本发明的一个实施例,所述检测单元具体用于:通过网络数据包附加错误信息的获取方法CMSG,检测所述异常ICMP数据包的异常类型。
根据本发明的一个实施例,所述检测模块包括:判断单元,用于判断所述路由第二跳的IP地址信息是否与预设的网关IP地址信息一致;判定单元,用于在所述路由第二跳的IP地址信息与预设的网关IP地址信息一致时,判定所述当前局域网中存在ARP攻击。
为达到上述目的,本发明第六方面实施例提出的基于安卓Android系统的ARP攻击检测装置,包括:接收模块,用于接收第一跳设备转发的由测试端发送的UDP网络数据包,其中,所述测试端发送的UDP网络数据包中的目标地址信息为预设的外网IP地址,且所述测试端发送的UDP网络数据包中设置TTL值为2,所述第一跳设备转发的UDP网络数据包中所述TTL值更新为1;TTL值更新模块,用于将接收到的所述UDP网络数据包中的所述TTL值减一;发送模块,用于在检测当前TTL值为0时,向所述测试端发送异常ICMP数据包,其中,所述测试端根据所述异常ICMP数据包获取路由第二跳的IP地址信息,并根据所述路由第二跳的IP地址信息和预设的网关IP地址信息,检测当前局域网中是否存在ARP攻击。
根据本发明实施例的基于安卓Android系统的ARP攻击检测装置,通过测试端发送的外网UDP网络数据包,其中将该UDP网络数据包中设置TTL值为2,并通过在TTL值更新为0时向测试端返回异常ICMP数据包,使得测试端可以探测到测试端到外网的最初两跳的IP信息,并通过ICMP的错误信息来获取路由第二跳的IP,实现了在非ROOT的Android系统中实现对错误响应数据包的分析侦听,从而探测局域网中第二跳路由地址,从而判断当前网络是否存在ARP攻击,提高了移动平台的安全性。
为达到上述目的,本发明第七方面实施例提出的基于安卓Android系统的ARP攻击检测装置,包括:发送模块,用于发送UDP网络数据包,其中,所述UDP网络数据包中的目标地址信息为预设的外网IP地址,且所述UDP网络数据包中设置TTL值为1;接收模块,用于接收第一跳设备返回的异常ICMP数据包,其中,所述异常ICMP数据包是由所述第一跳设备在接收到所述UDP网络数据包、且将所述TTL值更新为0时发送的;获取模块,用于根据所述异常ICMP数据包获取路由第一跳的IP地址信息;检测模块,用于根据所述路由第一跳的IP地址信息和预设的网关IP地址信息,检测当前局域网中是否存在ARP攻击。
根据本发明的一个实施例,所述获取模块包括:检测单元,用于检测所述异常ICMP数据包的异常类型;获取单元,用于在所述异常类型为TIMEOUT类型时,将所述异常ICMP数据包中的源地址信息作为所述路由第一跳的IP地址信息。
根据本发明的一个实施例,所述检测单元具体用于:通过网络数据包附加错误信息的获取方法CMSG,检测所述异常ICMP数据包的异常类型。
根据本发明的一个实施例,所述检测模块包括:判断单元,用于判断所述路由第一跳的IP地址信息是否与预设的网关IP地址信息一致;判定单元,用于在所述路由第一跳的IP地址信息与预设的网关IP地址信息不一致时,判定所述当前局域网中存在ARP攻击。
为达到上述目的,本发明第八方面实施例提出的基于安卓Android系统的ARP攻击检测装置,包括:接收模块,用于接收测试端发送的UDP网络数据包,其中,所述测试端发送的UDP网络数据包中的目标地址信息为预设的外网IP地址,且所述测试端发送的UDP网络数据包中设置TTL值为1;TTL值更新模块,用于将接收到的所述UDP网络数据包中的所述TTL值减一;发送模块,用于在检测当前TTL值为0时,向所述测试端发送异常ICMP数据包,其中,所述测试端根据所述异常ICMP数据包获取路由第一跳的IP地址信息,并根据所述路由第一跳的IP地址信息和预设的网关IP地址信息,检测当前局域网中是否存在ARP攻击。
为达到上述目的,本发明第九方面实施例提出的基于安卓Android系统的ARP攻击检测系统,包括:本发明第五方面实施例所述的基于安卓Android系统的ARP攻击检测装置;以及本发明第六方面实施例所述的基于安卓Android系统的ARP攻击检测装置。
根据本发明实施例的基于安卓Android系统的ARP攻击检测系统,通过测试端发送外网UDP网络数据包,其中将该UDP网络数据包中设置TTL值为2,并通过第二跳设备在TTL值更新为0时向测试端返回异常ICMP数据包,使得测试端可以探测到测试端到外网的最初两跳的IP信息,并通过ICMP的错误信息来获取路由第二跳的IP,实现了在非ROOT的Android系统中实现对错误响应数据包的分析侦听,从而探测局域网中第二跳路由地址,根据该第二跳路由地址即可判断当前网络是否存在ARP攻击,提高了移动平台的安全性。
为达到上述目的,本发明第十方面实施例提出的移动终端,包括:壳体、处理器、存储器、电路板和电源电路,其中,所述电路板安置在所述壳体围成的空间内部,所述处理器和所述存储器设置在所述电路板上;所述电源电路,用于为所述移动终端的各个电路或器件供电;所述存储器用于存储可执行程序代码;所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于执行以下步骤:发送UDP网络数据包,其中,所述UDP网络数据包中的目标地址信息为预设的外网IP地址,且所述UDP网络数据包中设置TTL值为2;接收第二跳设备返回的异常ICMP数据包,其中,所述异常ICMP数据包是由所述第二跳设备在接收到所述UDP网络数据包、且将所述TTL值更新为0时发送的;根据所述异常ICMP数据包获取路由第二跳的IP地址信息;根据所述路由第二跳的IP地址信息和预设的网关IP地址信息,检测当前局域网中是否存在ARP攻击。
根据本发明实施例的移动终端,通过发送外网UDP网络数据包,其中将该UDP网络数据包中设置TTL值为2,并通过在TTL值更新为0时返回异常ICMP数据包,可以探测到测试端到外网的最初两跳的IP信息,并通过ICMP的错误信息来获取路由第二跳的IP,实现了在非ROOT的Android系统中实现对错误响应数据包的分析侦听,从而探测局域网中第二跳路由地址,根据该第二跳路由地址即可判断当前网络是否存在ARP攻击,提高了移动平台的安全性。
为达到上述目的,本发明第十一方面实施例提出的移动终端,包括:壳体、处理器、存储器、电路板和电源电路,其中,所述电路板安置在所述壳体围成的空间内部,所述处理器和所述存储器设置在所述电路板上;所述电源电路,用于为所述移动终端的各个电路或器件供电;所述存储器用于存储可执行程序代码;所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于执行以下步骤:接收第一跳设备转发的由测试端发送的UDP网络数据包,其中,所述测试端发送的UDP网络数据包中的目标地址信息为预设的外网IP地址,且所述测试端发送的UDP网络数据包中设置TTL值为2,所述第一跳设备转发的UDP网络数据包中所述TTL值更新为1;将接收到的所述UDP网络数据包中的所述TTL值减一;当检测当前TTL值为0时,向所述测试端发送异常ICMP数据包,其中,所述测试端根据所述异常ICMP数据包获取路由第二跳的IP地址信息,并根据所述路由第二跳的IP地址信息和预设的网关IP地址信息,检测当前局域网中是否存在ARP攻击。
根据本发明实施例的移动终端,通过测试端发送的外网UDP网络数据包,其中将该UDP网络数据包中设置TTL值为2,并通过在TTL值更新为0时向测试端返回异常ICMP数据包,使得测试端可以探测到测试端到外网的最初两跳的IP信息,并通过ICMP的错误信息来获取路由第二跳的IP,实现了在非ROOT的Android系统中实现对错误响应数据包的分析侦听,从而探测局域网中第二跳路由地址,从而判断当前网络是否存在ARP攻击,提高了移动平台的安全性。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中,
图1是根据本发明一个实施例的基于安卓Android系统的ARP攻击检测方法的流程图;
图2是根据本发明一个实施例的基于安卓Android系统的ARP攻击检测装置的结构示意图;
图3是根据本发明一个具体实施例的基于安卓Android系统的ARP攻击检测装置的结构示意图;
图4是根据本发明又一个具体实施例的基于安卓Android系统的ARP攻击检测装置的结构示意图;
图5是根据本发明另一个实施例的基于安卓Android系统的ARP攻击检测方法的流程图;
图6是根据本发明另一个实施例的基于安卓Android系统的ARP攻击检测装置的结构示意图;
图7是根据本发明一个实施例的基于安卓Android系统的ARP攻击检测系统的结构示意图;
图8是根据本发明又一个实施例的基于安卓Android系统的ARP攻击检测方法的流程图;
图9是根据本发明再一个实施例的基于安卓Android系统的ARP攻击检测装置的结构示意图;
图10是根据本发明再一个实施例的基于安卓Android系统的ARP攻击检测方法的流程图;
图11是根据本发明又另一个实施例的基于安卓Android系统的ARP攻击检测装置的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
目前,传统的ARP攻击检测方法通常采用以下两种方式:基于全局路由表的检测方法和基于ARP数据包侦听的检测方法。但是,上述基于全局路由表的检测方法并不能应用在Android移动平台上,这是因为Android作为局域网的终端设备,无法直接实时监控全局的路由信息,并且,ping一遍全网对于能量有限的智能终端设备会带来大量的能耗,并且耗时较长,此外,部分Android移动终端设备不支持非ROOT环境下的ping操作;上述基于ARP数据包侦听的检测方法无法使用在非ROOT的android平台中,这是因为Android移动终端设备在非ROOT环境下,无法对原始的ARP数据包进行分析。
为此,为了解决现有技术中Android移动终端设备在非ROOT环境下不能实现ARP攻击检测的问题,本发明提出了一种基于安卓Android系统的ARP攻击检测方法、装置、系统以及移动终端。具体地,下面参考附图描述根据本发明实施例的基于安卓Android系统的ARP攻击检测方法、装置、系统以及移动终端。
图1是根据本发明一个实施例的基于安卓Android系统的ARP攻击检测方法的流程图。需要说明的是,本发明实施例的基于安卓Android系统的ARP攻击检测方法可应用于移动终端中,该移动终端可以是手机、平板电脑、掌上电脑、个人数字助理等具有Android操作系统的硬件设备。其中,该具有Android操作系统的移动终端可以处于ROOT环境,也可以处于非ROOT环境。
还需要说明的是,本发明实施例的基于安卓Android系统的ARP攻击检测方法可从测试端侧进行描述。具体地,如图1所示,该基于安卓Android系统的ARP攻击检测方法可以包括:
S101,发送UDP网络数据包,其中,UDP网络数据包中的目标地址信息为预设的外网IP地址,且UDP网络数据包中设置TTL值为2。
需要说明的是,本发明实施例的基于安卓Android系统的ARP攻击检测方法可应用于移动终端中,该移动终端可位于一个局域网中,该局域网中除了具有该移动终端之外,还可具有其他多个移动终端。
可以理解,在正常的网络中,发往外网的数据包首先会经过网关,查询到下一跳路由信息时,根据该下一跳路由信息再往外网传递该数据包。而存在ARP攻击的网络中,具有ARP攻击行为的移动终端会拦截所有向外网发送的数据包,使得这些数据包的第一跳路由从默认网关更改为该攻击者(即具有ARP攻击行为的移动终端)IP。据此,本发明实现了Android系统的局域网路由追踪,并根据数据包在局域网中的转发路径判断当前网络是否存在ARP攻击。
具体地,在本步骤中,测试端可发送一个到外网的UDP网络数据包,其中,该UDP网络数据包中的目标地址信息可为外网IP地址,如8.8.8.8等,并且,该UDP网络数据包中设置TTL值为2。其中,该TTL是Time To Live的缩写,该TTL可位于UDP网络数据包的包头,该TTL值可指定该UDP网络数据包被路由器丢弃之前允许通过的最大网段数量,例如,该TTL值为2时,表示该UDP网络数据包在路由中将被允许跳转两次。
S102,接收第二跳设备返回的异常ICMP(Internet Control Message Protocol,Internet控制报文协议)数据包,其中,异常ICMP数据包是由第二跳设备在接收到UDP网络数据包、且将TTL值更新为0时发送的。
可以理解,将UDP网络数据包中设置TTL值为2,这样,在该UDP网络数据包每被转发一次,即该UDP网络数据包每经过一次跳转时,该TTL值将会减一。例如,在第一跳设备接收到该UDP网络数据包时,会将该UDP网络数据包中的TTL值减一,即该TTL值被更新为1,此时该第一跳设备会将该UDP网络数据包继续转发,在第二跳设备接收到该UDP网络数据包时,会将该TTL值继续减一,此时该TTL值被更新为0,此时,第二跳设备在发现该TTL值更新为0时,第二跳设备所对应的路由会丢弃该UDP网络数据包,并向该UDP网络数据包的发起者(即测试端)发送异常ICMP数据包。测试端可接收该第二跳设备返回的异常ICMP数据包。其中,可以理解,该ICMP数据包可用于传递控制消息,该控制消息是指网络通不通、主机是否可达、路由是否可用等网络本身的消息。
需要说明的是,上述第一跳设备和第二跳设备可理解是该测试端所处局域网中的其他移动终端设备。
S103,根据异常ICMP数据包获取路由第二跳的IP地址信息。
具体而言,在本发明的一个实施例中,可检测异常ICMP数据包的异常类型,当该异常类型为TIMEOUT类型时,将异常ICMP数据包中的源地址信息作为路由第二跳的IP地址信息。也就是说,可判断该异常ICMP数据包属于哪一种异常类型,如果该异常类型为TIMEOUT类型,则可认为ICMP超时,此时可将记录下该异常ICMP数据包的源地址信息,由于该异常ICMP数据包是由第二跳设备返回的数据包,因此,可将该异常ICMP数据包的源地址信息作为路由第二跳的IP地址信息。
可以理解,检测异常ICMP数据包的异常类型的方式有很多种:作为一种示例,可通过网络数据包附加错误信息的获取方法CMSG,检测该异常ICMP数据包的异常类型。其中,该CMSG可为Linux(或Android)系统提供的在非ROOT权限下获取网络数据包附加错误信息的方法,据此,本步骤中,可利用该CMSG工具以判断异常ICMP数据包的异常类型。
由此可见,通过上述步骤S101至S103可以探测到测试端到外网的最初两跳的IP地址信息,并且由于获取该路由第二跳的IP地址信息的时候,判断的消息内容为ICMP的错误信息,因此,本发明实施例的ARP攻击检测方法参考并改进了基于Linux系统的路由追踪程序(tracepath)方法,实现了在非ROOT的Android平台中获得数据包在内网的转发路由途径,进而获得路由第二跳的IP地址信息。
S104,根据路由第二跳的IP地址信息和预设的网关IP地址信息,检测当前局域网中是否存在ARP攻击。
具体而言,在本发明的一个实施例中,在获得路由第二跳的IP地址信息之后,可判断该路由第二跳的IP地址信息是否与预设的网关IP地址信息一致,如果路由第二跳的IP地址信息与预设的网关IP地址信息一致,则判定当前局域网中存在ARP攻击。
需要说明的是,如果当前局域网中存在ARP攻击的话,具有ARP攻击行为的移动终端会拦截所有发向外网的数据包,并使得该数据包的第一跳路由从预设的网关IP更改为该攻击者IP,而该攻击者在接收到该数据包后会向外转发,此时会真正的经过该预设的网关以实现路由的第二跳。
据此,基于上述原理,在本步骤中,可先获取预设的网关IP地址信息(即默认的网关IP地址信息),之后,可判断该路由第二跳的IP地址信息与该预设的网关IP地址信息是否相等,若不相等,则该路由第一跳的IP即为预设的网关IP,即可判定当前局域网中不存在ARP攻击;若该路由第二跳的IP地址信息与该预设的网关IP地址信息相等,则该路由第一跳的IP为ARP攻击者的IP,该路由第二跳的IP为预设的网关IP,即可判定当前局域网中存在ARP攻击。
作为一种示例,在判定当前局域网中存在ARP攻击时,可向用户发送提醒信息,以警告用户当前网络面临着ARP攻击。
根据本发明实施例的基于安卓Android系统的ARP攻击检测方法,可向外网发送UDP网络数据包,其中,该UDP网络数据包中设置TTL值为2,接收第二跳设备返回的异常ICMP数据包,其中,异常ICMP数据包是由第二跳设备在接收到UDP网络数据包、且将TTL值更新为0时发送的,然后,根据异常ICMP数据包获取路由第二跳的IP地址信息,最后,根据路由第二跳的IP地址信息和预设的网关IP地址信息,检测当前局域网中是否存在ARP攻击。即通过发送外网UDP网络数据包,其中将该UDP网络数据包中设置TTL值为2,并通过在TTL值更新为0时返回异常ICMP数据包,可以探测到测试端到外网的最初两跳的IP信息,并通过ICMP的错误信息来获取路由第二跳的IP,实现了在非ROOT的Android系统中实现对错误响应数据包的分析侦听,从而探测局域网中第二跳路由地址,从而判断当前网络是否存在ARP攻击,提高了移动平台的安全性,并且,在整个检测过程中,无需通过PING操作获取全网IP,大大降低了移动终端的能耗,缩短了检测耗时成本,提高了检测效率。
与上述几种实施例提供的基于安卓Android系统的ARP攻击检测方法相对应,本发明的一种实施例还提供一种基于安卓Android系统的ARP攻击检测装置,由于本发明实施例提供的基于安卓Android系统的ARP攻击检测装置与上述几种实施例提供的基于安卓Android系统的ARP攻击检测方法相对应,因此在前述基于安卓Android系统的ARP攻击检测方法的实施方式也适用于本实施例提供的基于安卓Android系统的ARP攻击检测装置,在本实施例中不再详细描述。图2是根据本发明一个实施例的基于安卓Android系统的ARP攻击检测装置的结构示意图。如图2所示,该基于安卓Android系统的ARP攻击检测装置100可以包括:发送模块110、接收模块120、获取模块130和检测模块140。
具体地,发送模块110可用于发送UDP网络数据包,其中,UDP网络数据包中的目标地址信息为预设的外网IP地址,且UDP网络数据包中设置TTL值为2。
接收模块120可用于接收第二跳设备返回的异常ICMP数据包,其中,异常ICMP数据包是由第二跳设备在接收到UDP网络数据包、且将TTL值更新为0时发送的。
获取模块130可用于根据异常ICMP数据包获取路由第二跳的IP地址信息。作为一种示例,如图3所示,该获取模块130可包括:检测单元131和获取单元132。其中,检测单元131可用于检测异常ICMP数据包的异常类型。获取单元132可用于在异常类型为TIMEOUT类型时,将异常ICMP数据包中的源地址信息作为路由第二跳的IP地址信息。
作为一种示例,检测单元131可通过网络数据包附加错误信息的获取方法CMSG,检测异常ICMP数据包的异常类型。
检测模块140可用于根据路由第二跳的IP地址信息和预设的网关IP地址信息,检测当前局域网中是否存在ARP攻击。作为一种示例,如图4所示,该检测模块140可包括:判断单元141和判定单元142。其中,判断单元141可用于判断路由第二跳的IP地址信息是否与预设的网关IP地址信息一致。判定单元142可用于在路由第二跳的IP地址信息与预设的网关IP地址信息一致时,判定当前局域网中存在ARP攻击。
根据本发明实施例的基于安卓Android系统的ARP攻击检测装置,可通过发送模块向外网发送UDP网络数据包,其中,该UDP网络数据包中设置TTL值为2,接收模块接收第二跳设备返回的异常ICMP数据包,其中,异常ICMP数据包是由第二跳设备在接收到UDP网络数据包、且将TTL值更新为0时发送的,获取模块根据异常ICMP数据包获取路由第二跳的IP地址信息,检测模块根据路由第二跳的IP地址信息和预设的网关IP地址信息,检测当前局域网中是否存在ARP攻击。即通过发送外网UDP网络数据包,其中将该UDP网络数据包中设置TTL值为2,并通过在TTL值更新为0时返回异常ICMP数据包,可以探测到测试端到外网的最初两跳的IP信息,并通过ICMP的错误信息来获取路由第二跳的IP,实现了在非ROOT的Android系统中实现对错误响应数据包的分析侦听,从而探测局域网中第二跳路由地址,根据该第二跳路由地址即可判断当前网络是否存在ARP攻击,提高了移动平台的安全性。
图5是根据本发明另一个实施例的基于安卓Android系统的ARP攻击检测方法的流程图。需要说明的是,本发明实施例的基于安卓Android系统的ARP攻击检测方法可从第二跳设备侧进行描述,其中,该第二跳设备可理解是测试端所处局域网中的其他移动终端设备。
如图5所示,该基于安卓Android系统的ARP攻击检测方法可以包括:
S501,接收第一跳设备转发的由测试端发送的UDP网络数据包,其中,测试端发送的UDP网络数据包中的目标地址信息为预设的外网IP地址,且测试端发送的UDP网络数据包中设置TTL值为2,第一跳设备转发的UDP网络数据包中TTL值更新为1。
需要说明的是,测试端可向外网发送一个UDP网络数据包,其中,该UDP网络数据包中的目标地址信息可为外网IP地址,如8.8.8.8等,并且,该UDP网络数据包中设置TTL值为2。其中,该TTL可位于UDP网络数据包的包头,该TTL值可指定该UDP网络数据包被路由器丢弃之前允许通过的最大网段数量,例如,该TTL值为2时,表示该UDP网络数据包在路由中将被允许跳转两次。
可以理解,将UDP网络数据包中设置TTL值为2,这样,在该UDP网络数据包每被转发一次,即该UDP网络数据包每经过一次跳转时,该TTL值将会减一。例如,在第一跳设备接收到该UDP网络数据包时,会将该UDP网络数据包中的TTL值减一,即该TTL值被更新为1,此时该第一跳设备会将该UDP网络数据包继续转发,这样,第二跳设备可接收到第一跳设备转发的UDP网络数据包。
S502,将接收到的UDP网络数据包中的TTL值减一。
也就是说,在接收到第一跳设备转发的UDP网络数据包时,可将该UDP网络数据包中的TTL值减一,即此时该TTL值从1更新为0。
S503,当检测当前TTL值为0时,向测试端发送异常ICMP数据包,其中,测试端根据异常ICMP数据包获取路由第二跳的IP地址信息,并根据路由第二跳的IP地址信息和预设的网关IP地址信息,检测当前局域网中是否存在ARP攻击。
具体地,测试端在接收到该异常ICMP数据包时,可检测异常ICMP数据包的异常类型,当该异常类型为TIMEOUT类型时,将异常ICMP数据包中的源地址信息作为路由第二跳的IP地址信息,之后,可判断该路由第二跳的IP地址信息是否与预设的网关IP地址信息一致,若一致,则判定当前局域网中存在ARP攻击。
可以理解,测试端检测异常ICMP数据包的异常类型的方式有很多种:作为一种示例,可通过网络数据包附加错误信息的获取方法CMSG,检测该异常ICMP数据包的异常类型。其中,该CMSG可为Linux(或Android)系统提供的在非ROOT权限下获取网络数据包附加错误信息的方法,据此,测试端可利用该CMSG工具以判断异常ICMP数据包的异常类型。
根据本发明实施例的基于安卓Android系统的ARP攻击检测方法,可接收第一跳设备转发的由测试端发送的UDP网络数据包,其中,该试端发送的UDP网络数据包中的目标地址信息为预设的外网IP地址,且测试端发送的UDP网络数据包中设置TTL值为2,并将接收到的UDP网络数据包中的TTL值减一,并在检测当前TTL值为0时,向测试端发送异常ICMP数据包,使得测试端根据异常ICMP数据包获取路由第二跳的IP地址信息,并根据路由第二跳的IP地址信息和预设的网关IP地址信息,检测当前局域网中是否存在ARP攻击。即通过测试端发送的外网UDP网络数据包,其中将该UDP网络数据包中设置TTL值为2,并通过在TTL值更新为0时向测试端返回异常ICMP数据包,使得测试端可以探测到测试端到外网的最初两跳的IP信息,并通过ICMP的错误信息来获取路由第二跳的IP,实现了在非ROOT的Android系统中实现对错误响应数据包的分析侦听,从而探测局域网中第二跳路由地址,从而判断当前网络是否存在ARP攻击,提高了移动平台的安全性。
与上述几种实施例(即上述图5所示的实施例)提供的基于安卓Android系统的ARP攻击检测方法相对应,本发明的一种实施例还提供一种基于安卓Android系统的ARP攻击检测装置,由于本发明实施例提供的基于安卓Android系统的ARP攻击检测装置与上述几种实施例(即上述图5所示的实施例)提供的基于安卓Android系统的ARP攻击检测方法相对应,因此在前述基于安卓Android系统的ARP攻击检测方法的实施方式也适用于本实施例提供的基于安卓Android系统的ARP攻击检测装置,在本实施例中不再详细描述。图6是根据本发明另一个实施例的基于安卓Android系统的ARP攻击检测装置的结构示意图。如图6所示,该基于安卓Android系统的ARP攻击检测装置200可以包括:接收模块210、TTL值更新模块220和发送模块230。
具体地,接收模块210可用于接收第一跳设备转发的由测试端发送的UDP网络数据包,其中,测试端发送的UDP网络数据包中的目标地址信息为预设的外网IP地址,且测试端发送的UDP网络数据包中设置TTL值为2,第一跳设备转发的UDP网络数据包中TTL值更新为1。
TTL值更新模块220可用于将接收到的UDP网络数据包中的TTL值减一。
发送模块230可用于在检测当前TTL值为0时,向测试端发送异常ICMP数据包,其中,测试端根据异常ICMP数据包获取路由第二跳的IP地址信息,并根据路由第二跳的IP地址信息和预设的网关IP地址信息,检测当前局域网中是否存在ARP攻击。
根据本发明实施例的基于安卓Android系统的ARP攻击检测装置,通过测试端发送的外网UDP网络数据包,其中将该UDP网络数据包中设置TTL值为2,并通过在TTL值更新为0时向测试端返回异常ICMP数据包,使得测试端可以探测到测试端到外网的最初两跳的IP信息,并通过ICMP的错误信息来获取路由第二跳的IP,实现了在非ROOT的Android系统中实现对错误响应数据包的分析侦听,从而探测局域网中第二跳路由地址,从而判断当前网络是否存在ARP攻击,提高了移动平台的安全性。
为了实现上述实施例,本发明还提出了一种基于安卓Android系统的ARP攻击检测系统。
图7是根据本发明一个实施例的基于安卓Android系统的ARP攻击检测系统的结构示意图。如图7所示,该基于安卓Android系统的ARP攻击检测系统10可以包括:基于安卓Android系统的ARP攻击检测装置100和基于安卓Android系统的ARP攻击检测装置200。
其中,基于安卓Android系统的ARP攻击检测装置100的具体功能描述可参见上述图2至图4所示的ARP攻击检测装置的功能描述。
基于安卓Android系统的ARP攻击检测装置200的具体功能描述可参见上述图6所示的ARP攻击检测装置的功能描述。
为了实现上述实施例,本发明还提出了一种移动终端,其中,该移动终端可以是本发明上述测试端。具体地,该移动终端可包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为移动终端的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于执行以下步骤:
S101’,发送UDP网络数据包,其中,UDP网络数据包中的目标地址信息为预设的外网IP地址,且UDP网络数据包中设置TTL值为2。
S102’,接收第二跳设备返回的异常ICMP数据包,其中,异常ICMP数据包是由第二跳设备在接收到UDP网络数据包、且将TTL值更新为0时发送的。
S103’,根据异常ICMP数据包获取路由第二跳的IP地址信息。
S104’,根据路由第二跳的IP地址信息和预设的网关IP地址信息,检测当前局域网中是否存在ARP攻击。
为了实现上述实施例,本发明还提出了另一种移动终端,其中,该移动终端可以是本发明上述第二跳设备。具体地,该移动终端可包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为移动终端的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,以用于执行以下步骤:
S201’,接收第一跳设备转发的由测试端发送的UDP网络数据包,其中,测试端发送的UDP网络数据包中的目标地址信息为预设的外网IP地址,且测试端发送的UDP网络数据包中设置TTL值为2,第一跳设备转发的UDP网络数据包中TTL值更新为1。
S202’,将接收到的UDP网络数据包中的TTL值减一。
S203’,当检测当前TTL值为0时,向测试端发送异常ICMP数据包,其中,测试端根据异常ICMP数据包获取路由第二跳的IP地址信息,并根据路由第二跳的IP地址信息和预设的网关IP地址信息,检测当前局域网中是否存在ARP攻击。
需要说明的是,一般情况下,ARP攻击者都会伪装自己,在反馈异常包时都会假装自己是路由,但是不排除该攻击者没有伪装自己的情况,那么此时在第一跳时该攻击者就会将自己暴露。为此,基于此情况,本发明还提出了另一种基于安卓Android系统的ARP攻击检测方法,该方法通过在默认网关处来判断当前是否存在ARP攻击。具体地,图8是根据本发明再一个实施例的基于安卓Android系统的ARP攻击检测方法的流程图。需要说明的是,本发明实施例的基于安卓Android系统的ARP攻击检测方法可从测试端侧进行描述。
如图8所示,该基于安卓Android系统的ARP攻击检测方法可以包括:
S801,发送UDP网络数据包,其中,UDP网络数据包中的目标地址信息为预设的外网IP地址,且UDP网络数据包中设置TTL值为1。
S802,接收第一跳设备返回的异常ICMP数据包,其中,异常ICMP数据包是由第一跳设备在接收到UDP网络数据包、且将TTL值更新为0时发送的。
S803,根据异常ICMP数据包获取路由第一跳的IP地址信息。
具体而言,在本发明的一个实施例中,可检测异常ICMP数据包的异常类型,当异常类型为TIMEOUT类型时,将异常ICMP数据包中的源地址信息作为路由第一跳的IP地址信息。
作为一种示例,可通过网络数据包附加错误信息的获取方法CMSG,检测异常ICMP数据包的异常类型。
S804,根据路由第一跳的IP地址信息和预设的网关IP地址信息,检测当前局域网中是否存在ARP攻击。
具体而言,在本发明的一个实施例中,可判断路由第一跳的IP地址信息是否与预设的网关IP地址信息一致,如果路由第一跳的IP地址信息与预设的网关IP地址信息不一致,则判定当前局域网中存在ARP攻击。
根据本发明实施例的基于安卓Android系统的ARP攻击检测方法,通过发送外网UDP网络数据包,其中将该UDP网络数据包中设置TTL值为1,并通过在TTL值更新为0时返回异常ICMP数据包,并通过ICMP的错误信息即可探测到测试端到外网的第一跳的IP,实现了在非ROOT的Android系统中实现对错误响应数据包的分析侦听,从而探测局域网中第一跳路由地址,实现在默认网关处来判断当前是否存在ARP攻击,考虑了ARP攻击者没有伪装自己的情况,进一步提高了移动平台的安全性,并且,在整个检测过程中,无需通过PING操作获取全网IP,大大降低了移动终端的能耗,缩短了检测耗时成本,提高了检测效率。
为了实现上述图8所示的实施例,本发明还提出了一种基于安卓Android系统的ARP攻击检测装置。
图9是根据本发明再一个实施例的基于安卓Android系统的ARP攻击检测装置的结构示意图。需要说明的是,本发明实施例的基于安卓Android系统的ARP攻击检测装置可被配置于测试端。
如图9所示,该基于安卓Android系统的ARP攻击检测装置300可以包括:发送模块310、接收模块320、获取模块330和检测模块340。
具体地,发送模块310用于发送UDP网络数据包,其中,UDP网络数据包中的目标地址信息为预设的外网IP地址,且UDP网络数据包中设置TTL值为1。
接收模块320用于接收第一跳设备返回的异常ICMP数据包,其中,异常ICMP数据包是由第一跳设备在接收到UDP网络数据包、且将TTL值更新为0时发送的。
获取模块330用于根据异常ICMP数据包获取路由第一跳的IP地址信息。作为一种示例,该获取模块可包括:检测单元和获取单元。其中,检测单元,用于检测异常ICMP数据包的异常类型;获取单元,用于在异常类型为TIMEOUT类型时,将异常ICMP数据包中的源地址信息作为路由第一跳的IP地址信息。其中,检测单元可通过网络数据包附加错误信息的获取方法CMSG,检测异常ICMP数据包的异常类型。
检测模块340用于根据路由第一跳的IP地址信息和预设的网关IP地址信息,检测当前局域网中是否存在ARP攻击。具体而言,在本发明的一个实施例中,该检测模块可以包括:判断单元和判定单元。其中,判断单元,用于判断路由第一跳的IP地址信息是否与预设的网关IP地址信息一致;判定单元,用于在路由第一跳的IP地址信息与预设的网关IP地址信息不一致时,判定当前局域网中存在ARP攻击。
为了实现上述实施例本发明还提出另一种基于安卓Android系统的ARP攻击检测方法。图10是根据本发明再一个实施例的基于安卓Android系统的ARP攻击检测方法的流程图。需要说明的是,本发明实施例的基于安卓Android系统的ARP攻击检测方法可从第一跳设备侧进行描述。
如图10所示,该基于安卓Android系统的ARP攻击检测方法可以包括:
S1001,接收测试端发送的UDP网络数据包,其中,测试端发送的UDP网络数据包中的目标地址信息为预设的外网IP地址,且测试端发送的UDP网络数据包中设置TTL值为1。
S1002,将接收到的UDP网络数据包中的TTL值减一。
S1003,当检测当前TTL值为0时,向测试端发送异常ICMP数据包,其中,测试端根据异常ICMP数据包获取路由第一跳的IP地址信息,并根据路由第一跳的IP地址信息和预设的网关IP地址信息,检测当前局域网中是否存在ARP攻击。
为了实现上述图10所示的实施例,本发明还提出了一种基于安卓Android系统的ARP攻击检测装置。图11是根据本发明又另一个实施例的基于安卓Android系统的ARP攻击检测装置的结构示意图。需要说明的是,本发明实施例的基于安卓Android系统的ARP攻击检测装置可被配置于第一跳设备中。
如图11所示,该基于安卓Android系统的ARP攻击检测装置400可以包括:接收模块410、TTL值更新模块420和发送模块430。
具体地,接收模块410用于接收测试端发送的UDP网络数据包,其中,测试端发送的UDP网络数据包中的目标地址信息为预设的外网IP地址,且测试端发送的UDP网络数据包中设置TTL值为1。
TTL值更新模块420用于将接收到的UDP网络数据包中的TTL值减一。
发送模块430用于在检测当前TTL值为0时,向测试端发送异常ICMP数据包,其中,测试端根据异常ICMP数据包获取路由第一跳的IP地址信息,并根据路由第一跳的IP地址信息和预设的网关IP地址信息,检测当前局域网中是否存在ARP攻击。
在本发明的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
Claims (23)
1.一种基于安卓Android系统的ARP攻击检测方法,其特征在于,包括以下步骤:
发送UDP网络数据包,其中,所述UDP网络数据包中的目标地址信息为预设的外网IP地址,且所述UDP网络数据包中设置TTL值为2;
接收第二跳设备返回的异常ICMP数据包,其中,所述异常ICMP数据包是由所述第二跳设备在接收到所述UDP网络数据包、且将所述TTL值更新为0时发送的;
根据所述异常ICMP数据包获取路由第二跳的IP地址信息;
根据所述路由第二跳的IP地址信息和预设的网关IP地址信息,检测当前局域网中是否存在ARP攻击。
2.如权利要求1所述的方法,其特征在于,所述根据所述异常ICMP数据包获取路由第二跳的IP地址信息,包括:
检测所述异常ICMP数据包的异常类型;
当所述异常类型为TIMEOUT类型时,将所述异常ICMP数据包中的源地址信息作为所述路由第二跳的IP地址信息。
3.如权利要求2所述的方法,其特征在于,所述检测所述异常ICMP数据包的异常类型,包括:
通过网络数据包附加错误信息的获取方法,检测所述异常ICMP数据包的异常类型。
4.如权利要求1至3中任一项所述的方法,其特征在于,所述根据所述路由第二跳的IP地址信息和预设的网关IP地址信息,检测当前局域网中是否存在ARP攻击,包括:
判断所述路由第二跳的IP地址信息是否与预设的网关IP地址信息一致;
如果所述路由第二跳的IP地址信息与预设的网关IP地址信息一致,则判定所述当前局域网中存在ARP攻击。
5.一种基于安卓Android系统的ARP攻击检测方法,其特征在于,包括以下步骤:
接收第一跳设备转发的由测试端发送的UDP网络数据包,其中,所述测试端发送的UDP网络数据包中的目标地址信息为预设的外网IP地址,且所述测试端发送的UDP网络数据包中设置TTL值为2,所述第一跳设备转发的UDP网络数据包中所述TTL值更新为1;
将接收到的所述UDP网络数据包中的所述TTL值减一;
当检测当前TTL值为0时,向所述测试端发送异常ICMP数据包,其中,所述测试端根据所述异常ICMP数据包获取路由第二跳的IP地址信息,并根据所述路由第二跳的IP地址信息和预设的网关IP地址信息,检测当前局域网中是否存在ARP攻击。
6.一种基于安卓Android系统的ARP攻击检测方法,其特征在于,包括以下步骤:
发送UDP网络数据包,其中,所述UDP网络数据包中的目标地址信息为预设的外网IP地址,且所述UDP网络数据包中设置TTL值为1;
接收第一跳设备返回的异常ICMP数据包,其中,所述异常ICMP数据包是由所述第一跳设备在接收到所述UDP网络数据包、且将所述TTL值更新为0时发送的;
根据所述异常ICMP数据包获取路由第一跳的IP地址信息;
根据所述路由第一跳的IP地址信息和预设的网关IP地址信息,检测当前局域网中是否存在ARP攻击。
7.如权利要求6所述的方法,其特征在于,所述根据所述异常ICMP数据包获取路由第一跳的IP地址信息,包括:
检测所述异常ICMP数据包的异常类型;
当所述异常类型为TIMEOUT类型时,将所述异常ICMP数据包中的源地址信息作为所述路由第一跳的IP地址信息。
8.如权利要求7所述的方法,其特征在于,所述检测所述异常ICMP数据包的异常类型,包括:
通过网络数据包附加错误信息的获取方法,检测所述异常ICMP数据包的异常类型。
9.如权利要求6至8中任一项所述的方法,其特征在于,所述根据所述路由第一跳的IP地址信息和预设的网关IP地址信息,检测当前局域网中是否存在ARP攻击,包括:
判断所述路由第一跳的IP地址信息是否与预设的网关IP地址信息一致;
如果所述路由第一跳的IP地址信息与预设的网关IP地址信息不一致,则判定所述当前局域网中存在ARP攻击。
10.一种基于安卓Android系统的ARP攻击检测方法,其特征在于,包括:
接收测试端发送的UDP网络数据包,其中,所述测试端发送的UDP网络数据包中的目标地址信息为预设的外网IP地址,且所述测试端发送的UDP网络数据包中设置TTL值为1;
将接收到的所述UDP网络数据包中的所述TTL值减一;
当检测当前TTL值为0时,向所述测试端发送异常ICMP数据包,其中,所述测试端根据所述异常ICMP数据包获取路由第一跳的IP地址信息,并根据所述路由第一跳的IP地址信息和预设的网关IP地址信息,检测当前局域网中是否存在ARP攻击。
11.一种基于安卓Android系统的ARP攻击检测装置,其特征在于,包括:
发送模块,用于发送UDP网络数据包,其中,所述UDP网络数据包中的目标地址信息为预设的外网IP地址,且所述UDP网络数据包中设置TTL值为2;
接收模块,用于接收第二跳设备返回的异常ICMP数据包,其中,所述异常ICMP数据包是由所述第二跳设备在接收到所述UDP网络数据包、且将所述TTL值更新为0时发送的;
获取模块,用于根据所述异常ICMP数据包获取路由第二跳的IP地址信息;
检测模块,用于根据所述路由第二跳的IP地址信息和预设的网关IP地址信息,检测当前局域网中是否存在ARP攻击。
12.如权利要求11所述的装置,其特征在于,所述获取模块包括:
检测单元,用于检测所述异常ICMP数据包的异常类型;
获取单元,用于在所述异常类型为TIMEOUT类型时,将所述异常ICMP数据包中的源地址信息作为所述路由第二跳的IP地址信息。
13.如权利要求12所述的装置,其特征在于,所述检测单元具体用于:通过网络数据包附加错误信息的获取方法,检测所述异常ICMP数据包的异常类型。
14.如权利要求11至13中任一项所述的装置,其特征在于,所述检测模块包括:
判断单元,用于判断所述路由第二跳的IP地址信息是否与预设的网关IP地址信息一致;
判定单元,用于在所述路由第二跳的IP地址信息与预设的网关IP地址信息一致时,判定所述当前局域网中存在ARP攻击。
15.一种基于安卓Android系统的ARP攻击检测装置,其特征在于,包括:
接收模块,用于接收第一跳设备转发的由测试端发送的UDP网络数据包,其中,所述测试端发送的UDP网络数据包中的目标地址信息为预设的外网IP地址,且所述测试端发送的UDP网络数据包中设置TTL值为2,所述第一跳设备转发的UDP网络数据包中所述TTL值更新为1;
TTL值更新模块,用于将接收到的所述UDP网络数据包中的所述TTL值减一;
发送模块,用于在检测当前TTL值为0时,向所述测试端发送异常ICMP数据包,其中,所述测试端根据所述异常ICMP数据包获取路由第二跳的IP地址信息,并根据所述路由第二跳的IP地址信息和预设的网关IP地址信息,检测当前局域网中是否存在ARP攻击。
16.一种基于安卓Android系统的ARP攻击检测装置,其特征在于,包括:
发送模块,用于发送UDP网络数据包,其中,所述UDP网络数据包中的目标地址信息为预设的外网IP地址,且所述UDP网络数据包中设置TTL值为1;
接收模块,用于接收第一跳设备返回的异常ICMP数据包,其中,所述异常ICMP数据包是由所述第一跳设备在接收到所述UDP网络数据包、且将所述TTL值更新为0时发送的;
获取模块,用于根据所述异常ICMP数据包获取路由第一跳的IP地址信息;
检测模块,用于根据所述路由第一跳的IP地址信息和预设的网关IP地址信息,检测当前局域网中是否存在ARP攻击。
17.如权利要求16所述的装置,其特征在于,所述获取模块包括:
检测单元,用于检测所述异常ICMP数据包的异常类型;
获取单元,用于在所述异常类型为TIMEOUT类型时,将所述异常ICMP数据包中的源地址信息作为所述路由第一跳的IP地址信息。
18.如权利要求17所述的装置,其特征在于,所述检测单元具体用于:
通过网络数据包附加错误信息的获取方法,检测所述异常ICMP数据包的异常类型。
19.如权利要求16至18中任一项所述的装置,其特征在于,所述检测模块包括:
判断单元,用于判断所述路由第一跳的IP地址信息是否与预设的网关IP地址信息一致;
判定单元,用于在所述路由第一跳的IP地址信息与预设的网关IP地址信息不一致时,判定所述当前局域网中存在ARP攻击。
20.一种基于安卓Android系统的ARP攻击检测装置,其特征在于,包括:
接收模块,用于接收测试端发送的UDP网络数据包,其中,所述测试端发送的UDP网络数据包中的目标地址信息为预设的外网IP地址,且所述测试端发送的UDP网络数据包中设置TTL值为1;
TTL值更新模块,用于将接收到的所述UDP网络数据包中的所述TTL值减一;
发送模块,用于在检测当前TTL值为0时,向所述测试端发送异常ICMP数据包,其中,所述测试端根据所述异常ICMP数据包获取路由第一跳的IP地址信息,并根据所述路由第一跳的IP地址信息和预设的网关IP地址信息,检测当前局域网中是否存在ARP攻击。
21.一种基于安卓Android系统的ARP攻击检测系统,其特征在于,包括:
如权利要求11至14中任一项所述的基于安卓Android系统的ARP攻击检测装置;
如权利要求15所述的基于安卓Android系统的ARP攻击检测装置。
22.一种移动终端,其特征在于,包括:壳体、处理器、存储器、电路板和电源电路,其中,所述电路板安置在所述壳体围成的空间内部,所述处理器和所述存储器设置在所述电路板上;所述电源电路,用于为所述移动终端的各个电路或器件供电;所述存储器用于存储可执行程序代码;所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于执行以下步骤:
发送UDP网络数据包,其中,所述UDP网络数据包中的目标地址信息为预设的外网IP地址,且所述UDP网络数据包中设置TTL值为2;
接收第二跳设备返回的异常ICMP数据包,其中,所述异常ICMP数据包是由所述第二跳设备在接收到所述UDP网络数据包、且将所述TTL值更新为0时发送的;
根据所述异常ICMP数据包获取路由第二跳的IP地址信息;
根据所述路由第二跳的IP地址信息和预设的网关IP地址信息,检测当前局域网中是否存在ARP攻击。
23.一种移动终端,其特征在于,包括:壳体、处理器、存储器、电路板和电源电路,其中,所述电路板安置在所述壳体围成的空间内部,所述处理器和所述存储器设置在所述电路板上;所述电源电路,用于为所述移动终端的各个电路或器件供电;所述存储器用于存储可执行程序代码;所述处理器通过读取所述存储器中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于执行以下步骤:
接收第一跳设备转发的由测试端发送的UDP网络数据包,其中,所述测试端发送的UDP网络数据包中的目标地址信息为预设的外网IP地址,且所述测试端发送的UDP网络数据包中设置TTL值为2,所述第一跳设备转发的UDP网络数据包中所述TTL值更新为1;
将接收到的所述UDP网络数据包中的所述TTL值减一;
当检测当前TTL值为0时,向所述测试端发送异常ICMP数据包,其中,所述测试端根据所述异常ICMP数据包获取路由第二跳的IP地址信息,并根据所述路由第二跳的IP地址信息和预设的网关IP地址信息,检测当前局域网中是否存在ARP攻击。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611148018.1A CN106790010B (zh) | 2016-12-13 | 2016-12-13 | 基于Android系统的ARP攻击检测方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611148018.1A CN106790010B (zh) | 2016-12-13 | 2016-12-13 | 基于Android系统的ARP攻击检测方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106790010A CN106790010A (zh) | 2017-05-31 |
CN106790010B true CN106790010B (zh) | 2019-08-27 |
Family
ID=58880977
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611148018.1A Active CN106790010B (zh) | 2016-12-13 | 2016-12-13 | 基于Android系统的ARP攻击检测方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106790010B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110233819B (zh) * | 2019-01-31 | 2022-06-24 | 四川大学 | 一种基于流量监测的智能家居威胁感知与管控系统 |
CN111327592B (zh) * | 2020-01-19 | 2022-11-18 | 陈建慧 | 网络监测方法及相关装置 |
CN113132993B (zh) * | 2021-04-23 | 2023-03-24 | 杭州网银互联科技股份有限公司 | 应用在无线局域网中的数据窃取识别系统及其使用方法 |
CN114980113A (zh) * | 2022-06-17 | 2022-08-30 | 西安紫光展锐科技有限公司 | 终端侧防止arp攻击的方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102035851A (zh) * | 2010-12-28 | 2011-04-27 | 汉柏科技有限公司 | 防arp攻击的方法 |
CN103428032A (zh) * | 2013-08-19 | 2013-12-04 | 杭州华三通信技术有限公司 | 一种攻击定位、辅助定位装置和方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101270041B1 (ko) * | 2011-10-28 | 2013-05-31 | 삼성에스디에스 주식회사 | Arp 스푸핑 공격 탐지 시스템 및 방법 |
-
2016
- 2016-12-13 CN CN201611148018.1A patent/CN106790010B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102035851A (zh) * | 2010-12-28 | 2011-04-27 | 汉柏科技有限公司 | 防arp攻击的方法 |
CN103428032A (zh) * | 2013-08-19 | 2013-12-04 | 杭州华三通信技术有限公司 | 一种攻击定位、辅助定位装置和方法 |
Non-Patent Citations (1)
Title |
---|
"一种检测ARP攻击算法";姚路,马克;《青海师范大学学报》;20140315(第1期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN106790010A (zh) | 2017-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106790010B (zh) | 基于Android系统的ARP攻击检测方法、装置及系统 | |
US8073936B2 (en) | Providing support for responding to location protocol queries within a network node | |
KR101236822B1 (ko) | Arp록킹 기능을 이용한 arp스푸핑 공격 탐지 방법과 그 방법을 실행하기 위한 프로그램이 기록된 기록매체 | |
CN104883680B (zh) | 一种数据保护方法以及用户端 | |
CN105939332B (zh) | 防御arp攻击报文的方法及装置 | |
JPWO2005036831A1 (ja) | フレーム中継装置 | |
CN105897947B (zh) | 移动终端的网络访问方法和装置 | |
Zhao et al. | An SDN‐based fingerprint hopping method to prevent fingerprinting attacks | |
KR20130046895A (ko) | Arp 스푸핑 공격 탐지 시스템 및 방법 | |
KR20080063209A (ko) | 엔드포인트 리소스를 사용하는 네트워크 보안 요소 | |
CN104780139B (zh) | 一种基于mac地址攻击的防御方法和系统 | |
Lee et al. | Defending against spoofed DDoS attacks with path fingerprint | |
CN109067784A (zh) | 一种vxlan中防欺骗的方法和设备 | |
CN110062064A (zh) | 一种地址解析协议arp请求报文响应方法及装置 | |
CN107294797A (zh) | 网络拓扑结构识别方法和系统 | |
CN108123961A (zh) | 信息处理方法、装置及系统 | |
CN113098894A (zh) | 一种基于随机化算法的sdn网络ip地址跳变方法 | |
Granjal et al. | An Intrusion Detection and Prevention Framework for Internet‐Integrated CoAP WSN | |
CN115208606A (zh) | 一种网络安全防范的实现方法、系统及存储介质 | |
CN107689963A (zh) | 一种针对arp应答报文攻击的检测方法及装置 | |
Doshi et al. | Game theoretic modeling of gray hole attacks in wireless ad hoc networks | |
De Montigny-Leboeuf et al. | Passive network discovery for real time situation awareness | |
JP2006330783A (ja) | オーバレイネットワーク生成アプリケーション起動ノード特定装置およびその方法 | |
RU2531878C1 (ru) | Способ обнаружения компьютерных атак в информационно-телекоммуникационной сети | |
CN110401646A (zh) | IPv6安全邻居发现过渡环境中CGA参数探测方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |