关于p2p协议识别问题
关于p2p协议识别问题毕设题目关于p2p协议识别的.由于p2p协议很多,应用也很多。主要看了bt协议,
也抓包分析了数据包的特征。如果要做数据还原,解析出下载文件的类型,如何去
判断??捕获到数据包并分析完特征,如何去做还原? bt都是多条链路下载和上传文件。
由于题目很广,除了bt外如何去识别其他的p2p协议呢?
有思路的帮帮忙看看,不胜感激啊! 关于BT协议的流量识别,目前,最行之有效的办法就是基于特征码的识别,一般BT软件不会轻易更改协议特征码,如BT commet 、贪婪BT、EMULE等,但是也有一些软件特征码本身就加密,例如迅雷等,此外迅雷可将下载数据流通过HTTP隧道的方式传输,本身很难捕捉其真实数据,即使通过协议分析软件仍不能解开其报文信息,因此,无法彻底实现。流量监管或许是一种折中的解决方案。 对。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协议,你可以参考一些流量识别的论文,从中选取一些方法研究研究。 :) 现在能不能有现成的filter 可以下载
有帮助
谢谢阿 学习了:) :) :) 封迅雷 qq旋风 快车这类基于http的p2p不能从7层的特征码入手 因为可能已加密 ,启动这类基于p2p时会登陆一些域名,capture这些域名 封了就ok 现在已经有很多软件能够识别加密的bt流了,请问他们是怎么识别出来加密的P2P流的呢? 看你要求这么高,还得文件还原,最简单的方法就是设法得到种子文件,然后自己把文件下载下来!
好像下载文件的类型只有在种子文件中才有的,所以你可以想法得到下载的种子文件。
不知道这样行不行:既然你能抓到数据包,你肯定也能抓到和tracker通信的包,这个包里有种子文件的info_hash,得到了info_hash之后,怎么得到种子文件我就不知道了。没准还可以这样,你既然可以抓到多条链路上的数据包,只要它不加密,你根据BT协议本身就可以组装起来所有的pieces,得到整个文件,而在文件的头部,一般会有一个magic number,比如说exe,dll文件以MZ开头,rmvb文件以rmvb开头,这样你就知道文件类型了,再根据magic number 给命名,就可以打开了,而且你只需要判断文件类型的话,得到文件的第一个片的第一个块就行了。
其他的p2p协议,公开的就读协议和源代码,不公开的就抓包和逆向
不过你最好先搞清楚你要干什么,要达到一个什么目标,定得太大一个都干不了
[ 本帖最后由 horise 于 2009-4-5 23:07 编辑 ] :victory: :victory: 还是不大明白,怎么判断迅雷等基于http通道的下载工具的数据包。
现在是想用isa server2006来对这类型数据包进行过滤。 :) :loveliness: 学习 BT的太复杂了。。。。。。。。。。。。。
页:
[1]