level 5
你这个帖子可以和那个说“总是损坏”的帖子一起看。
1、emule默认是压缩数据后再发送的,对方收到后解压缩获得原始数据,这样可以用有限的带宽传输更多数据。
2、攻击方在包头填写:
是否压缩:是
解压后大小:一个很大的数据,比方说2M
包体随便搞几个垃圾数据填进去完事。
这样的包很小,一般不到1k。现在的机器整上千个这样的包cpu占用率0%跳都不会跳一下
3、被攻击方
收到上面这样的包以后,解压缩包体,分配内存存放解出来的数据,写入对应的文件。
因为垃圾数据压缩比很高,可能几个字节解出来有1~2M,还要写入硬盘。上千个这样的包可是好一顿忙活,CPU内存硬盘都是折磨。
因为emule的文件验证机制是要等到一个块(9.28M)完成时才会hash确认,这个块完成可能用了好多天,可能是分别从多个用户那里下载拼凑完成的,总之最后确认文件正确性的时候已经无法判断是谁故意传过来垃圾数据的了。
当然发现文件不
正确的
时候,emule也不会把这个坏数据块共享出去污染更多用户。emule会把这个9.28M再切成180K的小块,然后询问那些源每个180k的hash值,与自己的对比,找出哪些180K的小块是坏掉的,再重新找源排队下载。总之又是好一顿忙活。
4、上面都是些呓语,反正这年头都是看标题脑补的主。下面回答楼主的问题:
“为何会话下了693M,但总共却只下载了775K?”
因为693M是解压缩后的大小总量,基本都是压缩比很高的垃圾数据;
“总共只下载了775K”,一点都没错,真的传给你的原始数据包就是只有这么点。就是这么点垃圾数据解压后那么大,貌似纯文本的压缩比就是1%?
总之,你醒悟了吗?这就是攻击!!
我是小白,上面这些吧里应该人人都是常识,早就见怪不怪了,算我班门弄斧,退吧以谢天下,遁!
2014年10月25日 01点10分
4
![[阴险]](/static/emoticons/u9634u9669.png)
我也遇到好多假源,而且基本都是amule
2014年10月25日 06点10分
层主说得太好了 谢谢
2014年11月10日 14点11分
level 12
这个用户有点不正常,amule的客户端,用户名却是emule官方的。这两软件配置是通用的么。你从他那里下载的文件是不是经常损坏,如果是的话就删掉吧,浪费时间。我都下载过好几个几百兆的空文件了,下载完了才发现,都不知道从谁那里下载的了,小水管伤不起。但凡能预览的文件我都会检查一下,免得被骗了。
2014年10月25日 04点10分
5