gydd 发表于 2008-7-4 11:18:42

关于p2p协议识别问题

关于p2p协议识别问题
毕设题目关于p2p协议识别的.由于p2p协议很多,应用也很多。主要看了bt协议,
也抓包分析了数据包的特征。如果要做数据还原,解析出下载文件的类型,如何去
判断??捕获到数据包并分析完特征,如何去做还原? bt都是多条链路下载和上传文件。
由于题目很广,除了bt外如何去识别其他的p2p协议呢?

有思路的帮帮忙看看,不胜感激啊!

xzs2003 发表于 2008-7-4 15:02:29

关于BT协议的流量识别,目前,最行之有效的办法就是基于特征码的识别,一般BT软件不会轻易更改协议特征码,如BT commet 、贪婪BT、EMULE等,但是也有一些软件特征码本身就加密,例如迅雷等,此外迅雷可将下载数据流通过HTTP隧道的方式传输,本身很难捕捉其真实数据,即使通过协议分析软件仍不能解开其报文信息,因此,无法彻底实现。流量监管或许是一种折中的解决方案。

grsgrs 发表于 2008-7-4 22:39:10

对。BT协议有固定的特征码,连接时都会发送一个包含BitTorrent Protocol字样的数据包,以互相建立通信。你可以识别该数据包,达到检测BT的目的。
具体可以看BT协议规范 The BitTorrent Protocol Specification
http://www.bittorrent.org/beps/bep_0003.html

eMule也有自身的协议,可以参考The eMule Protocol Specification
http://sourceforge.net/projects/emule/
上面有个描述协议原理的pdf


不过以上说的都是基于DPI的检测(最大的问题就是不能识别加密的P2P)。对于加密的P2P协议,可以通过流量识别方法检测出来。P2P和正常流量间有很多不同。想检测加密的P2P协议,你可以参考一些流量识别的论文,从中选取一些方法研究研究。

ipv6ok 发表于 2008-8-12 08:50:56

:) 现在能不能有现成的filter 可以下载

lyluyou 发表于 2008-8-12 21:00:42

有帮助

谢谢阿

小树 发表于 2008-8-20 15:35:35

学习了:) :) :)

harpym123 发表于 2008-8-21 10:56:43

封迅雷 qq旋风 快车这类基于http的p2p不能从7层的特征码入手 因为可能已加密 ,

启动这类基于p2p时会登陆一些域名,capture这些域名 封了就ok

ekgh 发表于 2009-4-3 08:42:01

现在已经有很多软件能够识别加密的bt流了,请问他们是怎么识别出来加密的P2P流的呢?

horise 发表于 2009-4-5 23:05:24

看你要求这么高,还得文件还原,最简单的方法就是设法得到种子文件,然后自己把文件下载下来!

好像下载文件的类型只有在种子文件中才有的,所以你可以想法得到下载的种子文件。
不知道这样行不行:既然你能抓到数据包,你肯定也能抓到和tracker通信的包,这个包里有种子文件的info_hash,得到了info_hash之后,怎么得到种子文件我就不知道了。没准还可以这样,你既然可以抓到多条链路上的数据包,只要它不加密,你根据BT协议本身就可以组装起来所有的pieces,得到整个文件,而在文件的头部,一般会有一个magic number,比如说exe,dll文件以MZ开头,rmvb文件以rmvb开头,这样你就知道文件类型了,再根据magic number 给命名,就可以打开了,而且你只需要判断文件类型的话,得到文件的第一个片的第一个块就行了。
其他的p2p协议,公开的就读协议和源代码,不公开的就抓包和逆向
不过你最好先搞清楚你要干什么,要达到一个什么目标,定得太大一个都干不了

[ 本帖最后由 horise 于 2009-4-5 23:07 编辑 ]

哈是个的 发表于 2009-5-27 00:04:56

:victory: :victory:

yuanye002 发表于 2009-11-19 12:55:51

还是不大明白,怎么判断迅雷等基于http通道的下载工具的数据包。
现在是想用isa server2006来对这类型数据包进行过滤。

come2008r2 发表于 2010-3-19 08:45:11

:) :loveliness: 学习

lddgh3140 发表于 2010-5-19 12:53:57

BT的太复杂了。。。。。。。。。。。。。
页: [1]
查看完整版本: 关于p2p协议识别问题