CN106161461B - 一种arp报文的处理方法及装置 - Google Patents

一种arp报文的处理方法及装置 Download PDF

Info

Publication number
CN106161461B
CN106161461B CN201610748027.8A CN201610748027A CN106161461B CN 106161461 B CN106161461 B CN 106161461B CN 201610748027 A CN201610748027 A CN 201610748027A CN 106161461 B CN106161461 B CN 106161461B
Authority
CN
China
Prior art keywords
arp
message
carried
address
module
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
Application number
CN201610748027.8A
Other languages
English (en)
Other versions
CN106161461A (zh
Inventor
李冰
初雪宁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Neusoft Corp
Original Assignee
Neusoft Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Neusoft Corp filed Critical Neusoft Corp
Priority to CN201610748027.8A priority Critical patent/CN106161461B/zh
Publication of CN106161461A publication Critical patent/CN106161461A/zh
Application granted granted Critical
Publication of CN106161461B publication Critical patent/CN106161461B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/10Mapping addresses of different types
    • H04L61/103Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures 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)
  • Small-Scale Networks (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开一种ARP报文的处理方法及装置,所述方法包括:网络设备在接收任一ARP报文后,首先对所述ARP报文进行真实性验证。当所述ARP报文通过所述真实性验证后,利用所述ARP报文进行ARP表项的新建或更新。利用本发明提供的ARP报文处理方法能够有效避免网络中伪造ARP报文的恶意攻击。

Description

一种ARP报文的处理方法及装置
技术领域
本发明涉及数据处理领域,具体涉及一种ARP报文的处理方法及装置。
背景技术
ARP(英文:Address Resolution Protocol;中文:地址解析协议)是以太网等数据链路层的基础协议,用于完成IP地址到MAC地址的映射。实际应用过程中,当任一网络设备(如主机或网关)需要解析某个IP地址对应的MAC地址时,会发送广播ARP请求报文。一旦接收到返回的ARP应答报文,则该网络设备会将发送该ARP应答报文的源IP地址和源MAC地址的映射关系记录下来,生成ARP表项。
由上述ARP表项的生成机制可以看出,ARP协议是建立在网络中各个网络设备之间互相信任的基础上的,没有任何安全机制。网络中的网络设备可以自主发送ARP报文,其他网络设备收到ARP报文后不会检测该ARP报文的真实性,而是直接将其记录下来,存入本机ARP缓存中。如果网络中存在恶意攻击者,则攻击者可以发送伪造ARP报文对网络进行攻击。
发明内容
本发明提供了一种ARP报文的处理方法及装置,能够有效避免网络中伪造ARP报文的恶意攻击。
基于以上目的,本发明提供了一种ARP报文的处理方法,所述方法包括:
接收任一ARP报文后,对所述ARP报文进行真实性验证;
当所述ARP报文通过所述真实性验证后,利用所述ARP报文进行ARP表项的新建或更新。
优选地,所述对所述ARP报文进行真实性验证,包括:
当本地不存在包括所述ARP报文携带的源IP地址的ARP表项时,发送广播ARP请求报文,所述ARP请求报文用于请求与所述源IP地址对应的MAC地址;
在预设时间内,接收到针对所述广播ARP请求报文返回的ARP应答报文后,解析所述ARP应答报文,得到所述ARP应答报文中携带的MAC地址;
比较所述ARP应答报文中携带的MAC地址与所述ARP报文中携带的源MAC地址是否相同;如果相同,则确定所述ARP报文通过所述真实性验证。
优选地,所述对所述ARP报文进行真实性验证之前,还包括:
当本地存储有包括所述ARP报文携带的源IP地址的ARP表项时,比较所述ARP表项中的MAC地址与所述ARP报文中携带的源MAC地址是否相同;
如果不相同,则执行所述对所述ARP报文进行真实性验证的步骤。
优选地,所述对所述ARP报文进行真实性验证之前,还包括:
如果所述ARP表项中的MAC地址与所述ARP报文中携带的MAC地址不相同,则判断所述ARP表项的刷新时间是否超过预设时间;
如果所述ARP表项的刷新时间超过所述预设时间,则执行所述对所述ARP报文进行真实性验证的步骤。
优选地,所述对所述ARP报文进行真实性验证,包括:
以所述ARP表项中的MAC地址和IP地址为目的地址,发送单播ARP请求报文;
在预设时间内,接收到针对所述单播ARP请求报文返回的ARP应答报文后,解析所述ARP应答报文,得到所述ARP应答报文中携带的MAC地址;
比较所述ARP应答报文中携带的MAC地址与所述ARP表项中的MAC地址是否相同;如果相同,则确定所述ARP报文未通过所述真实性验证,丢弃所述ARP报文。
优选地,所述对所述ARP报文进行真实性验证,还包括:
如果所述ARP应答报文中携带的MAC地址与所述ARP表项中的MAC地址不相同,则以所述ARP报文携带的源IP地址和源MAC地址为目的地址,发送单播ARP请求报文;
在预设时间内,接收到针对所述单播ARP请求报文返回的ARP应答报文后,解析所述ARP应答报文,得到所述ARP应答报文中携带的MAC地址;
比较所述ARP应答报文中携带的MAC地址与所述ARP报文中携带的源MAC地址是否相同;如果相同,则确定所述ARP报文通过所述真实性验证。
优选地,所述对所述ARP报文进行真实性验证,包括:
以所述ARP报文携带的源IP地址和源MAC地址为目的地址,发送单播ARP请求报文;
在预设时间内,接收到针对所述单播ARP请求报文返回的ARP应答报文后,解析所述ARP应答报文,得到所述ARP应答报文中携带的MAC地址;
比较所述ARP应答报文中携带的MAC地址与所述ARP报文中携带的源MAC地址是否相同;如果相同,则确定所述ARP报文通过所述真实性验证。
优选地,所述对所述ARP报文进行真实性验证之前,还包括:
解析所述ARP报文,得到所述ARP报文中携带的源MAC地址;
比较所述ARP报文中携带的源MAC地址与以太网数据帧首部的报文中携带的源MAC地址是否相同;如果相同,则执行所述对所述ARP报文进行真实性验证的步骤,如果不同,则丢弃所述ARP报文。
本发明还提供了一种ARP报文的处理装置,所述装置包括:
验证模块,用于接收任一ARP报文后,对所述ARP报文进行真实性验证;
处理模块,用于当所述ARP报文通过所述真实性验证后,利用所述ARP报文进行ARP表项的新建或更新。
优选地,所述验证模块,包括:
第一发送子模块,用于当本地不存在包括所述ARP报文携带的源IP地址的ARP表项时,发送广播ARP请求报文,所述ARP请求报文用于请求与所述源IP地址对应的MAC地址;
第一解析子模块,用于在预设时间内,接收到针对所述广播ARP请求报文返回的ARP应答报文后,解析所述ARP应答报文,得到所述ARP应答报文中携带的MAC地址;
第一比较子模块,用于比较所述ARP应答报文中携带的MAC地址与所述ARP报文中携带的源MAC地址是否相同;
第一确定子模块,用于在所述第一比较子模块的结果为是时,确定所述ARP报文通过所述真实性验证。
优选地,所述装置还包括:
第一比较模块,用于当本地存储有包括所述ARP报文携带的源IP地址的ARP表项时,比较所述ARP表项中的MAC地址与所述ARP报文中携带的源MAC地址是否相同;
第一触发模块,用于在所述第一比较模块的结果为否时,触发所述验证模块。
优选地,所述装置,还包括:
判断模块,用于在所述第一比较模块的结果为否时,判断所述ARP表项的刷新时间是否超过预设时间;
所述第一触发模块,具体用于在判断模块的结果为是时,触发所述验证模块。
优选地,所述验证模块,包括:
第二发送子模块,用于以所述ARP表项中的MAC地址和IP地址为目的地址,发送单播ARP请求报文;
第二解析子模块,用于在预设时间内,接收到针对所述单播ARP请求报文返回的ARP应答报文后,解析所述ARP应答报文,得到所述ARP应答报文中携带的MAC地址;
第二比较子模块,用于比较所述ARP应答报文中携带的MAC地址与所述ARP表项中的MAC地址是否相同;
第二确定子模块,用于在所述第二比较子模块的结果为是时,则确定所述ARP报文未通过所述真实性验证,丢弃所述ARP报文。
优选地,所述验证模块,还包括:
第三发送子模块,用于在所述第二比较子模块的结果为否时,以所述ARP报文携带的源IP地址和源MAC地址为目的地址,发送单播ARP请求报文;
第三解析子模块,用于在预设时间内,接收到针对所述单播ARP请求报文返回的ARP应答报文后,解析所述ARP应答报文,得到所述ARP应答报文中携带的MAC地址;
第三比较子模块,用于比较所述ARP应答报文中携带的MAC地址与所述ARP报文中携带的源MAC地址是否相同;
第三确定子模块,用于在所述第三比较子模块的结果为是时,确定所述ARP报文通过所述真实性验证。
优选地,所述验证模块,包括:
第四发送子模块,用于以所述ARP报文携带的源IP地址和源MAC地址为目的地址,发送单播ARP请求报文;
第四解析子模块,用于在预设时间内,接收到针对所述单播ARP请求报文返回的ARP应答报文后,解析所述ARP应答报文,得到所述ARP应答报文中携带的MAC地址;
第四比较子模块,用于比较所述ARP应答报文中携带的MAC地址与所述ARP报文中携带的源MAC地址是否相同;
第四确定子模块,用于在所述第四比较子模块的结果为是时,确定所述ARP报文通过所述真实性验证。
优选地,所述装置,还包括:
解析模块,用于解析所述ARP报文,得到所述ARP报文中携带的源MAC地址;
第二比较模块,用于比较所述ARP报文中携带的源MAC地址与以太网数据帧首部的报文中携带的源MAC地址是否相同;
第二触发模块,用于在所述第二比较模块的结果为是时,触发所述验证模块;
丢弃模块,用于在所述第二比较模块的结果为否时,丢弃所述ARP报文。
本发明提供了一种ARP报文的处理方法,网络设备在接收任一ARP报文后,首先对所述ARP报文进行真实性验证。当所述ARP报文通过所述真实性验证后,利用所述ARP报文进行ARP表项的新建或更新。利用本发明提供的ARP报文处理方法能够有效避免网络中伪造ARP报文的恶意攻击。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种ARP报文的处理方法流程图;
图2为本发明实施例提供的另一种ARP报文的处理方法流程图;
图3为本发明实施例提供的一种利用ARP报文新建ARP表项的方法流程图;
图4为本发明实施例提供的一种利用ARP报文更新ARP表项的方法流程图;
图5为本发明实施例提供的另一种利用ARP报文更新ARP表项的方法流程图;
图6为本发明实施例提供的另一种利用ARP报文更新ARP表项的方法流程图;
图7为本发明实施例提供的一种ARP报文的处理装置结构示意图;
图8为本发明实施例提供的一种利用ARP报文新建ARP表项的验证模块的结构示意图;
图9为本发明实施例提供的一种利用ARP报文更新ARP表项的验证模块的结构示意图;
图10为本发明实施例提供的另一种利用ARP报文更新ARP表项的验证模块的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
以下进行实施例具体内容的介绍。
本发明实施例提供了一种ARP报文的处理方法,参考图1,为本发明实施例提供的一种ARP报文的处理方法流程图,所述方法具体包括:
S101:接收任一ARP报文后,对所述ARP报文进行真实性验证。
S102:当所述ARP报文通过所述真实性验证后,利用所述ARP报文进行ARP表项的新建或更新。
本发明实施例中,网络中的各个网络设备(如主机或网关)均可以作为ARP报文的接收方。当任一网络设备接收到任一ARP报文后,为了避免该ARP报文是伪造ARP报文而造成的安全威胁,首先对该ARP报文进行真实性验证,以便验证该ARP报文是否为伪造ARP报文。如果该ARP报文通过了真实性验证,则该网络设备可以直接利用该ARP报文进行ARP表项的新建或更新。如果该ARP报文未通过真实性验证,则说明该ARP报文为伪造ARP报文,所述网络设备可以直接丢弃该ARP报文。
本发明实施例提供的ARP报文的处理方法,通过对接收到的ARP报文进行真实性,并在该ARP报文通过所述真实性验证后,才利用ARP报文进行ARP表项的新建或更新,能够准确识别出伪造ARP报文,很大程度上避免攻击者发起的网络攻击。
本发明还提供了一种ARP报文的处理方法,参考图2,图2为本发明实施例提供的另一种ARP报文的处理方法流程图。所述方法包括:
S201:网络设备接收任一ARP报文后,解析所述ARP报文,得到所述ARP报文携带的源IP地址和MAC地址;
S202:所述网络设备判断本地是否存储有包括所述源IP地址的ARP表项;如果不存在,则执行S203,否则,执行S204。
S203:对所述ARP报文进行真实性验证,并在所述ARP报文通过所述真实性验证后,利用所述ARP报文进行ARP表项的新建。
S204:比较所述ARP表项中的MAC地址与所述ARP报文中携带的MAC地址是否相同;如果不相同,则执行S205。
S205:对所述ARP报文进行真实性验证,并在所述ARP报文通过所述真实性验证后,利用所述ARP报文进行ARP表项的更新。
本发明实施例中,网络设备在接收到ARP报文后,首先判断本地是否存储有包括该ARP报文携带的源IP地址的ARP表项,如果本地存在,则说明可能是利用该ARP报文进行ARP表项的更新,如果本地不存在,则说明可能是利用该ARP报文进行ARP表项的新建。值得注意的是,无论是ARP表项的新建,还是ARP表项的更新,所述网络设备都需要首先对该ARP报文进行真实性的验证,只有验证通过,才能利用该ARP报文进行ARP表项的新建或更新。
本发明实施例还提供了一种ARP报文的处理方法,参考图3,为本发明实施例提供的一种利用ARP报文新建ARP表项的方法流程图。具体的,所述方法包括:
S301:网络设备确定本地不存在包括ARP报文携带的源IP地址的ARP表项时,发送广播ARP请求报文,所述ARP请求报文用于请求与所述源IP地址对应的MAC地址。
S302:所述网络设备在预设时间内,接收到针对所述广播ARP请求报文返回的ARP应答报文后,解析所述ARP应答报文,得到所述ARP应答报文中携带的MAC地址。
如果发送广播ARP请求报文到接收ARP应答报文的时间超过预设时间,则对接收到的ARP应答报文进行丢弃。
S303:比较所述ARP应答报文中携带的MAC地址与所述ARP报文中携带的源MAC地址是否相同;如果相同,则执行S304。
S304:确定所述ARP报文通过所述真实性验证,并根据所述ARP报文携带的源IP地址和源MAC地址的对应关系,新建ARP表项。
本发明实施例中,网络设备发送广播ARP请求报文的目的是获取与所述ARP报文携带的源IP地址具有对应关系的MAC地址,则针对该广播的ARP应答报文中携带的MAC地址即为真正的与该源IP地址具有对应关系的MAC地址。如果该MAC地址与所述ARP报文中携带的源MAC地址相同,则说明所述ARP报文并不是伪造ARP报文,确定所述ARP报文通过所述真实性验证。
本发明实施例还提供了一种ARP报文的处理方法,参考图3,为本发明实施例提供的一种利用ARP报文更新ARP表项的方法流程图。具体的,所述方法包括:
S401:网络设备确定本地存储有包括所述ARP报文携带的源IP地址的ARP表项时,比较所述ARP表项中的MAC地址与所述ARP报文中携带的源MAC地址是否相同;如果不同,则执行S402,否则不需要更新ARP表项。
S402:所述网络设备判断所述ARP表项的刷新时间是否超过预设时间;如果是,则执行S403,否则不需要更新ARP表项。
S403:所述网络设备以所述ARP表项中的MAC地址和IP地址为目的地址,发送单播ARP请求报文;
S404:在预设时间内,接收到针对所述单播ARP请求报文返回的ARP应答报文后,解析所述ARP应答报文,得到所述ARP应答报文中携带的MAC地址;
S405:比较所述ARP应答报文中携带的MAC地址与所述ARP表项中的MAC地址是否相同;如果相同,则执行S406。
S406:确定所述ARP报文未通过所述真实性验证,丢弃所述ARP报文。
本发明实施例中,由于更新ARP表项的前提是ARP表项中的MAC地址与所述ARP报文中携带的源MAC地址不相同,所以,如果ARP应答报文中携带的MAC地址与ARP表项中的MAC地址相同,则从另一个角度说明ARP应答报文中携带的MAC地址与ARP报文中携带的源MAC地址不相同。理论上,ARP应答报文中携带的MAC地址是最新的,所以,所述网络设备可以确定ARP报文是伪造ARP报文,确定所述ARP报文未通过所述真实性验证,直接丢弃所述ARP报文即可。一种优选的更新ARP表项的方式中,由于ARP应答报文中携带的MAC地址是最新的,所以可以直接利用ARP应答报文中携带的MAC地址更新ARP表项。
如果所述ARP应答报文中携带的MAC地址与所述ARP表项中的MAC地址不相同,不能说明所述ARP报文是否为伪造ARP报文,需要进一步对其进行真实性验证。
针对这种情况,本发明实施例还提供了一种ARP报文的处理方法,参考图5,为本发明实施例提供的另一种利用ARP报文更新ARP表项的方法流程图。具体的,所述方法包括:
S501:如果针对以ARP表项中的MAC地址和IP地址为目的地址发送的单播ARP请求报文而返回的ARP应答报文中携带的MAC地址与所述ARP表项中的MAC地址不相同,则网络设备以所述ARP报文携带的源IP地址和源MAC地址为目的地址,发送单播ARP请求报文。
S502:在预设时间内,接收到针对所述单播ARP请求报文返回的ARP应答报文后,解析所述ARP应答报文,得到所述ARP应答报文中携带的MAC地址。
S503:比较所述ARP应答报文中携带的MAC地址与所述ARP报文中携带的源MAC地址是否相同;如果相同,则执行S504。
S504:确定所述ARP报文通过所述真实性验证。
本发明实施例中,当所述ARP应答报文中携带的MAC地址与所述ARP表项中的MAC地址不相同时,不能确定所述ARP报文是否为伪造ARP报文,则进一步对所述ARP报文进行真实性验证。具体的,以所述ARP报文携带的源IP地址和源MAC地址为目的地址,发送单播ARP请求报文,预设时间内接收到的ARP应答报文携带的MAC地址与所述ARP报文中携带的源MAC地址相同,则可以说明所述ARP报文不是伪造ARP报文,确定其通过真实性验证,后续能够利用该ARP报文携带的源IP地址和源MAC地址的对应关系更新ARP表项。
如果所述ARP应答报文携带的MAC地址与所述ARP报文中携带的源MAC地址不相同,则说明所述ARP报文是伪造ARP报文,直接丢弃即可。
另外,本发明实施例还提供了一种ARP报文的处理方法,参考图6,为本发明实施例提供的另一种利用ARP报文更新ARP表项的方法流程图。具体的,所述方法包括:
S601:当网络设备确定所述ARP表项中的MAC地址与所述ARP报文中携带的源MAC地址不相同时,以所述ARP报文携带的源IP地址和源MAC地址为目的地址,发送单播ARP请求报文。
S602:在预设时间内,接收到针对所述单播ARP请求报文返回的ARP应答报文后,解析所述ARP应答报文,得到所述ARP应答报文中携带的MAC地址;
S603:比较所述ARP应答报文中携带的MAC地址与所述ARP报文中携带的源MAC地址是否相同;如果相同,则执行S604。
S604:确定所述ARP报文通过所述真实性验证。
上述实施方式中,一旦网络设备确定本地ARP表项需要更新,则直接验证所述ARP报文是否为伪造报文,也就是说,如果所述ARP报文通过真实性验证,则可以直接利用所述ARP报文携带的源IP地址和源MAC地址的对应关系更新ARP表项。
具体的,这种实施方式中验证所述ARP报文的真实性的方法为:以所述ARP报文携带的源IP地址和源MAC地址为目的地址,发送单播ARP请求报文,在预设时间内接收到的ARP应答报文携带的MAC地址与所述ARP报文中携带的源MAC地址相同,则说明该ARP报文不是伪造ARP报文,可以直接利用该ARP报文更新ARP表项。
由于局域网内有些伪造ARP报文中携带的源MAC地址与以太网数据帧首部的报文中携带的源MAC地址是不一致的,所以本发明实施例可以在接收到任一ARP报文之后,首先比较所述ARP报文中携带的源MAC地址与以太网数据帧首部的报文中携带的源MAC地址是否相同。如果相同,则继续执行所述对所述ARP报文进行真实性验证的步骤,如果不同,则直接丢弃所述ARP报文。通过上述处理,本发明实施例能够在对ARP报文进行真实性验证之前,直接筛除一部分伪造ARP报文,一定程度上节约了系统处理资源。
本发明实施例提供了一种ARP报文的处理装置,参考图7,为本发明实施例提供的一种ARP报文的处理装置结构示意图,所述装置包括:
验证模块710,用于接收任一ARP报文后,对所述ARP报文进行真实性验证;
处理模块720,用于当所述ARP报文通过所述真实性验证后,利用所述ARP报文进行ARP表项的新建或更新。
参考图8,为本发明实施例提供的一种利用ARP报文新建ARP表项的验证模块的结构示意图,所述验证模块710,包括:
第一发送子模块801,用于当本地不存在包括所述ARP报文携带的源IP地址的ARP表项时,发送广播ARP请求报文,所述ARP请求报文用于请求与所述源IP地址对应的MAC地址;
第一解析子模块802,用于在预设时间内,接收到针对所述广播ARP请求报文返回的ARP应答报文后,解析所述ARP应答报文,得到所述ARP应答报文中携带的MAC地址;
第一比较子模块803,用于比较所述ARP应答报文中携带的MAC地址与所述ARP报文中携带的源MAC地址是否相同;
第一确定子模块804,用于在所述第一比较子模块的结果为是时,确定所述ARP报文通过所述真实性验证。
另外,一种优选实施方式中,所述ARP报文的处理装置还可以包括:
第一比较模块,用于当本地存储有包括所述ARP报文携带的源IP地址的ARP表项时,比较所述ARP表项中的MAC地址与所述ARP报文中携带的源MAC地址是否相同;
第一触发模块,用于在所述第一比较模块的结果为否时,触发所述验证模块。
另一种优选实施方式中,所述ARP报文的处理装置还可以包括:
判断模块,用于在所述第一比较模块的结果为否时,判断所述ARP表项的刷新时间是否超过预设时间;
所述第一触发模块,具体用于在判断模块的结果为是时,触发所述验证模块。
参考图9,为本发明实施例提供的一种利用ARP报文更新ARP表项的验证模块的结构示意图,所述验证模块710,包括:
第二发送子模块901,用于以所述ARP表项中的MAC地址和IP地址为目的地址,发送单播ARP请求报文;
第二解析子模块902,用于在预设时间内,接收到针对所述单播ARP请求报文返回的ARP应答报文后,解析所述ARP应答报文,得到所述ARP应答报文中携带的MAC地址;
第二比较子模块903,用于比较所述ARP应答报文中携带的MAC地址与所述ARP表项中的MAC地址是否相同;
第二确定子模块904,用于在所述第二比较子模块的结果为是时,则确定所述ARP报文未通过所述真实性验证,丢弃所述ARP报文。
第三发送子模块905,用于在所述第二比较子模块的结果为否时,以所述ARP报文携带的源IP地址和源MAC地址为目的地址,发送单播ARP请求报文;
第三解析子模块906,用于在预设时间内,接收到针对所述单播ARP请求报文返回的ARP应答报文后,解析所述ARP应答报文,得到所述ARP应答报文中携带的MAC地址;
第三比较子模块907,用于比较所述ARP应答报文中携带的MAC地址与所述ARP报文中携带的源MAC地址是否相同;
第三确定子模块908,用于在所述第三比较子模块的结果为是时,确定所述ARP报文通过所述真实性验证。
参考图10,为本发明实施例提供的另一种利用ARP报文更新ARP表项的验证模块的结构示意图,所述验证模块710,包括:
第四发送子模块1001,用于以所述ARP报文携带的源IP地址和源MAC地址为目的地址,发送单播ARP请求报文;
第四解析子模块1002,用于在预设时间内,接收到针对所述单播ARP请求报文返回的ARP应答报文后,解析所述ARP应答报文,得到所述ARP应答报文中携带的MAC地址;
第四比较子模块1003,用于比较所述ARP应答报文中携带的MAC地址与所述ARP报文中携带的源MAC地址是否相同;
第四确定子模块1004,用于在所述第四比较子模块的结果为是时,确定所述ARP报文通过所述真实性验证。
由于局域网内有些伪造ARP报文中携带的源MAC地址与以太网数据帧首部的报文中携带的源MAC地址是不一致的,所以本发明实施例提供的ARP报文的处理装置,还可以包括:
解析模块,用于解析所述ARP报文,得到所述ARP报文中携带的源MAC地址;
第二比较模块,用于比较所述ARP报文中携带的源MAC地址与以太网数据帧首部的报文中携带的源MAC地址是否相同;
第二触发模块,用于在所述第二比较模块的结果为是时,触发所述验证模块;
丢弃模块,用于在所述第二比较模块的结果为否时,丢弃所述ARP报文。
本发明实施例提供的ARP报文的处理装置能够实现以下功能:在接收任一ARP报文后,首先对所述ARP报文进行真实性验证。当所述ARP报文通过所述真实性验证后,利用所述ARP报文进行ARP表项的新建或更新。利用本发明实施例提供的ARP报文处理装置能够有效避免网络中伪造ARP报文的恶意攻击。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明实施例所提供的一种ARP报文的处理方法及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (14)

1.一种ARP报文的处理方法,其特征在于,所述方法包括:
接收任一ARP报文后,对所述ARP报文进行真实性验证;
当所述ARP报文通过所述真实性验证后,利用所述ARP报文进行ARP表项的新建或更新;
所述对所述ARP报文进行真实性验证,包括:
当本地不存在包括所述ARP报文携带的源IP地址的ARP表项时,发送广播ARP请求报文,所述ARP请求报文用于请求与所述源IP地址对应的MAC地址;
在预设时间内,接收到针对所述广播ARP请求报文返回的ARP应答报文后,解析所述ARP应答报文,得到所述ARP应答报文中携带的MAC地址;
比较所述ARP应答报文中携带的MAC地址与所述ARP报文中携带的源MAC地址是否相同;如果相同,则确定所述ARP报文通过所述真实性验证。
2.根据权利要求1所述的ARP报文的处理方法,其特征在于,所述对所述ARP报文进行真实性验证之前,还包括:
当本地存储有包括所述ARP报文携带的源IP地址的ARP表项时,比较所述ARP表项中的MAC地址与所述ARP报文中携带的源MAC地址是否相同;
如果不相同,则执行所述对所述ARP报文进行真实性验证的步骤。
3.根据权利要求2所述的ARP报文的处理方法,其特征在于,所述对所述ARP报文进行真实性验证之前,还包括:
如果所述ARP表项中的MAC地址与所述ARP报文中携带的MAC地址不相同,则判断所述ARP表项的刷新时间是否超过预设时间;
如果所述ARP表项的刷新时间超过所述预设时间,则执行所述对所述ARP报文进行真实性验证的步骤。
4.根据权利要求2或3所述的ARP报文的处理方法,其特征在于,所述对所述ARP报文进行真实性验证,包括:
以所述ARP表项中的MAC地址和IP地址为目的地址,发送单播ARP请求报文;
在预设时间内,接收到针对所述单播ARP请求报文返回的ARP应答报文后,解析所述ARP应答报文,得到所述ARP应答报文中携带的MAC地址;
比较所述ARP应答报文中携带的MAC地址与所述ARP表项中的MAC地址是否相同;如果相同,则确定所述ARP报文未通过所述真实性验证,丢弃所述ARP报文。
5.根据权利要求4所述的ARP报文的处理方法,其特征在于,所述对所述ARP报文进行真实性验证,还包括:
如果所述ARP应答报文中携带的MAC地址与所述ARP表项中的MAC地址不相同,则以所述ARP报文携带的源IP地址和源MAC地址为目的地址,发送单播ARP请求报文;
在预设时间内,接收到针对所述单播ARP请求报文返回的ARP应答报文后,解析所述ARP应答报文,得到所述ARP应答报文中携带的MAC地址;
比较所述ARP应答报文中携带的MAC地址与所述ARP报文中携带的源MAC地址是否相同;如果相同,则确定所述ARP报文通过所述真实性验证。
6.根据权利要求2或3所述的ARP报文的处理方法,其特征在于,所述对所述ARP报文进行真实性验证,包括:
以所述ARP报文携带的源IP地址和源MAC地址为目的地址,发送单播ARP请求报文;
在预设时间内,接收到针对所述单播ARP请求报文返回的ARP应答报文后,解析所述ARP应答报文,得到所述ARP应答报文中携带的MAC地址;
比较所述ARP应答报文中携带的MAC地址与所述ARP报文中携带的源MAC地址是否相同;如果相同,则确定所述ARP报文通过所述真实性验证。
7.根据权利要求1所述的ARP报文的处理方法,其特征在于,所述对所述ARP报文进行真实性验证之前,还包括:
解析所述ARP报文,得到所述ARP报文中携带的源MAC地址;
比较所述ARP报文中携带的源MAC地址与以太网数据帧首部的报文中携带的源MAC地址是否相同;如果相同,则执行所述对所述ARP报文进行真实性验证的步骤,如果不同,则丢弃所述ARP报文。
8.一种ARP报文的处理装置,其特征在于,所述装置包括:
验证模块,用于接收任一ARP报文后,对所述ARP报文进行真实性验证;
处理模块,用于当所述ARP报文通过所述真实性验证后,利用所述ARP报文进行ARP表项的新建或更新;
所述验证模块,包括:
第一发送子模块,用于当本地不存在包括所述ARP报文携带的源IP地址的ARP表项时,发送广播ARP请求报文,所述ARP请求报文用于请求与所述源IP地址对应的MAC地址;
第一解析子模块,用于在预设时间内,接收到针对所述广播ARP请求报文返回的ARP应答报文后,解析所述ARP应答报文,得到所述ARP应答报文中携带的MAC地址;
第一比较子模块,用于比较所述ARP应答报文中携带的MAC地址与所述ARP报文中携带的源MAC地址是否相同;
第一确定子模块,用于在所述第一比较子模块的结果为是时,确定所述ARP报文通过所述真实性验证。
9.根据权利要求8所述的ARP报文的处理装置,其特征在于,所述装置还包括:
第一比较模块,用于当本地存储有包括所述ARP报文携带的源IP地址的ARP表项时,比较所述ARP表项中的MAC地址与所述ARP报文中携带的源MAC地址是否相同;
第一触发模块,用于在所述第一比较模块的结果为否时,触发所述验证模块。
10.根据权利要求9所述的ARP报文的处理装置,其特征在于,所述装置,还包括:
判断模块,用于在所述第一比较模块的结果为否时,判断所述ARP表项的刷新时间是否超过预设时间;
所述第一触发模块,具体用于在判断模块的结果为是时,触发所述验证模块。
11.根据权利要求9或10所述的ARP报文的处理装置,其特征在于,所述验证模块,包括:
第二发送子模块,用于以所述ARP表项中的MAC地址和IP地址为目的地址,发送单播ARP请求报文;
第二解析子模块,用于在预设时间内,接收到针对所述单播ARP请求报文返回的ARP应答报文后,解析所述ARP应答报文,得到所述ARP应答报文中携带的MAC地址;
第二比较子模块,用于比较所述ARP应答报文中携带的MAC地址与所述ARP表项中的MAC地址是否相同;
第二确定子模块,用于在所述第二比较子模块的结果为是时,则确定所述ARP报文未通过所述真实性验证,丢弃所述ARP报文。
12.根据权利要求11所述的ARP报文的处理装置,其特征在于,所述验证模块,还包括:
第三发送子模块,用于在所述第二比较子模块的结果为否时,以所述ARP报文携带的源IP地址和源MAC地址为目的地址,发送单播ARP请求报文;
第三解析子模块,用于在预设时间内,接收到针对所述单播ARP请求报文返回的ARP应答报文后,解析所述ARP应答报文,得到所述ARP应答报文中携带的MAC地址;
第三比较子模块,用于比较所述ARP应答报文中携带的MAC地址与所述ARP报文中携带的源MAC地址是否相同;
第三确定子模块,用于在所述第三比较子模块的结果为是时,确定所述ARP报文通过所述真实性验证。
13.根据权利要求9或10所述的ARP报文的处理装置,其特征在于,所述验证模块,包括:
第四发送子模块,用于以所述ARP报文携带的源IP地址和源MAC地址为目的地址,发送单播ARP请求报文;
第四解析子模块,用于在预设时间内,接收到针对所述单播ARP请求报文返回的ARP应答报文后,解析所述ARP应答报文,得到所述ARP应答报文中携带的MAC地址;
第四比较子模块,用于比较所述ARP应答报文中携带的MAC地址与所述ARP报文中携带的源MAC地址是否相同;
第四确定子模块,用于在所述第四比较子模块的结果为是时,确定所述ARP报文通过所述真实性验证。
14.根据权利要求8所述的ARP报文的处理装置,其特征在于,所述装置,还包括:
解析模块,用于解析所述ARP报文,得到所述ARP报文中携带的源MAC地址;
第二比较模块,用于比较所述ARP报文中携带的源MAC地址与以太网数据帧首部的报文中携带的源MAC地址是否相同;
第二触发模块,用于在所述第二比较模块的结果为是时,触发所述验证模块;
丢弃模块,用于在所述第二比较模块的结果为否时,丢弃所述ARP报文。
CN201610748027.8A 2016-08-29 2016-08-29 一种arp报文的处理方法及装置 Active CN106161461B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610748027.8A CN106161461B (zh) 2016-08-29 2016-08-29 一种arp报文的处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610748027.8A CN106161461B (zh) 2016-08-29 2016-08-29 一种arp报文的处理方法及装置

Publications (2)

Publication Number Publication Date
CN106161461A CN106161461A (zh) 2016-11-23
CN106161461B true CN106161461B (zh) 2019-06-07

Family

ID=57345103

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610748027.8A Active CN106161461B (zh) 2016-08-29 2016-08-29 一种arp报文的处理方法及装置

Country Status (1)

Country Link
CN (1) CN106161461B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106911724B (zh) * 2017-04-27 2020-03-06 杭州迪普科技股份有限公司 一种报文处理方法及装置
CN109274781B (zh) * 2018-08-10 2022-04-26 新华三技术有限公司 Arp表项刷新方法和装置
CN110022569A (zh) * 2018-12-17 2019-07-16 杭州全维技术股份有限公司 一种基于内核的抑制arp和dhcp广播报文的无线性能优化方法
CN111835764B (zh) * 2020-07-13 2023-04-07 中国联合网络通信集团有限公司 一种arp防欺骗方法、隧道端点以及电子设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101997768A (zh) * 2009-08-21 2011-03-30 华为技术有限公司 一种上送地址解析协议报文的方法和装置
CN105939332A (zh) * 2016-03-03 2016-09-14 杭州迪普科技有限公司 防御arp攻击报文的方法及装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101997768A (zh) * 2009-08-21 2011-03-30 华为技术有限公司 一种上送地址解析协议报文的方法和装置
CN105939332A (zh) * 2016-03-03 2016-09-14 杭州迪普科技有限公司 防御arp攻击报文的方法及装置

Also Published As

Publication number Publication date
CN106161461A (zh) 2016-11-23

Similar Documents

Publication Publication Date Title
CN106161461B (zh) 一种arp报文的处理方法及装置
US8365284B2 (en) Method for protecting a packet-based network from attacks, and security border node
CN111130931B (zh) 一种违规外联设备的检测方法及装置
CN101175013B (zh) 一种拒绝服务攻击防护方法、网络系统和代理服务器
CN105262738B (zh) 一种路由器及其防arp攻击的方法
CN105960781A (zh) 利用基于公钥的数字签名保护源路由的方法与系统
CN102075537B (zh) 一种实现虚拟机间数据传输的方法和系统
CN101340293B (zh) 一种报文安全检查方法和装置
CN101572700A (zh) 一种HTTP Flood分布式拒绝服务攻击防御方法
CN101179566A (zh) 一种防御arp报文攻击的方法和装置
CN106470136B (zh) 平台测试方法以及平台测试系统
CN103491065A (zh) 一种透明代理及其实现方法
CN106657035B (zh) 一种网络报文传输方法及装置
CN105812318B (zh) 用于在网络中防止攻击的方法、控制器和系统
CN102404334A (zh) 拒绝服务攻击防护方法及装置
CN106130985A (zh) 一种报文处理方法及装置
CN101616078A (zh) 一种路径最大传输单元的发现方法、路由器及节点设备
CN106487807A (zh) 一种域名解析的防护方法和装置
CN107690004A (zh) 地址解析协议报文的处理方法及装置
CN101009692A (zh) 硬件地址解析方法及通信处理设备及报文处理方法
CN101330409B (zh) 一种检测网络漏洞的方法和系统
EP2538623A1 (en) Detecting phishing attempt from packets marked by network nodes
WO2005065020A2 (en) A method for speeding up the pass time of an executable through a checkpoint
CN107241297A (zh) 通信拦截方法及装置、服务器
CN107547431B (zh) 报文处理方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant