基于多层协同的视频物联网设备安全发现方法及装置转让专利

申请号 : CN202211326048.2

文献号 : CN115426398B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王滨刘松万里赵海涛史治国何承润

申请人 : 杭州海康威视数字技术股份有限公司

摘要 :

本申请实施例提供一种基于多层协同的视频物联网设备安全发现方法及装置。本申请实施例中,通过协同数据链路层及网络层动态发现物联网设备,比如通过第一类网卡中的第一网卡,向属于同一局域网中的物联网设备发送探测请求数据包来发现第一类配对信息(网络层信息),以及通过第二类网卡中的第二网卡,向局域网中的物联网设备发送链路探测报文来发现第二类配对信息(数据链路层信息),根据各第一类配对信息和各第二类配对信息确定属于同一物联网设备的第一类配对信息和第二类配对信息,最终实现了通过协同数据链路层及网络层动态发现物联网设备,避免现有仅仅通过二层链路数据中暴露的物联网设备的设备信息来发现物联网设备所带来的技术问题。

权利要求 :

1.一种基于多层协同的视频物联网设备安全发现方法,其特征在于,该方法应用于网络设备,该方法包括:通过被部署的第一类网卡中的至少一个第一网卡,向属于同一局域网中的物联网设备发送探测请求数据包;所述探测请求数据包支持网络层协议或者支持网络层以上协议;

根据接收到的来自物联网设备返回的探测响应数据包,确定第一类配对信息;所述第一类配对信息至少包括:物联网设备的IP地址和MAC地址;

通过被部署的第二类网卡中的至少一个第二网卡,向所述局域网中的物联网设备发送链路探测报文;

根据接收到的来自物联网设备返回的链路响应报文,确定第二类配对信息;所述第二类配对信息至少包括:物联网设备的MAC地址和设备资产信息;

根据已确定的各第一类配对信息和各第二类配对信息,确定属于同一物联网设备的第一类配对信息和第二类配对信息,同一物联网设备的第一类配对信息和第二类配对信息用于配合表示物联网设备。

2.根据权利要求1所述的方法,其特征在于,所述通过被部署的第一类网卡中的至少一个第一网卡,向属于同一局域网中的物联网设备发送探测请求数据包,包括:针对每一所述第一网卡,获得所述第一网卡被配置的对应的探测方式,其中,所述探测方式为SYN探测方式、ICMP探测方式、ARP探测方式中的至少一个;

按照所述探测方式构造对应所述探测方式的探测请求数据包并向属于同一局域网中的物联网设备发送。

3.根据权利要求1所述的方法,其特征在于,所述链路响应报文通过以下步骤确定:当接收到一报文时,若该报文的目标MAC地址为所述第二网卡的MAC地址,且该报文还携带有预设响应特征,则确定该报文为来自物联网设备返回的链路响应报文。

4.根据权利要求1或3所述的方法,其特征在于,在所述向所述局域网中的物联网设备发送链路探测报文之前,所述方法还包括:使能所述第二类网卡中的至少一个第二网卡被配置的监听功能;所述监听功能用于监听目标MAC地址为所述第二网卡的MAC地址的链路层报文。

5.根据权利要求1或3所述的方法,其特征在于,在所述根据接收到的来自物联网设备返回的链路响应报文,确定第二类配对信息之前,所述方法还包括:通过已使能的流量过滤功能,过滤发向所述至少一个第二网卡的网络层流量。

6.根据权利要求1所述的方法,其特征在于,所述根据已确定的各第一类配对信息和各第二类配对信息,确定属于同一物联网设备的第一类配对信息和第二类配对信息,包括:以第一类配对信息中存在的MAC地址为关键字,在各第二类配对信息中查找到包含该关键字的第二类配对信息,将该第一类配对信息和查找到的第二类配对信息确定为属于同一物联网设备的第一类配对信息和第二类配对信息;或者,以第二类配对信息中存在的MAC地址为关键字,在各第一类配对信息中查找到包含该关键字的第一类配对信息,将该第二类配对信息和查找到的第一类配对信息确定为属于同一物联网设备的第一类配对信息和第二类配对信息。

7.根据权利要求1或6所述的方法,其特征在于,所述方法还包括:

针对第一类配对信息中存在的MAC地址,若发现第二类配对信息中不存在该MAC地址,则返回执行通过被部署的第二类网卡中的至少一个第二网卡,向所述局域网中的物联网设备发送链路探测报文的步骤;

针对第二类配对信息中存在的MAC地址,若发现第一类配对信息中不存在该MAC地址,则返回执行通过被部署的第一类网卡中的至少一个第一网卡,向所述局域网中的物联网设备发送探测请求数据包的步骤。

8.一种基于多层协同的视频物联网设备安全发现装置,其特征在于,该装置应用于网络设备,该装置包括:探测请求数据包发送模块,用于通过被部署的第一类网卡中的至少一个第一网卡,向属于同一局域网中的物联网设备发送探测请求数据包;所述探测请求数据包支持网络层协议或者支持网络层以上协议;

第一类配对信息确定模块,用于根据接收到的来自物联网设备返回的探测响应数据包,确定第一类配对信息;所述第一类配对信息至少包括:物联网设备的IP地址和MAC地址;

链路探测报文发送模块,用于通过被部署的第二类网卡中的至少一个第二网卡,向所述局域网中的物联网设备发送链路探测报文;

第二类配对信息确定模块,用于根据接收到的来自物联网设备返回的链路响应报文,确定第二类配对信息;所述第二类配对信息至少包括:物联网设备的MAC地址和设备资产信息;

物联网设备确定模块,用于根据已确定的各第一类配对信息和各第二类配对信息,确定属于同一物联网设备的第一类配对信息和第二类配对信息,同一物联网设备的第一类配对信息和第二类配对信息用于配合表示物联网设备。

9.根据权利要求8所述的装置,其特征在于,所述探测请求数据包发送模块具体用于:针对每一所述第一网卡,获得所述第一网卡被配置的对应的探测方式,其中,所述探测方式为SYN探测方式、ICMP探测方式、ARP探测方式中的至少一个;

按照所述探测方式构造对应所述探测方式的探测请求数据包并向属于同一局域网中的物联网设备发送。

10.一种电子设备,其特征在于,电子设备包括机器可读存储介质、处理器;

所述机器可读存储介质存储有能够被处理器执行的机器可执行指令;

所述处理器用于读取所述机器可执行指令,以实现如权利要求1‑7任一项所述的基于多层协同的视频物联网设备安全发现方法的步骤。

说明书 :

基于多层协同的视频物联网设备安全发现方法及装置

技术领域

[0001] 本申请涉及物联网领域,尤其涉及一种基于多层协同的视频物联网设备安全发现方法及装置。

背景技术

[0002] 在目前的物联网应用中,为方便物联网设备的二层管理,往往会在二层链路数据中将物联网设备的设备信息(比如MAC地址、设备资产信息等)进行暴露,以通过该暴露的物联网设备的设备信息来表示对应的物联网设备。这里,设备资产信息比如设备厂商、设备型号、设备类型等信息。
[0003] 但是,随着视频物联网设备的IP智能化,仅仅通过二层链路数据中暴露的物联网设备的设备信息可能远远不足以准确识别出对应的物联网设备。比如,当物联网设备的MAC地址被篡改时,通过二层链路数据中暴露的物联网设备的设备信息,就可能导致错误发现对应的物联网设备。

发明内容

[0004] 有鉴于此,本申请实施例提供一种基于多层协同的视频物联网设备安全发现方法及装置,以通过协同数据链路层及网络层来发现物联网设备的方式来避免仅仅通过二层链路数据中暴露的物联网设备的设备信息来发现物联网设备所带来的技术问题。
[0005] 根据本申请实施例的第一方面,提供一种基于多层协同的视频物联网设备安全发现方法,该方法应用于网络设备,该方法包括:
[0006] 通过被部署的第一类网卡中的至少一个第一网卡,向属于同一局域网中的物联网设备发送探测请求数据包;所述探测请求数据包支持网络层协议或者支持网络层以上协议;
[0007] 根据接收到的来自物联网设备返回的探测响应数据包,确定第一类配对信息;所述第一类配对信息至少包括:物联网设备的IP地址和MAC地址;
[0008] 通过被部署的第二类网卡中的至少一个第二网卡,向所述局域网中的物联网设备发送链路探测报文;
[0009] 根据接收到的来自物联网设备返回的链路响应报文,确定第二类配对信息;所述第二类配对信息至少包括:物联网设备的MAC地址和设备资产信息;
[0010] 根据已确定的各第一类配对信息和各第二类配对信息,确定属于同一物联网设备的第一类配对信息和第二类配对信息,同一物联网设备的第一类配对信息和第二类配对信息用于配合表示物联网设备。
[0011] 根据本申请实施例的第二方面,提供一种基于多层协同的视频物联网设备安全发现装置,该装置应用于网络设备,该装置包括:
[0012] 探测请求数据包发送模块,用于通过被部署的第一类网卡中的至少一个第一网卡,向属于同一局域网中的物联网设备发送探测请求数据包;所述探测请求数据包支持网络层协议或者支持网络层以上协议;
[0013] 第一类配对信息确定模块,用于根据接收到的来自物联网设备返回的探测响应数据包,确定第一类配对信息;所述第一类配对信息至少包括:物联网设备的IP地址和MAC地址;链路探测报文发送模块,用于通过被部署的第二类网卡中的至少一个第二网卡,向所述局域网中的物联网设备发送链路探测报文;
[0014] 第二类配对信息确定模块,用于根据接收到的来自物联网设备返回的链路响应报文,确定第二类配对信息;所述第二类配对信息至少包括:物联网设备的MAC地址和设备资产信息;
[0015] 物联网设备确定模块,用于根据已确定的各第一类配对信息和各第二类配对信息,确定属于同一物联网设备的第一类配对信息和第二类配对信息,同一物联网设备的第一类配对信息和第二类配对信息用于配合表示物联网设备。
[0016] 根据本申请实施例的第三方面,提供一种电子设备,电子设备包括机器可读存储介质、处理器;所述机器可读存储介质存储有能够被处理器执行的机器可执行指令;所述处理器用于读取所述机器可执行指令,以实现如第一方面的设备发现方法的步骤。
[0017] 本申请实施例提供的技术方案可以包括以下有益效果:
[0018] 由以上技术方案可以看出,本申请实施例中,通过同时协同数据链路层及网络层动态发现物联网设备,比如通过第一类网卡中的至少一个第一网卡,向属于同一局域网中的物联网设备发送探测请求数据包来发现第一类配对信息(属于网络层信息),以及通过第二类网卡中的至少一个第二网卡,向局域网中的物联网设备发送链路探测报文来发现第二类配对信息(属于数据链路层信息),根据已确定的各第一类配对信息和各第二类配对信息确定属于同一物联网设备的第一类配对信息和第二类配对信息,最终实现了通过协同数据链路层及网络层动态发现物联网设备,这显然避免现有仅仅通过二层链路数据中暴露的物联网设备的设备信息来发现物联网设备所带来的技术问题。

附图说明

[0019] 图1是本申请实施例示出的物联网设备应用组网示意图。
[0020] 图2是本申请实施例提供的方法流程图。
[0021] 图3是本申请实施例提供的探测请求数据包发送流程图。
[0022] 图4是本申请实施例提供的装置图。
[0023] 图5是本申请实施例装置硬件结构示意图。

具体实施方式

[0024] 这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
[0025] 在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0026] 应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
[0027] 为了使本领域技术人员更好地理解本申请实施例提供的技术方案,并使本申请实施例的上述目的、特征和优点能够更加明显易懂,下面结合附图对本申请实施例中技术方案作进一步详细的说明。
[0028] 本申请实施例提供的设备发现方法,能够确定出设备的IP地址与链路层下的设备资产信息的对应关系,实现了设备信息的全面探测。下面对本申请实施例提供的方法进行描述:
[0029] 接下来对本申请实施例进行详细说明。
[0030] 如图1所示,图1为本申请实施例示出的物联网设备应用组网示意图。在本实施例中,物联网设备诸如图1所示虚线框内中的录像机(Network Video Recorder,NVR)、网络摄像机(IP Camera,IPC)、数字视频录像机(Digital Video Recorder,DVR)等视频物联网设备。在图1所示的组网中,还包括如图1所示实线框内的设备。该设备不同于上述的物联网设备,比如,该设备可为局域网内的安全设备如防火墙等,本申请实施例并不具体限定。为便于描述,这里可将该设备记为网络设备。
[0031] 在本实施例中,上述网络设备至少包括第一类网卡和第二类网卡。其中,第一类网卡中的各网卡一般被用于网络层及以上层的探测发现,第二类网卡中的各网卡一般被用于数据链路层的探测发现。在具体实现时,第二类网卡中的网卡在被用于数据链路层的探测发现时,需要过滤掉到达该网卡的网络层流量比如TCP包、UDP包等,以提高后续报文处理效率。
[0032] 作为一个实施例,第二类网卡中的各网卡具有的性能优于第一类网卡中的各网卡具有的性能。比如,第二类网卡中各网卡的吞吐量大于第一类网卡中各网卡的吞吐量,等,本实施例并不具体限定。
[0033] 基于图1所示的组网,下面通过图2对本申请实施例提供的方法进行描述:
[0034] 参见图2,图2为本申请实施例提供的方法流程图。该方法应用于上述网络设备,如图2所示,该流程可包括以下步骤:
[0035] S210:通过被部署的第一类网卡中的至少一个第一网卡,向属于同一局域网中的物联网设备发送探测请求数据包。
[0036] 在本实施例中,为便于描述,可将第一类网卡中的网卡记为第一网卡。在具体实现时,第一类网卡可包括多个第一网卡。对应地,可将第二类网卡中的网卡记为第二网卡。在具体实现时,第二类网卡可包括多个第二网卡,具体见下文步骤S230。
[0037] 示例性地,上述探测请求数据包可以支持网络层协议或者支持网络层的上层的上层协议。例如,上述探测请求数据包可以为网络层探测请求数据包、应用层探测请求数据包、传输层探测请求数据包,等等,本申请实施例并不具体限定。
[0038] 在本实施例中,该网络设备可以周期性地通过第一网卡向属于同一局域网中的物联网设备发送探测请求数据包,也可以是响应于接收到的第一探测指令,通过第一网卡向属于同一局域网中的物联网设备发送探测请求数据包,本申请实施例并不具体限定。至于如何通过被部署的第一类网卡中的至少一个第一网卡,向属于同一局域网中的物联网设备发送探测请求数据包,下文会通过图3举例描述,这里暂不赘述。
[0039] S220:根据接收到的来自物联网设备返回的探测响应数据包,确定第一类配对信息;第一类配对信息至少包括:物联网设备的IP地址和MAC地址。
[0040] 示例性地,在本实施例中,上述探测响应包是网络设备接收到的物联网设备基于其接收到的探测请求数据包反馈的数据包。下文会举例描述物联网设备如何返回探测响应数据包,这里暂不赘述。
[0041] 作为一个实施例,该探测响应数据包至少携带有物联网设备的IP地址、物联网设备的MAC地址。基于此,在本实施例中,网络设备在接收到来自物联网设备返回的探测响应数据包时,从该探测响应数据包中提取物联网设备的IP地址和MAC地址,将提取出来的IP地址和MAC地址作为一配对信息(记为第一类配对信息)。
[0042] S230:通过被部署的第二类网卡中的至少一个第二网卡,向局域网中的物联网设备发送链路探测报文。
[0043] 示例性地,网络设备可以周期性地通过第二网卡向局域网中的物联网设备发送链路探测报文,也可以是响应于接收到的第二探测指令,通过第二网卡向局域网中的物联网设备发送链路探测报文。本申请实施例并不具体限定。
[0044] 需要说明的是,上述第一探测指令和第二探测指令可以是同一个指令,也可以不是同一个指令,本申请实施例并不具体限定。
[0045] 示例性地,上述链路探测报文支持链路层协议。在本实施例中,本步骤S230中,向局域网中的物联网设备发送链路探测报文具体可以为:将该链路探测报文广播到指定广播地址。例如,上述指定广播地址可以为:ff:ff:ff:ff:ff:ff,本申请实施例并不具体限定。
[0046] S240:根据接收到的来自物联网设备返回的链路响应报文,确定第二类配对信息;第二类配对信息至少包括:物联网设备的MAC地址和设备资产信息。
[0047] 示例性地,在本实施例中,上述链路响应报文是网络设备接收到的物联网设备基于其接收到的链路探测报文反馈的报文。为便于识别物联网设备基于其接收到的链路探测报文反馈的报文为链路响应报文,则物联网设备基于其接收到的链路探测报文反馈的报文会携带预设响应特征。基于此,当网络设备接收到物联网设备反馈的报文后,如果发现该报文有上述预设响应特征,则确定该报文为上述链路响应报文。
[0048] 示例性地,在本实施例中,上述预设响应特征用于表征接收到的报文为链路响应报文。这里,预设响应特征有多种表示方式,例如,数字、字母、符号中的至少一种。本申请实施例并不具体限定。
[0049] 作为一个实施例,链路响应报文至少携带物联网设备的MAC地址、物联网设备的设备资产信息。其中,上述设备资产信息可以包括:设备厂商、设备类型以及设备型号,等等。本申请实施例并不具体限定。基于此,在本实施例中,网络设备在接收到物联网设备返回的链路响应报文后,从该链路响应报文中提取设备资产信息和MAC地址,将提取出来的设备资产信息和MAC地址信息作为一对配对信息(记为第二类配对信息)。
[0050] S250:根据已确定的各第一类配对信息和各第二类配对信息,确定属于同一物联网设备的第一类配对信息和第二类配对信息,同一物联网设备的第一类配对信息和第二类配对信息用于配合表示物联网设备。
[0051] 示例性地,在本实施例中,本步骤S250中,根据已确定的各第一类配对信息和各第二类配对信息,确定属于同一物联网设备的第一类配对信息和第二类配对信息具体可以为:以第一类配对信息中存在的MAC地址为关键字,在各第二类配对信息中查找到包含该关键字的第二类配对信息,将该第一类配对信息和查找到的第二类配对信息确定为属于同一物联网设备的第一类配对信息和第二类配对信息。
[0052] 示例性地,在本实施例中,本步骤S250中,根据已确定的各第一类配对信息和各第二类配对信息,确定属于同一物联网设备的第一类配对信息和第二类配对信息还可以为:以第二类配对信息中存在的MAC地址为关键字,在各第一类配对信息中查找到包含该关键字的第一类配对信息,将该第二类配对信息和查找到的第一类配对信息确定为属于同一物联网设备的第一类配对信息和第二类配对信息。
[0053] 在得到同一物联网设备的第一类配对信息和第二类配对信息后,对同一物联网设备的第一类配对信息和第二类配对信息进行合并处理,得到该物联网设备的表征信息,上述表征信息包括:物联网设备的IP地址、MAC地址、以及设备资产信息。
[0054] 至此,完成图2所示流程。
[0055] 通过图2所示流程可以看出,本申请实施例提供一种设备发现方法、装置及电子设备。本申请实施例中,通过同时协同数据链路层及网络层动态发现物联网设备,比如通过第一类网卡中的至少一个第一网卡,向属于同一局域网中的物联网设备发送探测请求数据包来发现第一类配对信息(属于网络层信息),以及通过第二类网卡中的至少一个第二网卡,向局域网中的物联网设备发送链路探测报文来发现第二类配对信息(属于数据链路层信息),根据已确定的各第一类配对信息和各第二类配对信息确定属于同一物联网设备的第一类配对信息和第二类配对信息,最终实现了通过协同数据链路层及网络层动态发现物联网设备,这显然避免现有仅仅通过二层链路数据中暴露的物联网设备的设备信息来发现物联网设备所带来的技术问题。
[0056] 参见图3,图3为本申请实施例提供的探测请求数据包发送流程图。如图3所示,该流程包括如下步骤:
[0057] S310:针对每一第一网卡,获得第一网卡被配置的对应的探测方式。
[0058] 示例性地,在本实施例中,针对每一第一网卡,其会基于实际需求被配置对应的探测方式。这里,每一第一网卡被配置的探测方式可为一种,也可为两种以上。比如,第一网卡被配置的探测方式为SYN探测方式、ICMP探测方式、ARP探测方式中的其中一个,或者为SYN探测方式、ICMP探测方式、ARP探测方式中的至少两个。
[0059] S320:按照探测方式构造对应探测方式的探测请求数据包并向属于同一局域网中的物联网设备发送。
[0060] 示例性地,不同的探测方式对应不同的探测请求数据包构造方式,在本实施例中,在获取到每一第一网卡的探测方式后,基于探测方式对应的构造对应探测方式的探测请求数据包。
[0061] 以探测方式为SYN探测方式为例,则按照SYN协议构造SYN探测请求数据包,SYN探测请求数据包的目的IP地址为物联网设备的IP地址。在构造出SYN探测请求数据包后,发送该SYN探测请求数据包时,其目的IP地址为物联网设备的IP地址。
[0062] 再以探测方式为ICMP探测方式为例,则按照ICMP协议构造ICMP探测请求数据包,ICMP探测请求数据包的目的IP地址为物联网设备的IP地址。在构造出ICMP数据包后,发送该ICMP探测请求数据包时,其目的IP地址为物联网设备的IP地址。
[0063] 再以探测方式为ARP探测方式为例,则按照ARP协议构造ARP探测请求数据包,ARP探测请求数据包的目的MAC地址为物联网设备的MAC地址。在构造出ARP数据包后,发送该ARP探测请求数据包时,其目的IP地址为广播IP地址。这里,该广播IP地址可以根据实际需求确定,本申请实施例不作具体限定。
[0064] 至此,完成图3所示流程。
[0065] 通过图3所示流程实现了探测请求数据包的发送。
[0066] 基于图3所示流程,在本实施例中,当网络设备被配置两种以上的探测方式,则基于每一探测方式按照图3所示流程进行探测请求数据包的发送,会得到多个第一类配对信息,则为避免重复,可对各种探测方式下得到的第一类配对信息进行合并,去重。
[0067] 下面对步骤S240中的链路响应报文进行描述:
[0068] 在本实施例中,当网络设备收到一报文时,若发现该报文的目标MAC地址为本设备上第二类网卡中一第二网卡的MAC地址,且该报文还携带上述预设响应特征,则确定该报文为来自物联网设备返回的链路响应报文。
[0069] 示例性地,上述报文可以为物联网设备发送的链路响应报文、其它设备发送到第二网卡的数据报文以及流经第二网卡的数据报文,等等。本申请实施例并不具限定。
[0070] 在本实施例中,当接收到上述报文后,确定该报文的MAC地址是否为第二网卡的MAC地址,当该报文的MAC地址不为第二网卡的MAC地址时,过滤掉该报文;当该报文的MAC地址为第二网卡的MAC地址时,进一步确定该报文是否携带上述预设响应特征。
[0071] 在本实施例中,对该报文是否携带预设响应特征的判定可以为对该报文的报文头特征进行提取,若报文头特征为预设响应特征,则确定该报文携带有预设响应特征,确定该报文为来自物联网设备返回的链路响应报文。若报文头特征不为预设响应特征,则过滤掉该报文。
[0072] 至此,完成对链路响应报文的确定方法的描述。
[0073] 作为本申请实施例一个可选实施方式,在向局域网中的物联网设备发送链路探测报文之前,该设备发现方法还包括:
[0074] 使能第二类网卡中的至少一个第二网卡被配置的监听功能;监听功能用于监听目标MAC地址为第二网卡的MAC地址的链路层报文。
[0075] 示例性地,在发送链路层探测报文之前,将第二网卡的监听模块打开,以监听目标MAC地址为第二网卡的MAC地址的链路层报文。具体地,在该网络设备的内核态中对接收到的报文进行监听,得到目标MAC地址为第二网卡的MAC地址的链路层报文。
[0076] 本申请实施例通过内核编程技术实现链路层报文的监听,在发送链路层探测报文之前,将第二网卡的监听模块打开,避免错过物联网设备发送的链路响应报文。
[0077] 作为本申请实施例一个可选实施方式,在根据接收到的来自物联网设备返回的链路响应报文,确定第二类配对信息之前,该设备发现方法还包括:
[0078] 通过已使能的流量过滤功能,过滤发向至少一个第二网卡的网络层流量例如TCP包、UDP包等网络层协议报文或者网络层数据报文。
[0079] 示例性地,上述流量过滤功能可以是提前在第二网卡进行编程实现的,在本实施例中,可以使用xdp(eXpress Data Path)以及ebpf(extended Berkeley Packet Filter)等编程技术,实现数据包过滤(xdp‑drop)功能,进而实现对网络层流量的过滤。
[0080] 本申请实施例通过并通过网卡编程技术实现报文的监听,将流经第二网卡的网络层流量过滤掉,减少了报文数量,提高后续数据处理速度。
[0081] 作为本申请实施例一个可选实施方式,该设备发现方法还包括:
[0082] 针对第一类配对信息中存在的MAC地址,若发现第二类配对信息中不存在该MAC地址,则返回执行通过被部署的第二类网卡中的至少一个第二网卡,向局域网中的物联网设备发送链路探测报文的步骤;
[0083] 针对第二类配对信息中存在的MAC地址,若发现第一类配对信息中不存在该MAC地址,则返回执行通过被部署的第一类网卡中的至少一个第一网卡,向局域网中的物联网设备发送探测请求数据包的步骤。
[0084] 示例性地,在本实施例中,在得到第一类配对信息和第二类配对信息后,确定属于同一物联网设备的第一类配对信息和第二类配对信息。在确定过程中,当发现第二类配对信息中不存在第一类配对信息中的MAC地址时,则返回执行通过被部署的第二类网卡中的至少一个第二网卡,向局域网中的物联网设备发送链路探测报文的步骤再次进行探测。当发现第一类配对信息中不存在第二类配对信息中的MAC地址时,则返回执行通过被部署的第一类网卡中的至少一个第一网卡,向局域网中的物联网设备发送探测请求数据包的步骤再次进行探测。通过不断重复上述2个过程,最终得到在一定时间内稳定不变的物联网设备的探测结果。
[0085] 以上对本申请实施例提供的方法进行了描述,下面对本申请实施例提供的装置进行描述:
[0086] 参见图4,图4为本申请实施例提供的装置结构图。该装置可包括:
[0087] 探测请求数据包发送模块,用于通过被部署的第一类网卡中的至少一个第一网卡,向属于同一局域网中的物联网设备发送探测请求数据包;探测请求数据包支持网络层协议或者支持网络层以上协议;
[0088] 第一类配对信息确定模块,用于根据接收到的来自物联网设备返回的探测响应数据包,确定第一类配对信息;第一类配对信息至少包括:物联网设备的IP地址和MAC地址;
[0089] 链路探测报文发送模块,用于通过被部署的第二类网卡中的至少一个第二网卡,向局域网中的物联网设备发送链路探测报文;
[0090] 第二类配对信息确定模块,用于根据接收到的来自物联网设备返回的链路响应报文,确定第二类配对信息;第二类配对信息至少包括:物联网设备的MAC地址和设备资产信息;
[0091] 物联网设备确定模块,用于根据已确定的各第一类配对信息和各第二类配对信息,确定属于同一物联网设备的第一类配对信息和第二类配对信息,同一物联网设备的第一类配对信息和第二类配对信息用于配合表示物联网设备。
[0092] 作为本申请实施例一个可选实施方式,上述探测请求数据包发送模块具体用于:
[0093] 针对每一第一网卡,获得第一网卡被配置的对应的探测方式,其中,探测方式为SYN探测方式、ICMP探测方式、ARP探测方式中的至少一个;
[0094] 按照探测方式构造对应探测方式的探测请求数据包并向属于同一局域网中的物联网设备发送。
[0095] 作为本申请实施例一个可选实施方式,该设备发现装置还包括:
[0096] 链路响应报文确定模块,用于当接收到一报文时,若该报文的目标MAC地址为第二网卡的MAC地址,且该报文还携带有预设响应特征,则确定该报文为来自物联网设备返回的链路响应报文。
[0097] 作为本申请实施例一个可选实施方式,该设备发现装置还包括:
[0098] 监听模块,用于使能第二类网卡中的至少一个第二网卡被配置的监听功能;监听功能用于监听目标MAC地址为第二网卡的MAC地址的链路层报文。
[0099] 作为本申请实施例一个可选实施方式,该设备发现装置还包括:
[0100] 过滤模块,用于通过已使能的流量过滤功能,过滤发向至少一个第二网卡的网络层流量。
[0101] 作为本申请实施例一个可选实施方式,上述物联网设备确定模块具体用于:
[0102] 以第一类配对信息中存在的MAC地址为关键字,在各第二类配对信息中查找到包含该关键字的第二类配对信息,将该第一类配对信息和查找到的第二类配对信息确定为属于同一物联网设备的第一类配对信息和第二类配对信息;或者,
[0103] 以第二类配对信息中存在的MAC地址为关键字,在各第一类配对信息中查找到包含该关键字的第一类配对信息,将该第二类配对信息和查找到的第一类配对信息确定为属于同一物联网设备的第一类配对信息和第二类配对信息。
[0104] 作为本申请实施例一个可选实施方式,该设备发现装置还包括:
[0105] 第一返回执行模块,用于针对第一类配对信息中存在的MAC地址,若发现第二类配对信息中不存在该MAC地址,则返回执行通过被部署的第二类网卡中的至少一个第二网卡,向局域网中的物联网设备发送链路探测报文的步骤;
[0106] 第二返回执行模块,用于针对第二类配对信息中存在的MAC地址,若发现第一类配对信息中不存在该MAC地址,则返回执行通过被部署的第一类网卡中的至少一个第一网卡,向局域网中的物联网设备发送探测请求数据包的步骤。
[0107] 上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
[0108] 至此,完成图4所示装置的结构描述。
[0109] 对应地,本申请实施例还提供了图4所示装置的硬件结构图,具体如图5所示,该电子设备可以为上述实施方法的设备。如图5所示,该硬件结构包括:处理器和存储器。
[0110] 其中,存储器,用于存储机器可执行指令;
[0111] 处理器,用于读取并执行存储器存储的机器可执行指令,以实现如上所示的所对应的设备发现的方法实施例。
[0112] 作为一个实施例,存储器可以是任何电子、磁性、光学或其它物理存储装置,可以包含或存储信息,如可执行指令、数据,等等。例如,存储器可以是:易失存储器、非易失性存储器或者类似的存储介质。具体地,存储器可以是RAM(Radom Access Memory,随机存取存储器)、闪存、存储驱动器(如硬盘驱动器)、固态硬盘、任何类型的存储盘(如光盘、DVD等),或者类似的存储介质,或者它们的组合。
[0113] 至此,完成图5所示电子设备的描述。
[0114] 以上仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。