前言:事實上leech/leecher這個詞最早出現在p2p世界的時候並不是特指吸血的,而是相當於今日的download,即正在下載的客戶端(相對於下載已經完畢正在進行上傳的客戶端)。leecher是何時被用來指代用各種手段使得數據不公平交換的技術和客戶端,已經不可考,但是無疑的,emule世界出現的anti-leecher相關技術是最為明確的標誌。
這篇文章將不再考證anti-leecher出現的歷史和背景,而是主要著眼於emule世界中leecher的性質和行為。
下文中所說的emule網路,指代所有使用eD2K協議進行數據交換的p2p網路(為了避免使用電驢網路這個目前在中國指代意義混亂的名詞)。
一、leech與leecher
關於吸血的定義,我在另一篇文章什麼是吸血,如何定義吸血行為,如何對抗吸血行為已經討論過了。這裡要重新強調的一點是,必須從行為的本質上分析吸血行為,而不是單純地從上傳或者不上傳來判斷是否屬於吸血。
首先我將展開論述這一點。
如上所述,emule是建立在p2p(=peer-to-peer ,peer這個詞自身就含有地位平等的意義)上的網路,因此它是建立在平等的數據交換這個基本前提上的。這裡的平等,與公平有本質上的不同,它強調的是客戶端之間的地位是對等的(即不是伺服器端到客戶端的數據傳輸方式),因此每個客戶端的(獲取數據的)權利和(上傳數據的)義務是平等的。emule的公平是由平等的數據交換而產生的公平,不是一般意義上的我給你多少你就給我多少的公平。emule並不要求獲取了1G的數據量就必須上傳1G的數據量(也就是公平),而是要求將所獲取到的數據在其他客戶端發出需求的時候回饋至網路中。在這個層面上,emule的信用系統(credit system)的作用是巨大的,它保證了上傳數據較多的客戶端會取得較高的數據獲取優先權,從而實現了數據傳輸的良性循環。同時通過一些策略保證了新加入網路的客戶端也能夠較為優先的獲取數據(因為新加入的客戶端必然沒有很大的上傳積累量,即沒有很高的因上傳而帶來的信用「積分」),以利於網路能夠不斷拓展。而emule的文件優先順序的設計,使得信用系統(即俗稱的積分)成為程序確定上傳哪個文件、上傳多少給某個特定的客戶端的唯一依據,這也是保證數據傳輸的良性循環非常重要的一環。(因此使用者可以控制自己的哪些文件用於上傳,但是不能控制將某個文件上傳給特定或確定的客戶端,通常所說的emule的公平的意義正在於此。)
吸血行為恰好相反。吸血行為的本質,就是通過控制上傳(的具體內容和數據量),來欺騙性的獲得數據獲取優先權,以便能夠最大化地進行下載。leecher並非不上傳,因為在emule的credit system的作用之下,不上傳數據而想獲得下載,必須依靠信用系統給予新客戶端的「優惠」,但是這個「優惠」具有時效性不能長期使用,在下載較大的文件時必然會產生一段時間之後幾乎無法獲取數據的情況。(相應的,有一種吸血行為是每次啟動都變換userhash來偽裝成新手,這是很不便的,因為並不是所有的客戶端程序都可以隨時關掉重開的)。
二、leecher的上傳與正規客戶端的上傳的差異
上面已經論述了leecher必須上傳的原因,下面將要講到的部分,就是leecher的上傳如何體現了leecher的本質。
在我們所熟知的http下載中,並不存在吸血這樣的事物。leecher是伴隨著p2p出現的新鮮事物,它的基本特徵就是為了最大化數據的獲取,即使破壞數據傳輸的良性循環也在所不惜。因此我們通常說,吸血是「一切上傳僅為了下載」。它不考慮整個網路的數據循環和發展,而只注重最大化下載。如果是在http下載中這無可指摘,但是放到依靠平等的客戶端互相傳輸數據的p2p網路中就變成了嚴重的問題。
下面的這個部分,並不涉及community boost所形成的私有網路。
leecher向正規客戶端上傳數據是具有選擇性的。它不向自己沒有數據需求的客戶端上傳數據,甚至採用failed upload這樣的技術手段騙取上傳積分,以提高在正規客戶端的上傳隊列中的排名,更早更多地獲得下載。因此,它上傳的數據,不是為了回應其他客戶端的請求以將數據在網路中傳播出去形成數據的循環,而是滿足自身下載需求。換言之,它的「給」,從頭到尾都是為了「拿「。
leecher不考慮與其他客戶端之間的數據交換,只是一味的通過各種技術手段盡多儘快的獲取數據,因此會造成在宏觀上的數據單向流動,從而會破壞數據的良性循環,影響emule網路的正常傳輸,嚴重時就會直接毀掉依賴對等傳輸的emule網路。
三、community boost(社區吸血)
社區吸血是當前非常典型的、也是較為主流的leecher類型。社區吸血的主要特徵就是一個小團體內部進行數據交換,但是極少反饋給作為數據來源的全球emule網路,通常把這個小團體稱為」私有網路「(private network)。
社區吸血的標誌性技術手段,是通過特定的用戶名(或用戶名的部分)及/或userhash及/或mod string來對特定的客戶端進行加分,以給予其相對較高的數據獲取優先權。非常明顯,這個信用系統是特別改造過的,且這種信用系統與對上傳者高回報的信用系統(常見的非官方信用系統)是完全不同的。私有網路的內部數據交換,可以是不完全」公平「的,但是因為其小範圍的特性,私有網路的成員仍然享有相對於公共網路成員而言完全不可想像的數據獲取優先權。另外,由於社區吸血的私有網路內部,使用的多是一些leecher mod或者有吸血行為/技術手段的客戶端,本身就對emule網路有一定的破壞性,使得社區吸血幾乎就相當於一個毒瘤。
必須指出的一點是,社區吸血並不是通常想像的那種一個自給自足偶爾跟外界交換的」小水塘「,它的每一個節點都在不斷的從公共網路中獲取數據,但是獲取到的數據在這個私有網路內部的交換的數據量遠遠大於回饋至公共網路的數據量。因此不管是從微觀上看還是從宏觀上看,社區吸血都造成了數據交換中事實上的大範圍不平等。
49條評論隱藏
@ex
您說的是憲法第五條
一切法律、行政法規和地方性法規都不得同憲法相抵觸。
而我在後面補充的的相關法同樣亦指憲法,第三十八條
中華人民共和國公民的人格尊嚴不受侵犯。禁止用任何方法對公民進行侮辱、誹謗和誣告陷害。
民法通則第101條正是對憲法三十八條的解讀,詳細說明了如若違反,公民應該承擔何種義務
憲法和憲法條款之間並不抵觸,後面的條款是對前麵條款未涉及事宜進行補充說明,所以憲法第五條和第三十五條並不能約束同等法律效力的憲法第三十八條。
@犟騾子
您所說之failed upload情況並不是不給你想要的,而是不給你全部你想要的,簡單地說就是下了就跑的情況,而我原帖子恰恰說的也是如果做種不是唯一資源發布者,那麼即使他跑了還有別人來續源方便下載完成,事實上也是這樣一個較大的文件在ed網路中傳輸,很難保證其點對點的雙方不會斷開連接,請問連上一個發布源直至下載完成的幾率有多大?您所說的這種情況要麼就是發布源就只有一個人,要麼就是發布源誠心給傳假文件,對於後者,我已經明白表示歉意了,這種人理當在抨擊範圍之內,但是發布源就一人的情況則有不同,別人分享給你就是自願的,他因故要關閉客戶端並不能強求,就正如沒人會說您家裡突然停電導致對方下載失敗一樣。
sb
@sb
您的名字好有個性,是您母親替您取的名嗎?
管理員,我控告153樓誹謗。sb只是我的網名,不是我母親替我取的名字,153樓居然誹謗說是我母親替我取的名字,依照憲法第38條和民法通則第101條,認定為通過誹謗等方式損害公民、法人的名譽絕不為過
本人對154樓言論發表聲明樓上我原文並沒加入樓上提及的兩個字母,是否您母親替您取名也是詢問句
兩個字母皆為引用152樓樓主自行註明之原文,乃本網系統回復之功能,本人並沒有涉及誹謗之行為
@祈禱永恆的愛
從字面上就可以看出「failed upload」指的是上傳的是錯誤的數據。我的確給你上傳了數據,可這些數據並不能通過AICH Hash校驗。建議你仔細看看AICH Hash的相關介紹。
很明顯,153樓故意捏造我母親替我取名的事實,誹謗情節特別嚴重,應該遵循《刑法》第246條從重處罰
@犟騾子
156樓請賜教,如果無法通過AICH hash那是否可以判定即為虛假文件?如果您代指為該情況我再次鄭重的向博主以及各位因我個人貼導致困擾的朋友道歉,因為我一般既定的認為無法通過校驗即是前文所述之虛假文件,AICH Hash亦為文件的真實性重要考據手段之一。
啊喲,笑死了,肚子疼。。。。。。。。。
ps.我希望這一貼沒有被祈禱永恆的愛抓住認為是對他的嘲笑損壞了他的名譽侵犯了他的尊嚴侮辱了他的人格而把我告上法庭,謝謝
@sb
設問句只表達了關切的向對方提出質疑,對方是否給予回答是對方的自由,在沒有得到肯定的答覆之前並不能代表詢問方對該觀點予以支持,小學語文課本對中文語言語法有明確詮釋,因此並不能表示鄙人混淆視聽,肯定自己提出的設問觀點,是否予以肯定則由被詢問者自行選擇回答,但那也僅代表被詢問者個人之觀點。
@emuler
您肚子痛可以用近於體溫的熱毛巾祛痛,如該方法不奏效並癥狀加重,介於現在北京時間已晚,內科醫生均已下班,建議您撥打120前往醫院急診部就醫。
那個人一開始明顯根本不知道「憲法」是什麼東西,哪個法高哪個法低。為了展示自己博學多才,搜索來一堆條款擺弄自己了不起似的。從前面提及linux就看出來了,他就巴不得把話題展開,展示自己博學,命令行用得溜,嘲笑別人是新手,連gui都成了垃圾,其實到頭來不還是個用著d版win的傢伙
嚴正聲明:我這一貼也不一定是在說祈禱永恆的愛我希望這一貼也沒有被祈禱永恆的愛抓住認為損壞了他的名譽侵犯了他的尊嚴侮辱了他的人格而把我告上法庭,謝謝 😥
所以,有些人,他們的言辭、想法、知識水平,展示在那裡就是一個笑料,讓人不可思議得甚至發人深思,更何必浪費口舌去反駁呢?
嚴正聲明:我這一貼也不一定是在說祈禱永恆的愛我希望這一貼也沒有被祈禱永恆的愛抓住認為損壞了他的名譽侵犯了他的尊嚴侮辱了他的人格而把我告上法庭,謝謝 😥 (好累啊每次都要聲明一下啊 ❗ )
@祈禱永恆的愛
AICH Hash不是全文件的Hash,而是針對180kB的文件分片的Hash。難道說由於網路傳輸錯誤造成一個180kB分片損壞,AICH Hash不通過,你就把整個文件判死刑?
好好看看這篇文章再回來跟我討論吧!
鄙人並未參與討論本人是否博學多才之言論,並於130樓糾正網友提出的錯別字之觀點,證明本人亦非聖賢亦會犯錯,但是至於是否有人讓162樓覺得博學多才均為162樓這位朋友的臆測,本人並不對此發表看法,並聲明不支持該言論中的那個人既代指本人。
強烈建議emulefans在每條不是「祈禱永恆的愛」發的評論的末尾自動加上:
以有效保護評論者的權利和自由,使我們免遭「祈禱永恆的愛」之難 😥
唉!
@犟騾子
感謝您耐心指出,平時沒怎麼注意AICH Hash,因為它會自動修復,一般下載還是以根Hash為準的。
這一點我確實弄混了。
eMule數據文件校驗的注意點:
(1) 新發布的文件或稀有文件可能會沒有足夠的來源數來產生一個可信的根Hash值. 建議在發布文件時帶上這個數值.
(2)如果不存在根Hash值或這個數值是偽造的,電騾會以正常方式下載並完成這個文件.但在這種情況下不能使用AICH功能.
(3) 因為AICH Hashset比較大,它不被存在內存里,而被保存到known2.met文件中.只有在發現錯誤時才讀取這個信息.
(4) AICH只對v.44a或以上版本的電騾有效,但它和更早版本的電騾兼容.
但是能偽造的不是根hash么?AICH Hash也能偽造?
@emuler
提醒您如果作者在正文裡面指名道姓了,聲明並沒有實際意義。
可信根Hash
最保險的做法是從帶有根Hash值的鏈接下載文件.如果文件的鏈接是可靠的,這個根Hash值就會被接受,然後電騾將它保存到硬碟中.如果鏈接中沒有提供根 Hash值,電騾就只能接受來源發送過來的根Hash值. 電騾只相信最少10個來源發送過來的,並且一致的根Hash值,並至少92%的來源接受這個數值. 因為這個根Hash值的可靠性不能確定,所以它只在本次連接中有效,電騾也不會將它保存到硬碟,你也不能用它來生成帶有根Hash值的鏈接.一旦 AICH Hashset生成完成, 如文件下載完成, 電騾就開始向其它客房端傳播這個根Hash值.
原文註明了至少10個發布源一致才可能獲得到虛假的根Hash值,這種情況之下發布者至少開10個客戶端吧?那就是虛假文件發布者了。
@祈禱永恆的愛
收到的數據不能通過AICH Hash有兩種可能,一種是傳輸過程中發生了錯誤,另一種是對方上傳的數據本身就是虛假的。如果是第一種情況:我想給你真東西,但網路不作美,送到你那兒都壞了,那我沒有功勞也有苦勞不是?所以即使偶爾發生了這種情況,emule還是會給你加分。但這一點就會被後者利用:「有問題的客戶端重複地上傳錯誤文件塊」,這不就構成了我一開始說的「我給你的也不是你想要的」了?
@犟騾子
強調了一點,所謂有問題的客戶端,那麼至少應該客戶端是被修改過了,那麼該發布者還是刻意為之啊,他本身的目的就是為了不讓您下完,這與我提及的使用正常客戶端下完就跑這個觀點著不了邊啊。或者說國內已有開發商發布這種非正常客戶端並在正規軟體下載站提供這種特殊軟體的下載行為了?
在我發表原文中並沒有涉及到該現象,只是對博主的英文維基註解以及中文維基引述,對吸血現象並沒有全面的考究,剛剛仔細閱讀了維基中文對於吸血的定義
定義
只下載不上傳或上傳下載比例很小;
只上傳自己可以交換到對方下載的最小數據量。即Credit Shaping,相當於用軟體實現「下了就跑」;
每次啟動時或正常工作時變換自己的UserHash(用戶切細值)和安全認證,讓其他客戶端誤認為此客戶端是新手;
假冒不同的IP+埠下同一個文件;
過於頻繁地向其他客戶端或伺服器端發送請求,稱攻擊性客戶端;
使用虛假的ModString,或盜用其他客戶端的ModString或者用戶名、UserHash等(有可能能躲過某些客戶端反吸血功能的偵測。盜用用戶名則向連接客戶顯示與該客戶一模一樣的用戶名,這可以從社區加分客戶端獲得上傳加分);
故意傳播壞文件段,騙取上傳;
偽造隊列排名,嚴重影響公平;
濫用社區加分。社區加分就是某客戶端軟體為自己的軟體用戶或某些特定人群加分,其他客戶端將受到歧視,有損公平性。其吸血的程度可視社區加分的程度而定,有時稱社區吸血,這個軟體用戶所構成的網路也被稱為私有網路;
不能主動生成eD2k鏈接,只能被動地接收eD2k鏈接。有用戶認為這是「消極共享」的行為,不利於網路公平性。
作為GNU GPL軟體的修改派生版本卻未開源,或作出了其他違反GPL協議的行為。違反GPL的軟體稱GPL-Breaker。
作為eMule Mods卻沒有自己的ModString,稱Ghost Mod,有可能會被官方eMule屏蔽
僅對定義之1 2 3 5 10進行針對性辯解,因為所列之情況確實有意外,可能是isp因素或者用戶經驗導致。需要理解,但絕不是縱容該現象的發生,這一點上dlp還是起著積極的意義
@祈禱永恆的愛
「failed upload」本來就不是你說的「下了就跑」,而是「重複地上傳錯誤數據」。國內常見的主要是community booster,也就是我說的「我要,你有,他有,你給我,他給我;我有,你要,他要,我給你,但不給他——因為他不用迅雷或VC。」
@祈禱永恆的愛
只下載不上傳或上傳下載比例很小:Vagaa;
只上傳自己可以交換到對方下載的最小數據量。即Credit Shaping,相當於用軟體實現「下了就跑」:Vagaa;
攻擊性客戶端:Vagaa;
盜用用戶名:以色列吸血騾;
故意傳播壞文件段,騙取上傳:我剛才一直在說的行為,前一段時間曾碰上一個;
偽造隊列排名,嚴重影響公平:迅雷、脫兔;
濫用社區加分:迅雷、VC;
消極共享:迅雷;
GPL-Breaker:迅雷、EZ2;
請自行對號入座。
@犟騾子
靠!這樣太猛了吧…全部都能舉例
@犟騾子
迅雷和VC已經流氓到如此程度了?我拜讀了VC社區和cn論壇的一些口水貼,均指出的是社區或範圍內互相加分互相提升優先順序導致對其他給予分享的正常行為客戶端帶來損失,因為多是傳給雷或者VC驢,但由於優先順序導致下載時間加長而無以忍受,暫時沒發現VC驢和新版說雷是連上完全只入而不出的。僅僅只知道老版本的迅雷存在這一問題,只從ed2k網路獲取卻不向ed2k分享,然後是FG的虛假ModString事件。但都在網友的抗議中或多或少糾正了,現在普遍問題應該還是偽造排名,濫用加分和違反GPL開源協議吧?
@犟騾子
對我理解的也就是這些,哇嘎基本被唾棄了,軟體站再沒看到推廣,開始玩自己的傳輸協議了。脫兔早就沒了開發資金停擺了,FG有自己的ModString了,要說違反GPL基本國內的除了cn的mod其他都違反了吧?FG、XL、旋風等等,基本上能連入ed2k的,開源就沒有幾個。除了騾子,SF上還有很多開源項目都是這樣了,拿來即用之,就套個國產的馬甲
這確實讓人心疼……
用QQ按錯回復了,這一句沒打上,不是有意刷屏的
@祈禱永恆的愛
你說的也只有CN算emulemod,另外現在的xtreme算半個國產mod。
@祈禱永恆的愛
迅雷最嚴重的問題是消極共享(BT側同樣存在)。
@犟騾子
不知道BC裡面那個穿著馬甲的xtreme_plugin是否也是zz_fly大的作品?貌似也沒聽到BC放出開源的消息……
我的天,都TMD近10個小時了,我真懷疑這位大俠是怎樣不停的發帖的?難道不用工作?不用生活?你們大家也真有耐心。
@祈禱永恆的愛 是BC自己搞的東西,最早用的是原版emule製作的。
@祈禱永恆的愛
有源代碼,誰個不會編?——我累了,你們繼續。
截至目前為止51條,如以每條五毛計,今日共收入25.50元
扣除吃飯以及水電費,某人的打字速度要是再不快點的話,我很高興見到他下個月出現在天橋底下
以上是無聊
以下是提問
挨了罵,要怎麼做才能要一個服務器在國外的網站「配合」警警們將罵人者跨省呢?
你們傻啦?居然還和他辯論到現在,稍微不合他的意,還不是直接罵他的,就高舉這個法那個法威脅取你們博客資料,威脅要告你,我在魚龍混雜髒話漫天的貼吧和天涯混了那麼多年也沒見過這種網路流氓啊
流氓沒有底線,沒有規矩。一開始還指責別人排斥異己,真正是他排斥異己,卻被美化成維護自己人格,還有什麼可談的
迅雷吸血的討論這裡都討論過,還炒什麼冷飯?離線下載、高速通道還有插隊功能擺在那裡。插隊啊,他們也不換個詞,公然說自己就是插隊。那個流氓要是真的有心討論,把這裡的迅雷爭議與問題一條一條反駁了寫片論文貼過來再說
迅雷7新推”收費插隊”功能被迅雷用戶質疑,質疑的焦點是——這個插隊功能是否有效。
難道是反吸血讓插隊功能不明顯?於是。。。你們都懂得
迅雷7電驢任務速度不穩定!跳動的難受
你們都懂得。所以大家不要再浪費時間了。
@叉叉個XX
這要請SDC小組關注一下,最新的插隊功能SDC是否可以有效屏蔽
離線下載不管是BT還是ED2K請愛用IPfilter
@throll 把所有迅雷屏蔽了就行了。不用刻意屏蔽「插隊」
@w 咱們當然不在意,但是迅雷會很在意,難道我說的太隱諱了?一些字幕組宣布屏蔽迅雷以後,很快迅雷就花錢買通了他們,帖子也刪除,但騾粉們不是那些打著公益旗號搞盈利的資源組,拿錢收買不了,所以「動之以情曉之以理」? 😀
@祈禱永恆的愛 良性循環是文章中就提到的術語。所謂的良性循環,是對emule網路的長遠發展有利的循環。所以我並不贊同你的觀點,即「只有循環與不循環」,當然了我想這也是我們的根本分歧所在。
@祈禱永恆的愛 另,似乎我從沒對誰潑過什麼髒水。如果你留意一下的話,就會知道我相對還是比較寬容平和的,在有時間的情況下是樂於幫助走錯了路的新手們的。
@killsophia
今天有點忙,沒有及時關注這個帖子
鄙人以為,如果說從目的上講,只注重個人利益者,主觀上損害ed2k網路的行為應該打擊並制止,但是國內很多用戶並不是原則性錯誤,而是理念錯誤,得到善意引導也應該能為數據共享的發展盡一份心盡一份力。因此,我認為蓄意破壞資源循環既是導致了不循環,或者是您暗示的「惡性循環」,如果只是使用方法不當,或者是因為網路環境所致照成的「循環不暢」,則應該制止並共同探討解決之方法。我認為這一點很必要,因為這帶來的正是博主您倡導的「良性循環」。
這一點我之前就表明過,我發表的文章並沒有針對博主您個人,事實上我本人亦相當敬重您對「良性循環」所帶來的思考,但您可以參見其後回復,不少朋友言辭甚為過火,我發帖主要還是指這種現象。不知您是否贊成這樣發表不同觀點受到惡語相向無益於對ed2k網路發展帶來真正的「良性循環」。
@kao
本人文章裡面從來就沒有例舉過迅雷怎麼怎麼好,emule怎麼怎麼的糟糕,如果哪位朋友認為帶有這種宣傳色彩,麻煩以引用的方式指出來,我會當面對各位道歉。關於本人引用相關法律是因為有119樓這句話:
而我個人認為他的歸屬一詞是在這裡特指我,引號之內的辭彙有很強烈的貶損色彩。各位可以看之前也有朋友對鄙人意見不合而採用過激語言的,而本人並沒有說什麼,甚至行文之中句句帶「您」字表示與我辯論之網友的尊敬,如果有哪位想說我說話有哪一點是我不客氣主動罵人的,請指出來,我也會認錯。細心的朋友應該注意到,昨天稍晚一些時候,本人就與耐心解答本人疑問的朋友進行了溝通,並承認本人對”leech”行為認識不足,難道各位認為粗魯的言語攻擊比這樣舒心的交換意見更有助於解決問題?
@killsophia 瞧你,又把流氓招惹來了,回他幹嗎呢?來,既然大家都不敢直接指責流氓,這個黑鍋我背了。
@祈禱永恆的愛
看來你還是有自知之明的,恩,很好,我還以為你認識不到你自己「裝b」呢。既然你也認識到你自己「裝b」,回家把書讀讀,不要再鬧「憲法只適用於不違反其他法律條文的前提之下」之類的笑話了。憲法是最基本的法律,小學生課本上的東西,每個公民從小就該知道的東西都不知道,還在這裡裝模作樣有鼻有眼地大談各種法律條款,還揚言要告你告我告他,這不是「裝b」是什麼呢?除了「裝b」,你還能找到更好的詞來形容你自己么? 🙄
唉,不停的爭,不停的議,可是LEECHER還是在不停的運作。這是誰的錯?
已經習慣了血雨的味道,冷漠掩蓋不了傷痛。
漸漸習慣了沒有騾子的日子了。
1條Trackback/Pingback顯示