090819项目进展:了解emule基础知识,猜想实现的方向
来源:互联网 发布:js 断点调试 编辑:程序博客网 时间:2024/05/16 17:49
猜想了一下ed2k资源的内网搜索可能有两种方案:
一,对给定ip段的主机进行搜索,观察也没有ed2k资源正在进行交互,如果有,对资源名称进行分析记录,作为搜索依据。
二,定位eMule服务器,调用eMule公开的搜索API进行资源搜索。
方案一太FTP了,eMule客户端自己的搜索也是按照方案二的,方案二是比较现实的方向。
如果要在内网实现,需要这样几个步骤:
1,使用内网提供的client进行下载,wireshark抓包分析出server的地址;
2,目前内网提供的client仅仅只有依据ed2k下载的功能,估计只有hash匹配没有名字匹配,名字匹配必须另找接口;
3,有办法能够遍历server上的share list就更方便了,总共享量应该不大,能有list对资源利用有不小的作用,这个需要可以使用第2项进行覆盖,如果能有 按类型 搜索的API,获取一张.avi的查询结果,一张.doc的结果,加上常用的资源后缀,差不多也就是想要的share list了。
对eMule的原理了解太少,还好网上的资料比较丰富,但是还没找到头绪,近期定位每天读点文档,慢慢找感觉。
emule是如何搜索的?
每一个客户端连接到一个服务器作为他的主服务器。在连接时,由客户端告诉主服务器他share了那些文件,以及IP地址等其他信息。所以每一个服务器会记录所有登陆到他服务器上的以上信息。在本服务器搜索时,它会通过匹配记录的已知以上信息把查找结果反馈给搜索的客户端列表。
emule是如何下载的?
当客户端选择了一个文件下载时,它首先收集一个拥有该文档的客户端的列表。
它会先行查询主服务器所有登陆用户他们是否拥有该文件。然后再连接和查选其他服务器的登陆用户所拥有该文件的客户端列表。一旦它找到拥有该文件的其他客户端,它将请求每个客户端发送这个文件的不同片。直至最后文件由这个不同的片组装成一个完整的文件。
找到几篇精彩的博文,谢过几位前辈,先收藏了,慢慢拜读:
开源软件,用vb打造人人都可以用,人人都可以开发的P2P软件
http://blog.csdn.net/CHINAVBCODE/archive/2005/08/30/468097.aspx
emule应用及原理
http://blog.csdn.net/petit/archive/2005/03/27/332157.aspx
源码解析
http://blog.csdn.net/zhangshaohan/archive/2006/12.aspx
- 090819项目进展:了解emule基础知识,猜想实现的方向
- 090818项目进展:了解emule基础知识
- 090822项目进展:学习emule源码1,
- 090823项目进展:学习emule源码2,文件管理类
- 090824项目进展:学习emule源码3,CAICHHashTree
- 090828项目进展:学习emule源码4,CAsyncSocketEx
- 今天的项目进展
- 接下来两星期的android进展方向
- 对安卓技术发展方向的猜想
- 对比STM32,ARM9研究方向的猜想
- 不计成本的项目进展
- Mono项目的新进展
- NAS项目的进展情况
- 090820项目进展:了解内网p2p软件共享机制
- 哥德巴赫猜想的实现
- 项目进展
- 项目进展
- 项目进展
- 心中鹰 - 献给创业未成的人
- [双语阅读]印度首次出现“女孩潮”
- 网页排名 page rank
- 神奇铅笔让孩子集中注意力
- Hang loose 轻松自如
- 090819项目进展:了解emule基础知识,猜想实现的方向
- [英语阅读]唱歌没调?不是你的错
- 股市抛售 sell-off
- 用高级语言通过简单的操作实现内存整理
- 商务英语:索赔
- 远程办公 Telecommuting
- document.body.scrollTop,document.body.clientHeight的值为0的问题
- windows日志发送到远程
- DM642中EDMA结构及优化