1 / 16
文档名称:

eMule Kad 网络分析.doc

格式:doc   页数:16
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

eMule Kad 网络分析.doc

上传人:wiztre 2013/11/11 文件大小:0 KB

下载得到文件列表

eMule Kad 网络分析.doc

文档介绍

文档介绍:Emule Kad协议手册
文档编写:kernel,huby
版权所有: emuledev@
一、概述 3
二、协议参数分析 3
BootStrap Req/Res 3
Hello Req/Res 4
Kad Req/Res 4
Kad Search/Publish Req/Res 5
Kad Firewalled Req/Res 6
Kad FindBuddy Req/Res 6
kad Callback Req 6
三、KAD Search Action 7
、SendFindValue 7
、StorePackt 8
GetInfo相关协议: 8
Publish 相关协议: 8
四、Emule Buddy机制分析 9
网络协议包序列图: 9
五、Emule Kad 数据结构分析 11
附录1( OPCode List): 12
附录2(Question List): 14
一、概述
Kad使用UDP协议,通过eMule软件的UDP端口发送和接收数据
这个宏定义了我能够接受的KAD最高版本
#define KADEMLIA_VERSION 0x02
在ed2k协议里面被使用
CUpDownClient::SendHelloTypePacket
Kad版本:
区别:使用两套独立的opcode
,将版本信息写入协议,日后的扩展不再需要修改opcode
,

KAD协议基本上是成对的一个REQ(Request)就有一个对应的RES(Respone)
所有具有KAD头的包,(有些可能是压缩的),最终被送到Kademlia::Process中处理
Process处理各种不同的opcode并将这些数据送到对应的处理函数,在REQ消息的处理函数中,解析发送过来的数据,并且构造RES数据包并发送出去
二、协议参数分析
BootStrap Req/Res
0x00 KADEMLIA_BOOTSTRAP_REQ
发送请求,这个时候急需扩大自己的KAD网络
总共发送25B, 参照CKademliaUDPListener::SendMyDetails
16B
The sender Kad ID
4B
The sender IP
2B
The sender UDP Port
2B
The sender TCP Port
1B
0
0x08 KADEMLIA_BOOTSTRAP_RES
Packet Param: 返回20个Peer信息+自己的信息
KADEMLIA2_BOOTSTRAP_REQ
KADEMLIA2_BOOTSTRAP_RES
Hello Req/Res
0x10 KADEMLIA_HELLO_REQ
总共发送2B+25B, 参照CKademliaUDPListener::SendMyDetails
1B
OP_KADEMLIAHEADER
1B
byOpcode
16B
The sender Kad ID
4B
The sender IP
2B
The sender UDP Port
2B
The sender TCP Port
1B
0
0x18 KADEMLIA_HELLO_RES
回应KADEMLIA_HELLO_REQ,协议包格式和KADEMLIA_HELLO_REQ一样
KADEMLIA2_HELLO_REQ
参照CKademliaUDPListener::SendMyDetails
1B
OP_KADEMLIAHEADER
1B
byOpcode
16B
The Sender KadId
2B
The sender UDP Port
1B
KADEMLIA_VERSION
1B
Tag Count(2)
1B+32B
TAG_USER_COUNT(uint32)
1B+32B
TAG_FILE_COUNT(uint32)
KADEMLIA2_HELLO_RES
回应KADEMLIA2_HELLO_REQ,协议包格式和KADEMLIA2_HELLO_REQ一样
我们可以看到,,KadHello交换数据包括了自己Kad中已知的用户数和文件数, 但接收方都没有处理其中的Tag信息
Kad Req/Res
0x20 KADEMLIA_REQ
向一个Contact发送KAD Searc

最近更新

第二章-染色体与DNA 139页

小学数学新人教版二年级下册3.2.3 认识10000教.. 17页

2026年国开电大城市管理学形考题库100道及参考.. 38页

集装箱起重机颗粒阻尼减震机理与仿真研究 7页

2026年大学商贸学院专升本C语言考试真题(预热.. 13页

2026年宁夏财经职业技术学院单招综合素质考试.. 44页

2026年新疆交通职业技术学院单招综合素质考试.. 43页

基于知识图谱与多目标优化的斜拉桥智能养护决.. 6页

2026年计算机二级c语言真题(典优) 13页

2026湖南长沙市明德望城学校上学期校聘教师招.. 48页

c语言基础知识试题标准卷 13页

新安全生产法知识竞赛试题库【夺冠系列】 43页

基于深度学习信道模拟器的光纤纵向功率估计 6页

基于OBE理念的大学英语课程思政教学优化策略研.. 7页

河北省冀州中学2025-2026学年高一上学期10月月.. 13页

2025年鹤壁能源化工职业学院单招职业适应性考.. 44页

2025浙江宁波人才服务有限公司招聘2人备考题库.. 46页

2025西安交通大学期刊中心招聘(7人)参考题库.. 44页

2025鄂尔多斯伊金霍洛旗公立医院自主招聘64名.. 44页

2026宁夏面向浙江大学招录选调生参考题库附答.. 50页

2026年C语言专升本真题精选答案 13页

2026年c语言循环程序设计题目(巩固) 13页

2026年C语言期末试题北京卷及答案(精选题) 13页

2026年c语言编程练习题(综合卷) 13页

2026年安徽城市管理职业学院单招职业适应性考.. 37页

2025年湖南省建设工程工程量清单计价办法(新).. 51页

2025年江西信息应用职业技术学院单招职业适应.. 127页

2025年江西信息应用职业技术学院单招职业倾向.. 73页

喝酒给老婆的检讨书 6页

vae乳液低温发泡工艺 29页