一种基于DNS的网络身份溯源系统及方法转让专利

申请号 : CN202110456756.7

文献号 : CN112995359B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 阎星娥刘慰慰杨昆严荣明张林魏红道江汀傅波海陆启浩李恒

申请人 : 南京华飞数据技术有限公司

摘要 :

本发明是一种基于DNS的网络身份溯源系统及方法,该系统包括若干节点计算机,查询模块,主服务器;若干节点计算机和主服务器均有通信模块,节点计算机和主服务器之间建立TCP连接,查询模块处于节点计算机和主服务器之间;所述节点计算机上均有DNS识别模块、DNS解析模块、网络身份信息处理模块,DNS识别模块用于识别DNS报文数据,并将识别的数据传至DNS解析模块;DNS解析模块对数据进行解析,并将解析结果传至网络身份信息处理模块进行处理;网络身份信息处理模块将IP和域名进行映射散列,并将映射关系通过通信模块从节点计算机发送到主服务器上进行存储;本发明适用于离线数据的分析,也适用于实时网络数据的解析。

权利要求 :

1.一种基于DNS的网络身份溯源系统,其特征是该系统包括若干节点计算机,查询模块,主服务器;所述若干节点计算机和主服务器均有通信模块,节点计算机和主服务器之间建立TCP连接,查询模块处于节点计算机和主服务器之间;所述节点计算机上均有DNS识别模块、DNS解析模块、网络身份信息处理模块,DNS识别模块用于识别DNS报文数据,并将识别的数据传至DNS解析模块;DNS解析模块接到数据后,对数据进行解析,并将解析结果传至网络身份信息处理模块进行处理;网络身份信息处理模块将DNS解析模块解析出的IP和域名进行映射散列建立IP与域名的映射关系,并将映射关系通过通信模块从节点计算机发送到主服务器上进行存储;

所述节点计算机上需要对数据中的某个IP进行溯源时调用查询模块,查询模块通过通信模块发送查询请求和查询内容到主服务器,主服务器接到查询请求和查询内容后在本地查询,并将查询结果通过通信模块响应给节点计算机;

所述通信模块,用于节点计算机与主服务器建立TCP连接传递数据;所述查询模块,用于节点计算机向主服务器查询网络身份信息;

利用基于DNS的网络身份溯源系统进行网络身份溯源的方法,该方法包括以下步骤:

1)DNS识别,从实时网络流量中或者本地静态的数据报文中,根据DNS特征识别DNS报文;

2)DNS解析,从已识别的DNS报文中,按照DNS报文格式,解析其承载的全部信息,包括IP和域名的信息;

3)网络身份信息的处理,将DNS解析出的IP和域名进行关联,通过IP进行散列,生成IP与域名的映射关系,映射关系包含IP信息、域名信息以及用于关联的KEY值;IP信息、域名信息以及用于关联的KEY值构成网络身份信息;

4)参与步骤1)、步骤2)、步骤3)过程的节点计算机与主服务器建立TCP连接并进行通信,将步骤3)生成的IP与域名的映射关系发至主服务器;

5)在主服务器上,对比节点计算机上传的网络身份信息,通过IP进行本地查询;

5‑1)若查询IP已存在,则比较域名信息;

5‑2)若域名信息相同,则更新主服务器中网络身份信息的上传时间;若域名信息不同,则更新主服务器中网络身份信息的域名信息和上传时间;

5‑3)若查询IP不存在,则新增整条网络身份信息;

6)当某个节点计算机,在解析数据时或需要对某个IP进行溯源时,向主服务器发送查询请求,通过IP查询网络身份信息,主服务器收到请求后,进行本地查询,并将结果反馈给节点计算机。

2.根据权利要求1所述的一种基于DNS的网络身份溯源系统,其特征是所述DNS识别模块的实现步骤包括如下:使用字符串或者整型数组创建一块内存,用于存储实时网络流量中的数据报文或者本地静态的数据报文,根据报文结构逐层解开数据封装,从传输层提取端口信息,若为53端口,则判断为DNS报文,并将内存传向DNS解析模块。

3.根据权利要求1所述的一种基于DNS的网络身份溯源系统,其特征是所述DNS解析模块的实现步骤包括如下:接收到DNS识别模块传进来的内存,根据RFC文档提供的DNS结构,构造结构体并将内存数据赋值于结构体,从而进行信息提取,获取IP和域名信息,将IP和域名信息传至网络身份信息处理模块。

4.根据权利要求1所述的一种基于DNS的网络身份溯源系统,其特征是所述网络身份信息处理模块的实现步骤包括如下:定义一个数组,当被调用处理IP和域名信息时,通过IP构造HASH值进行散列,将域名信息存储在数组对应位置中,并通过通信模块将数组内容上传到主服务器上。

5.根据权利要求1所述的一种基于DNS的网络身份溯源系统,其特征是所述通信模块使用socket通信方式。

6.根据权利要求1所述的一种基于DNS的网络身份溯源系统,其特征是所述节点计算机有若干个,每个节点计算机和主服务器均建立TCP连接;所述步骤1)、步骤2)、步骤3)过程在对应的节点计算机上完成。

说明书 :

一种基于DNS的网络身份溯源系统及方法

技术领域

[0001] 本发明涉及一种基于DNS的网络身份溯源系统及方法,属于计算机通信技术领域。

背景技术

[0002] 在数据解析工作中,数据的溯源一直是个值得关注的内容,其在网络管理和网络安全中,处于相当关键的部分。
[0003] 当通过域名访问某个网站或者应用时,都会通过DNS(Domain Name System,域名系统)进行域名解析,查找到目的主机IP;在解析网络数据时,通常是需要对IP溯源其网络
身份,即查找IP对应的域名信息;这对于网络安全具有重大意义。
[0004] 目前常用的网络身份溯源的方法有如下几种:
[0005] 1)Wireshark是开源网络抓包分析工具,主要是将解析的域名信息进行记录但无法逆向查询,而且无法支持大批量通信数据实时解析;
[0006] 2)还有其它诸多的IP溯源的方法,例如特定网站(IPIP、站长之家等网站)上进行查询,但在实时的数据解析中并不是可取的方法。
[0007] 显然,现有方法中,基于特定场景开发的工具,定量的采集数据,对特定数据的网络身份进行溯源,这些工具在渗透测试方向或精准追溯方面表现很好,但其目的单一、时效
性不强,显然无法满足网络信息爆炸时代所追求的实时性。

发明内容

[0008] 本发明提出的是一种基于DNS的网络身份溯源系统及方法,其目的旨在解决现有的网络身份溯源方法无法对实时数据进行网络身份溯源的问题。
[0009] 本发明的技术解决方案:一种基于DNS的网络身份溯源系统,该系统包括若干节点计算机,查询模块,主服务器;所述若干节点计算机和主服务器均有通信模块,节点计算机
和主服务器之间建立TCP连接,查询模块处于节点计算机和主服务器之间;所述节点计算机
上均有DNS识别模块、DNS解析模块、网络身份信息处理模块,DNS识别模块用于识别DNS报文
数据,并将识别的数据传至DNS解析模块;DNS解析模块接到数据后,对数据进行解析,并将
解析结果传至网络身份信息处理模块进行处理;网络身份信息处理模块将DNS解析模块解
析出的IP和域名进行映射散列建立IP与域名的映射关系,并将映射关系通过通信模块从节
点计算机发送到主服务器上进行存储。
[0010] 一种基于DNS的网络身份溯源方法,该方法包括以下步骤:
[0011] 1)DNS识别,从实时网络流量中或者本地静态的数据报文中,根据DNS特征识别DNS报文;
[0012] 2)DNS解析,从已识别的DNS报文中,按照DNS报文格式,解析其承载的全部信息,尤其是IP和域名的信息;
[0013] 3)网络身份信息的处理,将DNS解析出的IP和域名进行关联,通过IP进行散列,生成IP与域名的映射关系,映射关系包含IP信息、域名信息以及用于关联的KEY值;IP信息、域
名信息以及用于关联的KEY值构成网络身份信息;
[0014] 4)参与步骤1)、步骤2)、步骤3)过程的节点计算机与主服务器建立TCP连接并进行通信,将步骤3)生成的IP与域名的映射关系发至主服务器;
[0015] 5)在主服务器上,对比节点计算机上传的网络身份信息,通过IP进行本地查询;
[0016] 5‑1)若查询IP已存在,则比较域名信息;
[0017] 5‑2)若域名信息相同,则更新主服务器中网络身份信息的上传时间;若域名信息不同,则更新主服务器中网络身份信息的域名信息和上传时间;
[0018] 5‑3)若查询IP不存在,则新增整条网络身份信息;
[0019] 6)当某个节点计算机,在解析数据时或需要对某个IP进行溯源时,向主服务器发送查询请求,通过IP查询网络身份信息,主服务器收到请求后,进行本地查询,并将结果反
馈给节点计算机。
[0020] 本发明的优点:
[0021] 1)本发明提高了溯源的准确性和实效性;
[0022] 2)本发明不仅适用于离线数据的分析,也适用于实时网络数据的解析。

附图说明

[0023] 附图1是本发明依赖的设备分布式架构。
[0024] 附图2是本发明的网络身份信息溯源流程图。
[0025] 附图3是本发明中各模块的关系图。

具体实施方式

[0026] 一种基于DNS的网络身份溯源系统,该系统包括若干节点计算机,查询模块,主服务器;所述若干节点计算机和主服务器均有通信模块,节点计算机和主服务器之间建立TCP
连接,查询模块处于节点计算机和主服务器之间;所述节点计算机上均有DNS识别模块、DNS
解析模块、网络身份信息处理模块,DNS识别模块用于识别DNS报文数据,并将识别的数据传
至DNS解析模块;DNS解析模块接到数据后,对数据进行解析,并将解析结果传至网络身份信
息处理模块进行处理;网络身份信息处理模块将DNS解析模块解析出的IP和域名进行映射
散列建立IP与域名的映射关系,并将映射关系通过通信模块从节点计算机发送到主服务器
上进行存储。
[0027] 当所述节点计算机上需要对数据中的某个IP进行溯源时调用查询模块,查询模块通过通信模块发送查询请求和查询内容到主服务器,主服务器接到查询请求和查询内容
后,在本地查询,并将查询结果通过通信模块响应给节点计算机。
[0028] 所述DNS识别模块,用于识别DNS报文;所述DNS解析模块,用于解析DNS报文并将解析结果传至网络身份信息处理模块;所述网络身份信息处理模块,用于建立IP与域名的映
射关系,并通过通信模块将处理结果发送到主服务器上;所述通信模块,用于节点计算机与
主服务器建立TCP连接传递数据;所述查询模块,用于节点计算机向主服务器查询网络身份
信息。
[0029] 所述DNS识别模块的实现步骤包括如下:使用字符串或者整型数组创建一块内存,用于存储实时网络流量中的数据报文或者本地静态的数据报文,根据报文结构逐层解开数
据封装,从传输层提取端口信息,若为53端口(53端口为DNS(Domain Name Server,域名服
务器),则判断为DNS报文,并将内存传向DNS解析模块。
[0030] 所述DNS解析模块的实现步骤包括如下:接收到DNS识别模块传进来的内存,根据RFC(Request For Comments)文档提供的DNS结构,构造结构体并将内存数据赋值于结构
体,从而进行信息提取,获取IP和域名信息,将IP和域名信息传至网络身份信息处理模块。
[0031] 所述网络身份信息处理模块的实现步骤包括如下:定义一个数组,当被调用处理IP和域名信息时,可以通过IP构造HASH值(作为数组下标)进行散列,将域名信息存储在数
组对应位置中,并通过通信模块将数组内容上传到主服务器上。
[0032] 所述通信模块的实现步骤包括如下:使用socket通信方式。
[0033] 所述查询模块的实现步骤包括如下:根据下标遍历数组。
[0034] 一种基于DNS的网络身份溯源方法,该方法包括以下步骤:
[0035] 1)DNS识别,从实时网络流量中或者静态的数据报文中,根据DNS特征识别DNS报文;
[0036] 2)DNS解析,从已识别的DNS报文中,按照DNS报文格式,解析其承载的全部信息,尤其是IP和域名的信息;
[0037] 3)网络身份信息的处理,将DNS解析出的IP和域名进行关联,通过IP进行散列,生成IP与域名的映射关系,映射关系包含IP信息、域名信息以及用于关联的KEY值;IP信息、域
名信息等以及用于关联的KEY值构成网络身份信息;
[0038] 4)参与步骤1)、步骤2)、步骤3)过程的节点计算机与主服务器建立TCP连接并进行通信,将步骤3)生成的IP与域名的映射关系发至主服务器;
[0039] 5)在主服务器上,对比节点计算机上传的网络身份信息,通过IP进行本地查询;
[0040] 5‑1)若查询IP已存在,则比较域名信息;
[0041] 5‑2)若域名信息相同,则更新主服务器中网络身份信息的上传时间;若域名信息不同,则更新主服务器中网络身份信息的域名信息和上传时间;
[0042] 5‑3)若查询IP不存在,则新增整条网络身份信息;
[0043] 6)当某个节点计算机,在解析数据时或需要对某个IP进行溯源时,向主服务器发送查询请求,通过IP查询网络身份信息,主服务器收到请求后,进行本地查询,并将结果反
馈给节点计算机。
[0044] 所述节点计算机有若干个,每个节点计算机和主服务器均建立TCP连接;所述步骤1)、步骤2)、步骤3)过程在对应的节点计算机上完成。
[0045] 本发明提供的一种基于DNS的网络身份溯源方法,支持在实时网络流量或静态数据分析时,通过在节点计算机上解析DNS报文,获得IP和域名的对应关系,并将其传输到主
服务器上;当需要对IP进行溯源时,向主服务器查询,通过查询IP获取相应的域名信息;在
实时的数据解析进行过程中,也可以快速的进行网络身份溯源工作。
[0046] 本发明与常见的网络身份溯源方法相比,本发明依赖于分布式数据解析的框架,从大量节点计算机解析数据,从DNS报文中提取网络身份信息,上传至主服务器;主服务器
中存储来自各个节点上传的网络身份信息,当某个节点计算器需要对IP溯源,向主服务器
进行查询时,其它节点上传的网络身份信息都是其检索目标;相对于单个节点计算机将分
析的网络身份信息存储于本地,溯源时只能查询自己解析过的IP信息;在分布式数据解析
的框架中,会出现包含某网络身份信息的DNS报文在另一台节点计算机上进行解析,若在本
地节点计算机进行溯源则会溯源失败,这也是传统方法的缺点;采用分布式解析汇总,扩大
查询范围,因此该方法极大的提高了溯源的准确性和实效性。
[0047] 本发明不仅适用于离线数据的分析,也适用于实时网络数据的解析;基于分布式结构,实时解析网络数据,将溯源工作集中于主服务器上进行,不占用节点计算机的资源进
行溯源工作,溯源操作仅占用主服务器的系统资源,因此对于整体的数据解析过程和溯源
过程不会抢占系统资源,不影响数据解析的时效性,也能更快速的完成网络身份信息的溯
源。
[0048] 实施例1
[0049] 为了使本领域的技术人员更透彻地理解本发明,下面将参照附图详细阐述本发明的实施例;相关附图仅为大体描述本发明的基本结构、相关构成,本发明可用各种形式实
现,而不应被这里描述的实施例所限制。
[0050] 基于DNS网络身份溯源方法构成模块一般包括:DNS识别模块、DNS解析模块、网络身份信息处理模块、通信模块、查询模块。
[0051] 附图1所示为本发明依赖的设备分布式环境。
[0052] 节点计算机和主服务器需要建立TCP连接,用节点计算机上传数据和查询数据。
[0053] 附图2所示为本发明方法的网络身份信息溯源流程图。
[0054] 基于DNS的网络身份溯源的方法,该方法包括以下步骤:
[0055] 1)数据接入节点计算机;
[0056] 2)DNS识别模块获取报文,根据53端口(53端口为DNS(Domain Name Server,域名服务器)服务器所开放,主要用于域名解析),识别DNS报文;
[0057] 3)DNS解析模块,获取DNS报文并根据RFC标准文档定义的DNS报文格式,对DNS报文进行数据解析,尤其是IP和域名信息;
[0058] 4)网络身份信息处理模块,对DNS解析模块解析出的IP和域名信息进行处理;对IP进行哈希散列,使用数组形式存储IP和域名的映射关系;
[0059] 5)通信模块,建立节点计算机和主服务器的TCP连接,在网络身份信息处理模块建立IP和域名的映射关系后,将映射结果从节点计算机上传至主服务器;
[0060] 6)查询模块工作于节点计算机上传网络身份信息和节点计算机向主服务器溯源两个流程。
[0061] A‑1)节点计算机上传网络身份信息时,主服务器根据上传信息中的IP进行查询,判断是否已经存在该身份信息;若存在且内容一致,则更新数据上传时间;若存在且内容不
一致,则更新内容及上传时间;若不存在则新增上传的信息。
[0062] A‑2)节点计算机向主服务器溯源时,主服务器根据节点计算机提供的IP进行查询,判断是否存在该IP的身份信息;若存在则返回身份信息至节点计算机;若不存在则返回
查询失败。