您所在的位置:读书频道 > 操作系统 > Linux > 18.7.2 离线浏览软件

18.7.2 离线浏览软件

2007-12-06 17:55 鸟哥 机械工业出版社华章公司 字号:T | T
一键收藏,随时查看,分享好友!

《鸟哥的Linux私房菜——服务器架设篇》(第二版)第18章的主要介绍的是WWW服务器。本文是离线浏览软件。

AD:

18.7.2  离线浏览软件

某些网站管理员大概都有这样的困扰:网站常被离线浏览软件所强力下载,结果造成主机的CPU负载过重,最后导致死机。离线浏览就是以类似多线程下载的持续性信息传递软件进行网站数据的下载,而且,一旦启用该软件,该软件就会将“整个网站”的内容完全下载下来。这种软件常常会为了加快下载的速度,就采用了多线程下载的方式,也就是会持续不断地向服务器发出请求包,而由于这些包并不见得能够成功地让服务器把数据传送给客户端,常常会无法投递。这样就造成服务器要一直不断地响应,却又无法正确地响应出去,此外,请求太过频繁,结果主机应接不暇,最后就死机了。真的是这样,我们这个小站的主机很早以前,就是因为这样的原因,导致服务常常断断续续的,并且,由于CPU 负载太重,结果让正常连接进来的网友没有足够的资源,因此网页显示的速度就变得很慢。

由于这种离线浏览软件真的很麻烦,一不注意马上就又会被离线浏览搞得死机,三天两头就要重新开机一次,完全让Linux的稳定性无法发挥!后来,我就自行写了一个脚本来抵挡这样的IP!我的作法是:

(1)由于离线浏览软件要多点连续下载,因此,同一个IP在同一个时间内,会有相当多的连接发生。

(2)由于它是重复不断地请求联网,因此刚刚建立的联网在达到下载的目的后,会立刻死掉,而又多生出其他的联网来,因此,这时它的联网情况就变得相当不正常。

(3)由于某些较旧的离线浏览软件并不会“欺骗”主机,所以,会在主机的日志文件里面记录下Teleport的标记。

(4)既然如此,我就让我的主机每分钟去检查两样东西:(1)先检查日志文件,如果发现到相关的Teleport字词,就将该IP抵挡掉;(2)使用netstat来检查同一个IP的同时联网,如果该联网超过一个值(例如同时有12个联网)的话,就将该IP抵挡掉。

(5)此外,由于上面的方案可能会将Proxy的客户端也同时抵挡掉,所以这个程序就会主动地将(1)的情况的主机抵挡3天,至于(2)的情况则抵挡2小时。过了该抵挡的时限后,该IP又可以接入我们的主机了。

大致上就是如此。这样的程序需要与iptables相互配合,所以,请先查阅防火墙方面的知识,然后再来下载这个程序。可以从下面的网址下载该程序:http://linux.vbird.org/down-
load/index.php?action=detail&fileid=47。

详细的安装步骤我已经用中文写在该文件里面了,所以请先查看一下该文件前面的说明部分。此外,Study-Area的netman大哥也已经开发了一套很棒的防离线浏览的程序。在防堵离线浏览的原理上面是完全相同的,不过写法可能不是很雷同如果需要的话,也可以去Study-Area搜索:http://phorum.study-area.org/viewtopic.php?t=13643

【责任编辑:董书 TEL:(010)68476606】

回书目   上一节   下一节

分享到:

  1. Linux服务器配置全程实录
  2. 揭秘--优秀PPT这样制作

热点职位

更多>>

热点专题

更多>>

读书

Visual C++编程从基础到实践
Visual C++ 6.0是Microsoft公司的Visual Studio开发组件中最强大的编程工具,利用它可以开发出高性能的应用程序。本书由浅入深,

51CTO旗下网站

领先的IT技术网站 51CTO 中国首个CIO网站 CIOage 中国首家数字医疗网站 HC3i 51CTO学院