吸血驴
吸血驴,又称吸血骡,通常指在连接eDonkey網路的文件共享客户端软件之中,只下载资源数据不上传或上传下载比例很小的,或者有其他不良行为的软件。“吸血驴”一词的讨论范围有时候也可以是其他P2P網路。
吸血驴的出现通常是由于一些商业公司或程序员对开源的eD2k软件进行二次开发修改成为新的客户端(例如修改eMule成为其Mod)时,减少其上传下载比例或做出其他一些不良行为。吸血驴被认为违背了網路资源共享道德与精神,也损害了P2P網路的秩序与其他P2P用户的利益。但至今依然有一定数量的用户。
讨论范围
中文中由于有“驴”字,“吸血驴”通常的讨论范围是可以连接eDonkey網路(又称eD2k網路,或电驴網路)的客户端软件(即eD2k软件或电驴软件、eDonkey软件)。“吸血骡”按字面意思,讨论范围应该是eMule(电骡)的Mods,但大多数时候不限于此,也可以讨论其他eD2k软件,因此可认为和“吸血驴”讨论范围相同。
少部分时候,也将“吸血驴”一词拿来称呼BitTorrent等P2P网络中的吸血者,但一般使用“吸血软件”一词指代。
英文的或指吸血的P2P客户端软件,也可泛指有“吸血”行为的任何软件,参见英文词条 Leech_(computing)。英文的一般只讨论eMule Mods,但也有人将其他eD2k软件中的吸血者称为Leecher-Mods。
定义
讨论“吸血驴”,并不是狭义地仅指其只下载资源数据不上传,或上传下载比例很小。一般来说[1],有任何不良行为、有损其他客户端或服务器的eD2k软件、不利于eD2k网络公平性的行为都可称为“吸血驴”。这些不良行为通常可能包括[2][3][4]:
- 只下载不上传或上传下载比例很小;
- 只上传自己可以交换到对方下载的最小数据量。即Credit Shaping,相当于用软件实现“下了就跑”;
- 每次启动时或正常工作时变换自己的UserHash(用戶哈希值)和安全认证,让其他客户端误认为此客户端是新手;
- 假冒不同的IP+端口下同一个文件;
- 过于频繁地向其他客户端或服务器端发送请求,称攻击性客户端;
- 使用虚假的ModString,或盗用其他客户端的ModString或者用户名、UserHash等(有可能能躲过某些客户端反吸血功能的侦测。盗用用户名则向连接客户显示与该客户一模一样的用户名,这可以从社区加分客户端获得上传加分);
- 故意传播坏文件段或是假冒成熱門檔案,骗取上传;
- 伪造队列排名,严重影响公平;
- 滥用社区加分。社区加分就是某客户端软件为自己的软件用户或某些特定人群加分,其他客户端将受到歧视,有损公平性。其吸血的程度可视社区加分的程度而定,有时称社区吸血,这个软件使用者所构成的网络也被称为私有网络;
- 不能主动生成eD2k链接,只能被动地接收eD2k链接。有用户认为这是“消极共享”的行为,不利于网络公平性。
- 作为GNU GPL软件的修改衍生版本却未开源,或作出了其他违反GPL协议的行为。违反GPL的软件称GPL-Breaker。
- 作为eMule Mods却没有自己的ModString,称Ghost Mod,有可能会被官方eMule屏蔽。[5]
后果
eDonkey网络上大多数客户端拥有排队机制。这种机制可以保证,分享给某客户端的资源数据更多者,就能从某客户端那里获得更优先的下载权。这也保持了eDonkey网络资源的长期有效性。吸血驴在下载过程中或结束后不给其他人提供上传或上传较少,或做出其他一些不良行为,因而被认为破坏了这种排队机制,是潜在的对P2P网络资源共享道德与精神的摒弃,损害了P2P网络的秩序与其他P2P用户的利益,并可能将导致P2P网络效率下降,甚至崩溃。
处理
eMule官方、eMule Mods和其他的一些eD2k软件都或多或少地有对某些吸血驴有处理办法,比如对侵略性客户端的自我保护机制等。而专门的侦测方式则有IPFilter(IP过滤)、Xtreme等多个Mods的DLP、MorphXT的反吸血功能、MagicAngel的Argos、客户端分析系统(Client Analyzer)等。
eMule官方
官方eMule有IP地址过滤(IPFilter)、垃圾信息和攻击型客户端侦测过滤功能。另外也有一些内置的侦测功能[5]。但并没有非常精确或者可及时更新的对吸血驴的侦测方式。
eMule官方对于其Mod有要求[4],以下三条是不被官方允许的:
- 手动或者无提示的影响上传/下载;
- 伪装自己以欺骗其他用户或者伪装为“良好行为”;
- 增加服务器的负担或者过于频繁地向服务器发送信息,破坏干扰服务器运作。
由此可见,eMule官方明确反对攻击性客户端和有伪装行为的客户端。同时,也禁止允许用户手动屏蔽其他客户端的Mod。但对于像DLP等根据指定列表进行侦测而非手动的反吸血屏蔽,eMule官方并未反对,也未表示支持。
其他要求还包括:必须提供当前版本文件的更新日志与下载地址;必须开源;eMule中注明“Mod不能修改”的代码部分不可修改。
DLP
反吸血驴功能之中使用最广的是Xman于2005年为Xtreme Mod开发出的DLP(全称:Dynamic Leecher Protection,中文:动态反吸血驴保护),用于辅助eMule检测并屏蔽吸血驴,从Xtreme4.5版开始使用,Xtreme的DLP库也被认为是官方DLP库,至今一直在更新。目前支持DLP且默认使用官方DLP库的有Xtreme、MagicAngel、ScarAngel、Mephisto、X-Ray、StulleMule、NeoMule(非完全)、CN、Dreamule等Mod。VeryCD公司的VeryCD Mod和EasyMule支持DLP但默认使用了自己的DLP库,放行了被很多用户认为是吸血驴的迅雷,却多次错误地屏蔽了Xtreme等Mod,因而VeryCD的做法招来了许多争议[6][7]。
其他
BitTorrent协议方面,由于迅雷有“插队”、“高速下载”模式、计划关机等可能非公平的功能,对BitTorrent协议也可以设置限时分享,有不少用户怀疑迅雷不會上傳回饋或者極少回饋於BitTorrent协议软件。因而迅雷被BitComet等软件的一些用户所屏蔽。而BitComet的“长效种子”等特性也被视为有变相吸血之嫌。前段时间迅雷的新版本“迷你迅雷”可以吸血,并且官方并没有发现这个新吸血驴,但现在已经有新的MOD指明迷你迅雷是一个吸血驴。
WinMX方面,日本網友寫了一個名為「MX Monitor」的程序,來自動與其他網友交換文件、禁封不發文件者等。
其他像Gnutella2网络上也存在有吸血的现象和对抗措施。
參考资料与注释
- Xtreme的动态反吸血驴保护侦测的是所有有不良行为的客户端。很多中外的讨论区,在讨论Leecher/吸血驴时,也是讨论的所有有不良行为之eD2k软件,甚至包括违反GPL的软件。只是有时可能会在判定“不良”的程度和处理方案上有异议。
- . killsophia. 2009-05-17 [2009-09-26]. (原始内容存档于2010-09-13).
- . wiki.emule-web.de. [2009-09-26]. (原始内容存档于2009-05-31) (德语).
- . 古典. [2009-09-26]. (原始内容存档于2010-10-30).
- ModString是显示于eMule主版本号之后的、Mod的版本名称及其版本号,通常显示在中括号“[]”内,大部分eMule都显示ModString,eMule之中,只有官方eMule才没有ModString,因此非官方eMule Mods没有ModString将被视为冒充官方的行为,称之为Ghost Mod。2007年初,VeryCD Mod就曾因被判定为非官方eMule又无ModString的Ghost Mod,而被官方eMule内置的侦测功能自动屏蔽,见:. [2009-09-28]. (原始内容存档于2019-12-06).
- . hupisha. [2009-09-26]. (原始内容存档于2009-12-10).
- . 立牌坊的假驴. [2009-09-26]. (原始内容存档于2009-12-13).