CN111835785A - 一种基于查询机制的i2p网络节点的探测方法 - Google Patents
一种基于查询机制的i2p网络节点的探测方法 Download PDFInfo
- Publication number
- CN111835785A CN111835785A CN202010716143.8A CN202010716143A CN111835785A CN 111835785 A CN111835785 A CN 111835785A CN 202010716143 A CN202010716143 A CN 202010716143A CN 111835785 A CN111835785 A CN 111835785A
- Authority
- CN
- China
- Prior art keywords
- node
- information
- network
- database
- query
- 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.)
- Pending
Links
Images
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/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2228—Indexing structures
- G06F16/2255—Hash tables
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
- H04L67/1061—Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/69—Types of network addresses using geographic information, e.g. room number
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Remote Sensing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及信息安全技术领域,本发明公开了一种基于查询机制的I2P网络节点的探测方法,根据对I2P网络节点通信协议的分析,将原始代码中的节点信息进行处理并提供获取接口,利用网络节点发现机制,不断收集节点信息,建立I2P网络节点基本数据库和关系数据库。本发明对I2P网络进行全方面的探测,可以在发现尽可能多的I2P网络节点的同时,摆脱了对硬件和性能的约束。节点信息会自动进行更新,防止节点信息过期导致数据不准确和节点位置信息统计错误。节点地址位置信息会单独探测和存储,使得该功能模块与整个软件实现解耦,便于维护和扩展。
Description
技术领域
本发明涉及信息安全技术领域,尤其涉及一种基于查询机制的I2P网络节点的探测方法。
背景技术
当今社会,互联网泄密事件频发,互联网已经变得越来越不安全保密,用户获取互联网信息与服务时,也不希望自己的身份及相关信息被暴露,同样,不法分子也在想方设法隐藏个人身份,匿名发布及传播不法信息。随着网络信息数据的深化暗化,越来越多的不法分子开始利用这些网络发布和传播不法信息。而I2P(Invisible Internet Project,隐形网计划)作为新型的暗网网络,采用分布式的P2P结构,使攻击者不能攻击部分节点而影响整个网络的匿名性,利用大蒜路由技术,通过多跳的隧道来发送自己的数据,实现通信关系匿名化。I2P网络采取了很多措施来增加安全性和匿名性,用户可以使用它的文件传输、Email和聊天等功能。但是会有不法分子利用I2P带来的匿名性,进行非法交易,严重危害了社会的安全性,所以对I2P进行监管是必要的。但是,由于其自身的匿名性,使得其用户更加隐蔽,对网络中通信节点的发现变得更加困难。
针对I2P网络的通信节点的发现,以及实现相应的探测***,目前在学术界和工业界鲜有研究。当前的研究中,有两种方法可以获得少量节点信息。方法一,程序从存放了少量的节点信息文件的补种网站中获取节点信息,但是,补种过程只可以获得少量的节点信息,无法满足探测的需要。方法二,成为floodfill节点也可以接收一些nonfloodfill节点的上报信息,但是成为floodfill需要满足一定的硬件和带宽要求,而且对整个I2P网络的探测也存在一定的局限性。
发明内容
为了解决上述问题,本发明针对I2P特有的网络结构和匿名特性以及现有节点探测方法的局限性,提出一种基于查询机制的I2P网络节点的探测方法,以发现可能的节点创建者或者信息发布者,节点的探测包括节点ip、端口等基本信息的探测和节点地理位置信息的探测两部分。本方法通过持续的网络监测,为I2P网络节点及用户的追踪提供可靠信息数据。
本发明的一种基于查询机制的I2P网络节点的探测方法,根据对I2P网络节点通信协议的分析,将原始代码中的节点信息进行处理并提供获取接口,利用网络节点发现机制,不断收集节点信息,建立I2P网络节点基本数据库和关系数据库;所述节点信息包括节点基本信息和节点地理位置信息。
进一步的,在收集节点信息前需要进行补种以加入I2P网络中,所述补种包括以下步骤:
步骤11:配置I2P网络程序的配置文件router.config,增加type字段,其值为reseed;
步骤12:爬取补种网站,获取补种网站上公布的节点信息,所述补种网站为I2P官方公布的存放了少量的节点信息文件的网站;
步骤13:获取节点信息后,将节点信息存在本地,本节点能够通过这些节点建立路由。
进一步的,除非长时间不使用I2P网络程序,否则再使用I2P网络程序时就不需要进行补种。
进一步的,所述节点基本信息的收集包括以下步骤:
步骤21:所述补种完成后通过I2P的消息查询机制,对I2P网络进行主动探测;
步骤22:I2P网络程序建立数据库连接;
步骤23:修改配置文件router.config,增加字段type,其值为lookup,查询并收集I2P网络中的floodfill节点保存的节点信息,然后向floodfill节点发送查询消息,收集nonfloodfill节点信息;
步骤24:构造查询hash值,然后发送hash值对应的DatabaseLookup消息,当查询成功时,返回DatabaseStore消息,其中包含hash值对应节点信息,这些信息等待存入数据库,进入步骤26;当查询失败时,进入步骤25;
步骤25:返回XOR距离接近查询hash的三个节点hash,再通过IterativeFollowJob的调用,获得三个返回hash值对应的节点信息并等待存储,进入步骤26;
步骤26:判断需要存入数据库的节点是否已经存在,根据节点hash值判断该节点是否已经存在,如果存在,进入步骤27,如果不存在进入步骤28;
步骤27:执行数据库更新操作,更新节点信息;
步骤28:执行数据库***操作,将该节点信息存入数据库中。
进一步的,I2P网络获取所述节点地理位置信息时,需要根据发现的floodfill节点和nonfloodfill节点,利用pythonrequests库获取I2P网络节点地理位置信息并在地图中进行标记。
进一步的,所述节点地理位置信息的收集包括以下步骤:
步骤31:将收集的所述节点基本信息中的节点ip存入指定的数据库中,存入前先判断该节点是否已经存在,如果不存在则存入,存入时需要存入创建时间;
步骤32:对于数据库中创建时间和修改时间近似相同,或者更新时间早于当前时间且超过预设期限的节点,进入步骤33,否则不作处理;
步骤33:利用requests库获取节点ip所对应的地理位置信息,并根据该节点的地理位置信息将其绘制到世界地图中。
本发明的有益效果在于:
(1)本方法对I2P网络进行全方面的探测,可以在发现尽可能多的I2P网络节点的同时,摆脱了对硬件和性能的约束。
(2)节点信息会自动进行更新,防止节点信息过期导致数据不准确和节点位置信息统计错误。
(3)节点地址位置信息会单独探测和存储,使得该功能模块与整个软件实现解耦,便于维护和扩展。
附图说明
图1本发明的探测方法架构图;
图2本发明的补种过程流程图;
图3本发明的节点探测流程图。
具体实施方式
为了对本发明的技术特征、目的和效果有更加清楚的理解,现说明本发明的具体实施方式。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明,即所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
本实施例提供了一种基于查询机制的I2P网络节点的探测方法,根据对I2P网络节点通信协议的分析,将原始代码中的节点信息进行处理并提供获取接口,利用网络节点发现机制,不断收集节点信息,建立I2P网络节点基本数据库和关系数据库,其中节点信息包括节点基本信息和节点地理位置信息,整个方案的架构图如图1所示。
本实施例的名词定义如下:
(1)补种网站:I2P官方公布的存放了少量的节点信息文件的网站。
(2)floodfill节点:floodfill节点会保存节点信息,维护网络数据库,只有节点性能满足一定条件的节点才可以成为floodfill节点。
(3)nonfloodfill节点:用户节点,向floodfill节点上报节点信息。
(4)节点信息:I2P网络中节点会包含节点自身信息,这些信息包括节点hash值,IP地址,端口,公钥信息,版本号等。
(5)节点距离:每个节点都有一个256位的hash值来唯一标识自己的身份,两个节点间的距离根据hash值每一位异或后的数值得到。
在本发明的一个优选实施例中,在收集节点信息前需要进行补种以使自身加入I2P网络中,补种包括以下步骤:
步骤11:配置I2P网络程序的配置文件router.config,增加type字段,其值为reseed;
步骤12:爬取补种网站,获取补种网站上公布的节点信息,补种网站为I2P官方公布的存放了少量的节点信息文件的网站;
步骤13:获取节点信息后,将节点信息存在本地,本节点能够通过这些节点建立路由。
在本发明的一个优选实施例中,除非长时间不使用I2P网络程序,否则再使用I2P网络程序时就不需要进行补种。
在本发明的一个优选实施例中,节点基本信息的收集包括以下步骤:
步骤21:补种完成后通过I2P的消息查询机制,对I2P网络进行主动探测;
步骤22:I2P网络程序建立数据库连接;
步骤23:修改配置文件router.config,增加字段type,其值为lookup,查询并收集I2P网络中的floodfill节点保存的节点信息,然后向floodfill节点发送查询消息,收集nonfloodfill节点信息;
步骤24:构造查询hash值,然后发送hash值对应的DatabaseLookup消息,当查询成功时,返回DatabaseStore消息,其中包含hash值对应节点信息,这些信息等待存入数据库,进入步骤26;当查询失败时,进入步骤25;
步骤25:返回XOR距离接近查询hash的三个节点hash,再通过IterativeFollowJob的调用,获得三个返回hash值对应的节点信息并等待存储,进入步骤26;
步骤26:判断需要存入数据库的节点是否已经存在,根据节点hash值判断该节点是否已经存在,如果存在,进入步骤27,如果不存在进入步骤28;
步骤27:执行数据库更新操作,更新节点信息;
步骤28:执行数据库***操作,将该节点信息存入数据库中。
在本发明的一个优选实施例中,I2P网络获取节点地理位置信息时,需要根据发现的floodfill节点和nonfloodfill节点,利用pythonrequests库获取I2P网络节点地理位置信息并在地图中进行标记。
在本发明的一个优选实施例中,节点地理位置信息的收集包括以下步骤:
步骤31:将收集的节点基本信息中的节点ip存入指定的数据库中,存入前先判断该节点是否已经存在,如果不存在则存入,存入时需要存入创建时间;
步骤32:对于数据库中创建时间和修改时间近似相同,或者更新时间早于当前时间7天,进入步骤33,否则不作处理;
步骤33:利用requests库获取节点ip所对应的地理位置信息,并根据该节点的地理位置信息将其绘制到世界地图中。
综上所述,本实施例针对I2P的分布式P2P结构,在进行节点探测时,通过查询的方法,首先尽可能地查询I2P网络中的floodfill节点信息,由于floodfill节点会保存节点信息,然后向floodfill节点发送查询消息,收集nonfloodfill节点信息。最后根据长时间不间断的探测数据,定位节点的地理位置信息。
以上所述仅是本发明的优选实施方式,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。
Claims (6)
1.一种基于查询机制的I2P网络节点的探测方法,其特征在于,根据对I2P网络节点通信协议的分析,将原始代码中的节点信息进行处理并提供获取接口,利用网络节点发现机制,不断收集节点信息,建立I2P网络节点基本数据库和关系数据库;所述节点信息包括节点基本信息和节点地理位置信息。
2.根据权利要求1所述的一种基于查询机制的I2P网络节点的探测方法,其特征在于,在收集节点信息前需要进行补种以加入I2P网络中,所述补种包括以下步骤:
步骤11:配置I2P网络程序的配置文件router.config,增加type字段,其值为reseed;
步骤12:爬取补种网站,获取补种网站上公布的节点信息,所述补种网站为I2P官方公布的存放了少量的节点信息文件的网站;
步骤13:获取节点信息后,将节点信息存在本地,本节点能够通过这些节点建立路由。
3.根据权利要求2所述的一种基于查询机制的I2P网络节点的探测方法,其特征在于,除非长时间不使用I2P网络程序,否则再使用I2P网络程序时就不需要进行补种。
4.根据权利要求3所述的一种基于查询机制的I2P网络节点的探测方法,其特征在于,所述节点基本信息的收集包括以下步骤:
步骤21:所述补种完成后通过I2P的消息查询机制,对I2P网络进行主动探测;
步骤22:I2P网络程序建立数据库连接;
步骤23:修改配置文件router.config,增加字段type,其值为lookup,查询并收集I2P网络中的floodfill节点保存的节点信息,然后向floodfill节点发送查询消息,收集nonfloodfill节点信息;
步骤24:构造查询hash值,然后发送hash值对应的DatabaseLookup消息,当查询成功时,返回DatabaseStore消息,其中包含hash值对应节点信息,这些信息等待存入数据库,进入步骤26;当查询失败时,进入步骤25;
步骤25:返回XOR距离接近查询hash的三个节点hash,再通过IterativeFollowJob的调用,获得三个返回hash值对应的节点信息并等待存储,进入步骤26;
步骤26:判断需要存入数据库的节点是否已经存在,根据节点hash值判断该节点是否已经存在,如果存在,进入步骤27,如果不存在进入步骤28;
步骤27:执行数据库更新操作,更新节点信息;
步骤28:执行数据库***操作,将该节点信息存入数据库中。
5.根据权利要求4所述的一种基于查询机制的I2P网络节点的探测方法,其特征在于,I2P网络获取所述节点地理位置信息时,需要根据发现的floodfill节点和nonfloodfill节点,利用pythonrequests库获取I2P网络节点地理位置信息并在地图中进行标记。
6.根据权利要求5所述的一种基于查询机制的I2P网络节点的探测方法,其特征在于,所述节点地理位置信息的收集包括以下步骤:
步骤31:将收集的所述节点基本信息中的节点ip存入指定的数据库中,存入前先判断该节点是否已经存在,如果不存在则存入,存入时需要存入创建时间;
步骤32:对于数据库中创建时间和修改时间近似相同,或者更新时间早于当前时间且超过预设期限的节点,进入步骤33,否则不作处理;
步骤33:利用requests库获取节点ip所对应的地理位置信息,并根据该节点的地理位置信息将其绘制到世界地图中。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2020104250764 | 2020-05-19 | ||
CN202010425076 | 2020-05-19 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111835785A true CN111835785A (zh) | 2020-10-27 |
Family
ID=72925836
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010716143.8A Pending CN111835785A (zh) | 2020-05-19 | 2020-07-23 | 一种基于查询机制的i2p网络节点的探测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111835785A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115296891A (zh) * | 2022-08-02 | 2022-11-04 | 中国电子科技集团公司信息科学研究院 | 数据探测***和数据探测方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103532791A (zh) * | 2013-10-25 | 2014-01-22 | 中国科学院信息工程研究所 | 一种发现并收集i2p网络中节点的方法及*** |
CN108494769A (zh) * | 2018-03-21 | 2018-09-04 | 广州大学 | 一种Tor匿名网络中隐藏服务的溯源方法 |
CN108874943A (zh) * | 2018-06-04 | 2018-11-23 | 上海交通大学 | 一种基于长短期记忆神经网络的暗网资源探测*** |
-
2020
- 2020-07-23 CN CN202010716143.8A patent/CN111835785A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103532791A (zh) * | 2013-10-25 | 2014-01-22 | 中国科学院信息工程研究所 | 一种发现并收集i2p网络中节点的方法及*** |
CN108494769A (zh) * | 2018-03-21 | 2018-09-04 | 广州大学 | 一种Tor匿名网络中隐藏服务的溯源方法 |
CN108874943A (zh) * | 2018-06-04 | 2018-11-23 | 上海交通大学 | 一种基于长短期记忆神经网络的暗网资源探测*** |
Non-Patent Citations (2)
Title |
---|
PEIPENG LIU: "Empirical Measurement and Analysis of I2P Routers", 《JOURNAL OF NETWORKS》 * |
尹红珊: "I2P匿名通信网络流量识别与分类", 《中国优秀硕士学位论文全文数据库 (信息科技辑)》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115296891A (zh) * | 2022-08-02 | 2022-11-04 | 中国电子科技集团公司信息科学研究院 | 数据探测***和数据探测方法 |
CN115296891B (zh) * | 2022-08-02 | 2023-12-22 | 中国电子科技集团公司信息科学研究院 | 数据探测***和数据探测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Xu et al. | Am I eclipsed? A smart detector of eclipse attacks for Ethereum | |
Kim et al. | Measuring ethereum network peers | |
CN110597943B (zh) | 基于人工智能的兴趣点处理方法、装置及电子设备 | |
JP6222680B2 (ja) | 位置情報サービスを実施するための方法、装置、およびシステム | |
Balduf et al. | Monitoring data requests in decentralized data storage systems: A case study of IPFS | |
CN112671553A (zh) | 基于主被动探测的工控网络拓扑图生成方法 | |
CN102714665A (zh) | 用于分解对等网络并且使用分解的对等网络的方法和设备 | |
JP2009193250A (ja) | 分散ディレクトリサーバ、分散ディレクトリシステム、分散ディレクトリ方法、およびプログラム | |
Chang et al. | Protecting mobile crowd sensing against sybil attacks using cloud based trust management system | |
Li et al. | Street‐Level Landmark Evaluation Based on Nearest Routers | |
WO2022057525A1 (zh) | 一种数据找回方法、装置、电子设备及存储介质 | |
CN111835785A (zh) | 一种基于查询机制的i2p网络节点的探测方法 | |
CN104125310B (zh) | 基于半永久地址的消息发送方法 | |
CN103731454B (zh) | 一种在点对点网络中对请求进行响应的方法及服务器*** | |
Liu et al. | Achieving user-defined location privacy preservation using a P2P system | |
CN103078771B (zh) | 基于p2p的僵尸网络分布式协作检测***和方法 | |
Detti et al. | Exploiting information-centric networking to federate spatial databases | |
Ahulló et al. | Supporting geographical queries onto DHTs | |
Jinxia et al. | Ip geolocation technology research based on network measurement | |
KR20150112127A (ko) | M2m 컴포넌트에서의 로컬 자원 공유 방법 및 장치 | |
CN111723146B (zh) | 监测数据库的方法、管理***及存储介质 | |
CN113609130B (zh) | 获取网关接入数据的方法、装置、电子设备及存储介质 | |
Ma et al. | Distribution aware collaborative spread replication for rare objects in unstructured peer-to-peer networks | |
Lei et al. | Finding Route Hotspots in Large Labeled Networks | |
Liu | Distributed Databases Synchronization in Named Data Delay Tolerant Networks |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201027 |