如何在eMule中過濾IP

此目錄下的文檔都是用戶自己編寫的指南,並未經過eMule(電騾)開發人員的驗證。不過對於大多數用戶而言,這些文章仍然頗有裨益。你可以在論壇的此專用主題貼找到相關的提問與評論


如何在eMule中使用ipfilter.dat過濾IP

升級說明:這篇指南原本是2004年2月6日發布的,到現在都快一年了。我把內容重新編排了一下,Yow!

這篇指南是寫給想使用eMule內置的IP過濾功能的朋友們。我在寫這篇指南時的主要目的是方便那些對這方面不太了解的用戶。高級用戶可以直接取用文中的URL以及代碼示例,不過這樣會錯過我華美的詞藻和詼諧的文風哦。:-)

假如你有意付諸實施,那你絕對應當下載Bluetack的屏蔽列表管理器(相關使用說明請點擊此鏈接)以及Bluetack的屏蔽列錶轉換器。這兩個小程序使用起來非常簡單,能夠很輕鬆地管理與合併公共的屏蔽列表。屏蔽列表管理器幾乎能夠自動完成我們在這篇指南中手動操作的所有事情。另外,我建議從bluetack.co.uk點擊下載所有相關工具以及公共屏蔽列表。

在閱讀本指南之前,你應該知道:單就滿足屏蔽的要求來說,用防火牆、PeerguardianProtowall可能都比eMule內置的IP過濾功能更好。之所以使用eMule的內置IP過濾,主要是考慮到以下因素:
· 系統資源/內存的佔用少
· 與eMule的兼容性
· 運行穩定
· 功能最小化(沒有其它不需要的功能)
· 能夠處理較大的屏蔽列表
據說Protowall只需要很少的資源就能運行大得多的屏蔽列表,你不妨去瞧一瞧。

引言

QUOTE
說實話,我倒不希望過濾起來太容易(運行時)。這類高級功能應當多少對用戶的知識和興趣有些要求,否則如果每個人都能輕易過濾IP或IP段後,又會有一群人因為找到的來源變少而到處哭天喊地了。
— Ornis+

時刻牢記我的這句話:在接下來的過程中如果遇到了問題,別急著發牢騷,先編輯ipfilter.dat並重啟eMule。

–什麼是IP–
首先,假如你連IP是什麼都不知道,請先去howstuffworks.com網站好好讀一讀這篇文章。如果你想查看自己計算機的IP,可以去whatismyip.com網站查看,可以將自己的eMule ID換算為IP地址,也可以直接從eMule伺服器界面下「我的信息」窗口中查看。簡單來說,IP就是用來區分網路中每一台計算機的,IP段是用來網路中每個小網路或子網的。如果你肯屈尊看我這篇指南,那麼從邏輯上來說,你肯定是希望禁止某些IP或IP段訪問你的寶貝騾子。

  –客戶端版本提示–
  IP過濾應當是從0.26b之後引入eMule官版的,當然mod有這個功能肯定更早。啊,每當我懷想eMule的黃金時代時,我總會想到0.26b。當然我相信不會有人繼續用這麼古舊的版本了,不過假如你真的還在用這版本,並且還想過濾IP,那麼就找個新點兒的版本吧。即便你使用比0.26b新一些的版本,也最好升到最新版本吧,因為後來又增添了一些功能,比如無需重啟eMule就能更新ipfilter.dat文件、允許用戶更改過濾級別、允許連伺服器也過濾,等等。

  –過濾類型–
  eMule對過濾列表中的IP均採用雙向封禁,也就是說封禁某個IP後,就既不能對其上傳,也不能從其下載。一般來說,你會想過濾掉的東西有:上傳虛假數據的客戶端、無效來源、P2P世界的公敵、其它可能在監視P2P的機構,還有些人用IPFilter來過濾吸血騾。至於如何得到這些IP地址,且聽稍後分解。eMule的IP過濾列表是類黑名單機制(默認是「允許」連接的,也就是說只要不在屏蔽列表中,就允許與其通信),恰恰與常見的類白名單機制(默認是全部屏蔽的,只有標記為「允許」地址的才允許與其通信)相反,不過看起來eMule並不打算採用這種方式。另外,白名單也會讓你損失成噸的源。

請記住,單從屏蔽IP的角度來說,用防火牆比用ipfilter.dat要好得多,因為ipfilter.dat只對eMule有效。防火牆更加全面縝密,不像ipfilter.dat那樣有諸多局限。防火牆能夠更加清楚地顯示過濾行為,還有更多更細緻的過濾選項。不過,ipfilter.dat天生就是eMule的貼身小棉襖,二者渾然一體,比單獨使用防火牆更加節省計算機資源。有些防火牆還與騾子磕磕絆絆,紛爭不斷。

IP過濾列表放在哪兒?

eMule的屏蔽列表文件名是ipfilter.dat,位於eMule的主目錄下。從eMule的「選項」->「安全」標籤頁中點擊「編輯」按鈕,就會打開ipfilter.dat;當然你也可以在eMule目錄下用文本編輯器直接打開這個文件。關於IP過濾相關的安全設置,請閱讀這篇選項設置說明

假如你從未過濾IP,可能還得自行創建這個文件。在eMule目錄下用記事本新建一個空白的.txt文件,然後將其保存為ipfilter.dat。

相關資源

撰寫自己的屏蔽列表時,需要用到以下這些鏈接。
關於eMule的IP過濾的常見問題
Bluetack的屏蔽列錶轉換器
Bluetack的屏蔽列表管理器(相關使用說明參見此頁面
Peerguardian的屏蔽列表(點擊IP資料庫,下載guarding.p2p這個文件)
public.lamerfree.net/ipfilter.htm
cDonkey的屏蔽列表
P2P惡意IP列表

-已註冊的網路地址:
ARIN.net(美國,加拿大,中美洲及南美洲)
RIPE.net(歐洲)
APNIC.net(亞洲、紐西蘭、澳大利亞)

編寫屏蔽列表

按之前介紹的方法,打開ipfilter.dat。在文件的頭部可以用半形的井號來標記注釋欄位,就像這樣:

代碼
# ipfilter.dat
#
# All entered IP ranges will be blocked
# in eMule for both Up- and Downloading.
# Be extremely careful what you enter here.
# Wrong entries may totally block eMule from accessing the network.
#
# Format:
# IP-Range , Access Level , Description
# Ip-Ranges of different entries cannot overlap.
#
# Access Levels:
# 0-126 blocked
# 127-255 permitted
#
# Put versions, dates, and URLs from the most-recent update here064.094.089.000 – 064.094.089.255 , 100 , Gator.com
066.035.250.203 – 066.035.250.203 , 200 , SourceForge.net
013.020.222.112 – 013.020.222.112 , 230 , Somethingawful.com

你可以直接複製粘貼我的注釋欄位,但是千萬別把底下的過濾條目也粘貼過去。請注意,注釋欄位只能放在文件頭部,不能放到過濾條目之間。

–條目格式–
首先請看看上面Gator和SourceForge的例子。每個IP條目的格式為「IP範圍 , 訪問級別 , 描述欄位」。IP範圍的格式必須與例子一模一樣,如果IP形如64.94.1.89,也必須寫成064.094.001.089,保持4段3位數格式。如果某個條目只包含一個IP,那麼就參考SourceForge的例子,即IP段的起始地址和終止地址相同。

–過濾級別和訪問級別–
過濾級別和訪問級別可能有些難以理解,所以我還是用上面的例子來進行說明。假如在「安全」選項中將過濾級別設為127(默認值),那麼所有訪問級別小於等於127的IP段都將被過濾,訪問級別大於等於128的IP段都將被允許,因此Gator將被封禁,剩下的兩個IP段能夠正常連接。太好了,就是這樣biggrin.gif 假如將過濾級別改為220,就會封禁Gator和SourceForge,只放行Somethingawful.com。你可以將IP段都分個類,按照風險程度設置每一類IP段的訪問級別,這樣只需更改過濾級別就能達到不同的安全程度了。這樣做的另一個好處是:你可以在屏蔽列表中,將許多條目設為某一個高訪問級別,以備將來參考。有些公共屏蔽列表就是這樣做的:它們把一些暫時不屏蔽的ISP設為某個較高的訪問級別,今後需要屏蔽的時候,只需要將某一類訪問級別全部修改為較低的訪問級別就行,不必自己勞心費力地挨個修改。

我個人比較喜歡把所有的IP地址分為固定的幾個訪問級別,並且使用默認的過濾級別127:
-001代表邪惡的IP,應當被永久屏蔽
-100代表公認應當被屏蔽的IP
-110代表某些我想臨時屏蔽的IP
-120代表某些我想臨時屏蔽的ISP的IP段
-210代表某些用戶的IP,我目前不想屏蔽,但是將來可能需要屏蔽
-220代表某些ISP的IP段,我目前不想屏蔽,但是將來可能需要屏蔽

有時候有些爛人會在他的ISP網段內不時更換IP,對於這種情況我會找到他的ISP,直接把這個ISP的IP段從220改到120,屏蔽掉。如果我只想屏蔽單個人,我會改用110。通過像這樣對IP條目進行分類,能夠很方便地用文本編輯器快速查找並替換多個條目的訪問級別。假如你用到查找和替換功能,請確保包含了一些利於分辨的標識符。例如,將「 , 111 , 」替換為「 , 100 , 」,空格和逗號都不能省略,否則會把所有包含111的IP地址也給替換掉了。

–條目的描述欄位–
當過濾某個IP時,eMule的詳細日誌會顯示其對應條目的描述欄位。所以在添加IP或IP段時,一定要填寫適當的描述,方便今後查找和使用。假如你在eMule中看不到詳細日誌,應當從「選項」 -> 「擴展設置」中打開「Verbose」,然後到伺服器界面下查看。

屏蔽列表的小小試驗

現在可以試用一下你自己的屏蔽列表了。eMule會在啟動時自動載入ipfilter.dat,當然你也可以在「選項」 -> 「安全」下點擊「載入」。如果你想驗證這個文件到底有沒有效果,比較簡單的方法是把整個世界全都咔嚓掉(啊,我徜徉在一個人的世界裡,和我的騾子)。在列表中加入下面這一行,並且刪掉所有其它的條目:

代碼
000.000.000.000 – 255.255.255.255 , 100 , The world

重啟eMule後,你會發現再也無法建立任何連接了。查看詳情日誌,應該都是類似這樣的內容:

代碼
02/24/03 18:36:44: Filtered IP: 10.0.0.1 ( The world)

現在你可以坐等「統計信息」->「客戶」->「已過濾」後的數字不斷上漲,然後發出邪惡的微笑,因為你發現自己居然冥頑到如此不可救藥的地步。

局限

如果IP段有重疊的情況,那麼過濾功能可能會有些問題。所以,假如你過濾整個世界,就不要在過濾列表中放任何其它條目了,因為這樣會發生重複。目前看來,如果多個條目的IP段出現重疊,ipfilter只會把第一個視為有效。因此你可能需要手動查找重疊的網段、刪除不需要的部分,或者至少按順序排列,讓所需的那條先被eMule讀取。查找重疊IP段有個簡單的方法,那就是把整個列表按數字順序排列,這樣添加新條目時只用檢查一下相鄰的IP段就可以了。

假如你只想在自己的小小區域網中養騾,可以像這樣添加條目:

代碼
000.000.000.000 – 009.255.255.255 , 100 , The world part 1
010.000.000.000 – 010.000.000.025 , 200 , My little LAN
010.000.000.026 – 255.255.255.255 , 100 , The world part 2

如果是這樣,你可能得建個本地伺服器……我想。

創建自己的屏蔽列表

好的屏蔽列表應當善於從公共的屏蔽列表中汲取精華,把那些臭名昭著的攻擊者徹底封殺。我覺得PeerGuardian的屏蔽列表就是一個很好的開始。當然,你也可以直接用PeerGuardian來進行防護,不過那不是我們關注的重點。首先點擊Peerguardian,點擊IP資料庫,然後下載GUARDING.P2P。假如你打開此文件,你會注意到它的文件格式與ipfilter.dat有點類似,但是並不相同。因此你需要訪問bluetack.co.uk,去下一份Bluetack的屏蔽列錶轉換器。

–使用Bluetack的屏蔽列錶轉換器–
你可以從此鏈接下載官方使用說明。如果你用了本地代理過濾軟體(例如proxomitron),應當先暫時關閉。此外,如果你的IE瀏覽器版本低於5.5,可能在瀏覽時會遇到一些問題。現在,打開guarding.p2p文件,選中所有內容,拷貝粘貼到轉換器的「Source File(源文件)」輸入框中。打開「Options(選項)」,將源數據格式設置為PeerGuardian明文格式,輸出格式設置為eMule。你還應當按IP排序、合併所有重複的IP段。接下來就開始轉換吧,轉換完成後,將輸出內容拷貝粘貼到你自己的ipfilter.dat文件中就行了。注意應該把所有過濾條目粘到文件頭下方。

假如你手頭有好幾個不同的屏蔽列表,並且想把它們都合併,那麼每次把一個轉換到eMule格式,並且將所有輸出都粘貼到「Source File(源文件)」框中,按IP排序後合併重複的IP段。

文章開頭的「相關資源」部分列出了好些個屏蔽列表的URL。不過,我還是建議要格外注意新條目的過濾級別,應當按照自己的使用習慣進行編輯。有好多IP段可能你覺得是不會屏蔽的,不過放在屏蔽列表中也不會有什麼壞處,建議先標個較高的訪問級別,以備將來使用。請記住,默認情況下訪問級別只有低於127才會被屏蔽,高於127的都會放行。所以不要來這裡發帖,說為什麼你的ISP也在公共的屏蔽列表中啊……傻瓜,你家ISP的訪問級別能被放行就夠了。

請注意,有些公共屏蔽列表中大量IP段的訪問級別都低於默認值。所以有時候你可能只想屏蔽某個只有20台計算機的小公司,找了個屏蔽列表又不仔細看看,結果一不小心屏蔽了整個西半球。所以應該經常從ARIN或RIPE查看新的惡劣IP段,或檢查現有過濾條目的真實性……這完全取決於你自己。你最好明白自己在屏蔽些什麼,否則你就是在自戕,白白損失成噸的來源。不僅如此,有些人還會發現一些水管粗、口碑好的上傳員/發布員/分流員被列表屏蔽了,因為他們的IP與那些攻擊性的公司太接近。我當然不指望你逐一檢查屏蔽列表中的每一條內容,但還是應當隨時注意一下Verbose日誌中的內容。

如前所述,按IP排序並消除重合的IP段是此項工作中最重要的一環。假如你不會用Bluetack的轉換器,可以粘貼到任何電子表格軟體中自動排序。假如你仍然生活在茹毛飲血的時代,那你就手工排序吧。或者別排什麼序了,去看電視吧。只有我們這樣的傻瓜才會幹列表排序這樣的活兒。

我善意地提醒一句,你在對ipfilter.dat文件進行刪減或添加之前,最好是保存個備份。

監控
編輯完IP過濾列表後,一定要記得在eMule中更新,然後就盯著Verbose日誌慢慢欣賞吧。可以在擴展設置中選上「將日誌保存到磁碟」。我建議時不時搜索一下過濾的條目檢查效果,並清除日誌,否則它會像肥皂泡一樣越鼓越大。隨後你可能就會在列表中增增減減,或竄上論壇大灌其水,抒發看到騾子踹走MPAA的激爽感覺。

如果用記事本或其它文本編輯器中直接搜索「filtered」關鍵字,可能搜索出非常多的結果來,而且大多數並不是你關注的內容,頗讓人心煩。所以我建議在重要的IP段的描述欄位放些關鍵字,方便日後搜索。例如「066.035.250.203 – 066.035.250.203 , 200 , TrypsinSucks Evil corp」,這樣在查詢Verbose日誌時,只用搜索TrypsinSucks就能快速找到相關的屏蔽記錄了。

如果你經常合併各種屏蔽列表,我覺得不妨在ipfilter.dat文件前頭記錄URL和修改日期,這樣也能提醒你注意避免IP段重合。

如果將來你看某個傢伙很不靠譜,可以記下他的ID並換算成IP地址,然後把他屏蔽掉!http://ocbmaurice.dyndns.org/code/id.html是一個把ID換算到IP的網頁,我建議把這個網頁保存到本地,因為它太難連了。當然,如果你是個數學精英或者雨人什麼的,可以自己手算或心算。呵呵,我懷疑這樣的高手能不能堅持讀到這裡,對他們來說讀前面的內容就像忍受酷刑一樣。

我對eMule過濾功能的一些期許:
-如果能夠看到被過濾用戶的用戶名和Userhash,那就太好了
-希望能夠通過Userhash或其它的識別信息進行過濾
-希望實現白名單機制,也就是說除了「允許」的IP段外,剩下的默認全部過濾

提示:最後一條也可以用替代的方法實現,如下所示:

代碼
000.000.000.000 – 009.255.255.255 , 100 , The world part 1
010.000.000.000 – 010.000.000.025 , 200 , Only trusted ISP
010.000.000.026 – 255.255.255.255 , 100 , The world part 2

幾個月前,我和幾個eMule論壇的朋友想合夥兒做一個像這樣的白名單,只放行可信的ISP。唉!這項工作讓我們吃足了苦頭,最終不得不放棄,因為這個列表實在太大了,並且被屏蔽掉的無辜來源太多,三停折了二停……不過我想這或許適合特別偏執的朋友吧。通過這件事我了解到:這世界上的ISP實在太多了!:)

有什麼意見和建議嗎?儘管來吧!

–Trypsin


如何在eMule中過濾IP》,由Ejack翻譯自eMule官方網站英文版幫助與支持《How To Filter Ips With Emule》並首發於eMuleFans.com。原文版權歸屬於eMule官方和原文作者。翻譯內容版權歸屬於翻譯者並遵守CC 3.0 BY-NC-SA協議。已編入eMule官網簡體中文版幫助與支持《如何在eMule中過濾IP》。英文原文最後由Trypsin更新於25.02.2003 5:07。

1條評論隱藏

  1. 2012年8月22日 周三 17:17 | 回復

發表評論

您的Email將不會顯示出來。頭像請至Gravatar.com註冊上傳。*號標註項為必填。

*
*
*
標籤用法
字數:0