如何在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