iNode协议再次分析by tsy

声明:

1)本报告由博客园bitpeach撰写,版权所有,免费转载,请注明出处,并请勿作商业用途。

2)若本文档内有侵权文字或图片等内容,请联系作者bitpeach删除相应部分。若为华为公司认定侵权,请向本作者提供相关建议和材料,电邮至[email protected],本人在确定公司来源无误下,尽义务地在24小时内删除。如若本人未能及时查收邮件,则可联系博客园站长删除。

3)本文档内容主要涉及iNode客户端逆向研究的主题,但较为简单可以认为是初步入门,贻笑大方请指正。

4)仅仅作为参考用途,抛砖引玉,不作为证据证明用途,请自行取舍,核实引用。最后声明本博文为开源学术研究,见贤思齐,秉承GNU GPL v2许可协议(由于种种因素,为保护隐私对数据包做了部分隐匿处理,这与本文开源宗旨并不相悖。如果部分数据包隐匿处理依然暴露我的信息,请评论提醒我,感谢。我不想被人挖坟)。本文内容不应用于任何商业目的及利益,请勿利用本文作商业利益活动。

iNode出了一些问题

今晚忽然看到iNode上不去了,需要验证某某了。但是一时理不出头绪,所以简要和大神bitdust一块抓了个包,但是大神跑了= =

1.1 2014年11月13日

这个时间节点是我第一次真正关注UDP报某某号的问题。

上图为当时2014年11月13日抓取的包。可以注意到当时这个包还是通过UDP服务报的.

但是今天再抓今天的包时,找不到这个UDP包,说明问题已经产生变化,可能现在不出在UDP问题上,所以我搜索了一下关键词,发现这样一个包,很奇怪。

1.2猜测

未知状态包可能是新增的自定义模式,其采用的格式需要进一步探索。我抓取了多人的数据包,发现某人也是类似问题。总结可能出现的状况如下:

(1)客户端版本没有更新,因为规程主体未变化

(2)某某验证号更新,不会影响网关变化,只是服务器认证。所以不会出现交换机断掉的现象,只是上不了网的现象。

(3)报某某号由UDP更为EAP包,极有可能更新了规程,但值得验证和讨论。不过可能性极大,因为UDP是尽可能交付服务,交付不上也不会产生问题。也就是说如果使用udp报某某号,没有验证也就没有验证了,无妨,不会影响上网。正是由过去的UDP模式改变为EAP,所以影响了上网。这不可能是客户端做到的,只能是服务端做的事情。因为大家的客户端没有变化。

(4)使用bitdust客户端一定程度上可以解决这个,大神提供了虚拟机的思路。至于我本人有两种方式思路可以解决它

我想有两种方式,一是老老实实更新和登记某某号码。二就是,好好研究bitdust你的路由器,为什么你的路由器会没有问题,这说明你的路由器破解了现在的方法!= =大神bitdust你果然很厉害!有先见之明。我想可能是socks你的新插件问题?既然没有封住你的路由器,说明你的路由器是疫苗。研究它就有用。我要紧跟你的步伐却学习协议问题。

时间: 2024-10-12 17:55:02

iNode协议再次分析by tsy的相关文章

深入理解HTTP协议、HTTP协议原理分析

深入理解HTTP协议.HTTP协议原理分析 目录(?)[+] http协议学习系列 1. 基础概念篇 1.1 介绍 HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写.它的发展是万维网协会(World Wide Web Consortium)和Internet工作小组IETF(Internet Engineering Task Force)合作的结果,(他们)最终发布了一系列的RFC,RFC 1945定义了HTTP/1.0版本.其中最著名的就是RFC 26

UDT协议实现分析——数据的接收

看了UDT中数据发送的部分之后,我们转换一个角度,来看一下接收端发生的故事. 如我们前面在 UDT协议实现分析--连接的建立 一文中看到的那样,CUDT在connect()的后半场,会通过调用CRcvQueue::removeConnector()把它自己从它的CChannel的接收队列CRcvQueue的m_pRendezvousQueue队列中移除出去,以表示连接已成功建立,后面不再通过m_pRendezvousQueue接收连接相关消息,并通过调用CRcvQueue::setNewEntr

UDT协议实现分析——连接的建立

UDT Server在执行UDT::listen()之后,就可以接受其它节点的连接请求了.这里我们研究一下UDT连接建立的过程. 连接的发起 来看连接的发起方.如前面我们看到的那样,UDT Client创建一个Socket,可以将该Socket绑定到某个端口,也可以不绑定,然后就可以调用UDT::connect()将这个Socket连接到UDT Server了.来看UDT::connect()的定义(src/api.cpp): int CUDTUnited::connect(const UDTS

Android IOS WebRTC 音视频开发总结(八十六)-- WebRTC中RTP/RTCP协议实现分析

本文主要介绍WebRTC中的RTP/RTCP协议,作者:weizhenwei ,文章最早发表在编风网,微信ID:befoio 支持原创,转载必须注明出处,欢迎关注我的微信公众号blacker(微信ID:blackerteam 或 webrtcorgcn). 一 前言 RTP/RTCP协议是流媒体通信的基石.RTP协议定义流媒体数据在互联网上传输的数据包格式,而RTCP协议则负责可靠传输.流量控制和拥塞控制等服务质量保证.在WebRTC项目中,RTP/RTCP模块作为传输模块的一部分,负责对发送端

UDT协议实现分析——UDT Socket的创建

UDT API的用法 在分析 连接的建立过程 之前,先来看一下UDT API的用法.在UDT网络中,通常要有一个UDT Server监听在某台机器的某个UDP端口上,等待客户端的连接:有一个或多个客户端连接UDT Server:UDT Server接收到来自客户端的连接请求后,创建另外一个单独的UDT Socket用于与该客户端进行通信. 先来看一下UDT Server的简单的实现,UDT的开发者已经提供了一些demo程序可供参考,位于app/目录下. #include <unistd.h>

UDT协议实现分析——数据的发送

连接建立起来之后,我们就可以通过UDT Socket进行数据的收发了.先来看用来发送数据的几个函数.UDT提供了如下的几个函数用于不同目的下的数据发送: UDT_API int send(UDTSOCKET u, const char* buf, int len, int flags); UDT_API int sendmsg(UDTSOCKET u, const char* buf, int len, int ttl = -1, bool inorder = false); UDT_API i

IP协议和TCP协议的分析

一,TCP/IP协议栈的概述 TCP/IP协议栈是由美国国防部(DoD)在20世纪60年代创建的(比OSI模型还早),是一种具体实现标准. 分为4层:网络接入层(链路层),Internet层(网络层),主机到主机层(传输层),应用层 由于TCP/IP协议栈涉及的知识点很多,而其中最主要的协议是IP协议和TCP协议,故本文主要是针对IP和TCP协议来分析,其他的知识点后续补上. 二,IP协议 IP(Internet Protocol,网际协议)是TCP/IP协议栈中最重要的协议(位于网络层),用于

Python爬虫最为核心的HTTP协议解析,及自定义协议的分析!

机器之间的协议就是机器通信的语法,只有按照这种语法发来的信息,机器之间才能相互理解内容,也可以理解为信息的一种格式. HTTP/IP协议是互联网最为重要的协议,没有HTTP/IP协议,也就没有互联跟不会有网,对于爬虫而言一切数据.请求都是围绕HTTP协议展开.但是在python实现的网络爬虫中都是使用封装好了的请求库如:requests.scrapy.urllib等,这些是对socket的封装,而socket是除了机器语言外最底层的协议. HTTP是公认的协议,但是并不是所有的终端通信都使用HT

UDT协议实现分析——UDT数据收发的可靠性保障

不管是数据的发送还是数据的接收,大体的流程我们基本上是都理了一下,还分析了数据收发过程中用的数据结构,接下来就看一些UDT中数据收发更精细的一些控制. UDT数据收发的可靠性保障 来看一下UDT中数据收发的可靠性保障. 接收包丢失列表CRcvLossList 先来看一下CRcvLossList的定义: class CRcvLossList { public: CRcvLossList(int size = 1024); ~CRcvLossList(); // Functionality: //