一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种通过P2P协议对比特币节点网络进行监测的方法与流程

2021-10-27 20:35:00 来源:中国专利 TAG:节点 监测 协议 方法 网络

一种通过p2p协议对比特币节点网络进行监测的方法
技术领域
1.本发明属于信息技术领域,具体涉及一种通过p2p协议对比特币节点网络进行监测的方法。


背景技术:

2.比特币又被称为分布式账本,具有去中心化、匿名性、鲁棒性等优势,与其采用的p2p 网络架构有分不开的联系。可以说,p2p网络是比特币运行的基石,没有p2p,比特币的账本设计则失去了价值。而比特币节点就是比特币p2p网络中的一个基本单位。在比特币程序中,每个和本地进行连接的节点信息都被存储在一个cnode结构体中。
3.在bitcoin的网络中,一个节点可以将自己维护的对等节点列表(peer list)发送给临近节点,所以在初始节点发现之后,你的节点要做的第一件事情就是向对方要列表:“快把你的节点列表给我复制一份。”4.所以在每次需要发送协议消息的时候,它会花费固定的时间尝试和已存的节点列表中的节点建立链接,如果有任何一个节点在超时之前可以连接上,就不用去dns seed获取地址,一般来说,这种可能性很小,尤其是全节点数目非常多的情况下。
5.比特币的网络通信协议:两个节点建立连接后,发起连接者发送version命令,接受者响应verack命令并发送version命令,发起者响应verack命令,如图1所示。
6.如果把verack和version画在一起,就和tcp的三步握手一样了。交换完这几个协议命令之后,两个节点的连接就完全建立好了,就可以发送协议命令了。
7.当比特币的一个新节点如果想要加入比特币网络,首先要能够找到一个已经在比特币网络中的节点进行连接。需要通过访问seed获取到比特币节点地址值列表,从而获得许多比特币节点地址。
8.在需要对全球比特币节点网络进行测绘时,就需要利用传统的端口探测方式配合p2p协议的特征来最大限度的获取全量节点列表。
9.但是当前主流的全球节点网络探测技术使用的是通过穷举全球所有ipv4的地址配合主动端口探测方式来抓取端口指纹进行比对从而全球定位节点ip。由于全球节点的周期性变化很快,而该探测方案周期较长,并且发送大量探测请求极为容易被安全运营商拦截,故该技术方案存在探测慢,无法及时跟进节点波动变化,资源消耗大等缺陷。


技术实现要素:

10.为了解决背景技术中存在的问题,本发明提供了一种通过p2p协议对比特币节点网络进行监测的方法。
11.本发明提供的一种通过p2p协议对比特币节点网络进行监测的方法,其特征在于:包括 p2p节点信息获取模块、端口探测模块和指纹采集模块,所述p2p节点信息获取模块的功能有:1、模拟正常节点对比特币seed节点发起p2p连接请求;2、获取seed节点中p2p节点的ip列表;3、对获取的节点ip进行p2p连接请求,并重复功能1和功能2,所述端口探测模块
的功能有:1、探测目标ip的p2p端口是否打开;2、探测目标ip是否存在其他敏感端口,所述指纹采集模块的功能有:1、获取比特币节点服务器指纹信息;2、将指纹信息入库分类。
12.所述p2p节点信息获取模块通过调度程序控制,所述p2p节点信息获取模块通过findnode 请求包与公网区块链节点网络连接,所述p2p节点信息获取模块为定制便携模块。
13.所述端口探测模块通过调度程序控制,所述端口探测模块内设置有端口扫描模块 zmap/masscan通过端口探测公网区块链节点网络并记录信息。
14.所述端口探测模块通过端口探测得到p2p发现节点ip列表,所述端口扫描模块 zmap/masscan将得到的p2p发现节点ip列表发送给p2p节点信息获取模块。
15.所述端口探测模块通过端口探测得到特征ip列表,所述端口扫描模块zmap/masscan将的到的特征ip列表发送给指纹采集模块,并通过指纹采集模块进行分类。
16.所述指纹采集模块通过定制探针与公网区块链节点网络连接。
17.所述指纹采集模块通过公网区块链节点网络取得指纹数据,并将指纹数据入库分类。
18.本发明的有益效果:本发明模拟正常比特币节点的p2p连接,来获取p2p网络内的节点 ip列表,对比特币全球网络节点的快速测绘与监控的时间由多天提升为12小时,大大缩短了快速测绘与监控所需的时间。
附图说明
19.图1为本发明一种通过p2p协议对比特币节点网络进行监测的方法的网络通信协议示意图。
20.图2为本发明一种通过p2p协议对比特币节点网络进行监测的方法的监测流程示意图。
具体实施方式
21.以下结合附图对本发明作进一步说明:
22.本发明提供的一种通过p2p协议对比特币节点网络进行监测的方法,包括p2p节点信息获取模块、端口探测模块和指纹采集模块,所述p2p节点信息获取模块的功能有:1、模拟正常节点对比特币seed节点发起p2p连接请求;2、获取seed节点中p2p节点的ip列表;3、对获取的节点ip进行p2p连接请求,并重复功能1和功能2,所述端口探测模块的功能有: 1、探测目标ip的p2p端口是否打开;2、探测目标ip是否存在其他敏感端口,所述指纹采集模块的功能有:1、获取比特币节点服务器指纹信息;2、将指纹信息入库分类。
23.所述p2p节点信息获取模块通过调度程序控制,所述p2p节点信息获取模块通过findnode 请求包与公网区块链节点网络连接,所述p2p节点信息获取模块为定制便携模块。
24.所述端口探测模块通过调度程序控制,所述端口探测模块内设置有端口扫描模块 zmap/masscan通过端口探测公网区块链节点网络并记录信息。
25.所述端口探测模块通过端口探测得到p2p发现节点ip列表,所述端口扫描模块 zmap/masscan将得到的p2p发现节点ip列表发送给p2p节点信息获取模块。
26.所述端口探测模块通过端口探测得到特征ip列表,所述端口扫描模块zmap/masscan将的到的特征ip列表发送给指纹采集模块,并通过指纹采集模块进行分类。
27.所述指纹采集模块通过定制探针与公网区块链节点网络连接。
28.所述指纹采集模块通过公网区块链节点网络取得指纹数据,并将指纹数据入库分类。
29.以上对本发明及其实施方式进行了描述,这种描述没有限制性,具体实施方式中所示的也只是本发明的实施方式之一,实际的结构并不局限于此。总而言之如果本领域的普通技术人员受其启示,在不脱离本发明创造宗旨的情况下,不经创造性的设计出与该技术方案相似的结构方式及实施例,均应属于本发明的保护范围。


技术特征:
1.一种通过p2p协议对比特币节点网络进行监测的方法,其特征在于:包括p2p节点信息获取模块、端口探测模块和指纹采集模块,所述p2p节点信息获取模块的功能有:1、模拟正常节点对比特币seed节点发起p2p连接请求;2、获取seed节点中p2p节点的ip列表;3、对获取的节点ip进行p2p连接请求,并重复功能1和功能2,所述端口探测模块的功能有:1、探测目标ip的p2p端口是否打开;2、探测目标ip是否存在其他敏感端口,所述指纹采集模块的功能有:1、获取比特币节点服务器指纹信息;2、将指纹信息入库分类。2.根据权利要求1所述的一种通过p2p协议对比特币节点网络进行监测的方法,其特征在于:所述p2p节点信息获取模块通过调度程序控制,所述p2p节点信息获取模块通过findnode请求包与公网区块链节点网络连接,所述p2p节点信息获取模块为定制便携模块。3.根据权利要求1所述的一种通过p2p协议对比特币节点网络进行监测的方法,其特征在于:所述端口探测模块通过调度程序控制,所述端口探测模块内设置有端口扫描模块zmap/masscan通过端口探测公网区块链节点网络并记录信息。4.根据权利要求3所述的一种通过p2p协议对比特币节点网络进行监测的方法,其特征在于:所述端口探测模块通过端口探测得到p2p发现节点ip列表,所述端口扫描模块zmap/masscan将得到的p2p发现节点ip列表发送给p2p节点信息获取模块。5.根据权利要求3所述的一种通过p2p协议对比特币节点网络进行监测的方法,其特征在于:所述端口探测模块通过端口探测得到特征ip列表,所述端口扫描模块zmap/masscan将的到的特征ip列表发送给指纹采集模块,并通过指纹采集模块进行分类。6.根据权利要求1所述的一种通过p2p协议对比特币节点网络进行监测的方法,其特征在于:所述指纹采集模块通过定制探针与公网区块链节点网络连接。7.根据权利要求1所述的一种通过p2p协议对比特币节点网络进行监测的方法,其特征在于:所述指纹采集模块通过公网区块链节点网络取得指纹数据,并将指纹数据入库分类。

技术总结
本发明提供的一种通过P2P协议对比特币节点网络进行监测的方法,包括P2P节点信息获取模块、端口探测模块和指纹采集模块,所述P2P节点信息获取模块的功能有:1、模拟正常节点对比特币Seed节点发起P2P连接请求;2、获取Seed节点中P2P节点的IP列表;3、对获取的节点IP进行P2P连接请求,并重复功能1和功能2,所述端口探测模块的功能有:1、探测目标IP的P2P端口是否打开;2、探测目标IP是否存在其他敏感端口,所述指纹采集模块的功能有:1、获取比特币节点服务器指纹信息;2、将指纹信息入库分类。将指纹信息入库分类。


技术研发人员:林伟君
受保护的技术使用者:厦门莲隐科技有限公司
技术研发日:2021.07.21
技术公布日:2021/10/26
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜