为什么使用代理服务器网速会变慢?

为什么使用代理服务器网速会变慢?,第1张

网速快慢和机器配置高低没有任何关系的,如果,感觉网速慢的话,又同时是用路由器上的网,那么好办,首先登陆路由器的主机地址,一般是192.168.1.1,用户名一般是admin,密码相同,如果不对的话看说明书或者问问别人有没有改过,顺利登陆路由器以后,要找到一个查看主机状态的选项,这里可以看到同时在使用路由器上网的所有人的网络占用情况,里面是以数据包的形式显示的,数据包越多说明网络占用越多,如果你的机器和别人的机器的数据占用量完全不是一个数量级,是他们多,你很少的话,没说的,有人在用网疯狂下载呢!把你带宽都用光了,如果数据量相差是你很多,他们少,那么就是你本地的问题,一定是后台有病毒或者木马在疯狂占用网络资源,还是没说的,杀毒!如果数据量相差不大,那检查一下自己的internet设置,是不是被人设定了所有的网络要求全部采用代理服务器请求,因为受代理服务器网速的限制导致了网速很慢~

一、手工识别和拒绝爬虫的访问

有相当多的爬虫对网站会造成非常高的负载,因此识别爬虫的来源IP是很容易的事情。最简单的办法就是用netstat检查80端口的连接:

C代码 netstat -nt | grep youhostip:80 | awk '{print $5}' | awk -F":" '{print $1}'| sort | uniq -c | sort -r -nnetstat -nt | grep youhostip:80 | awk '{print $5}' | awk -F":" '{print $1}'| sort | uniq -c | sort -r -n

这行shell可以按照80端口连接数量对来源IP进行排序,这样可以直观的判断出来网页爬虫。一般来说爬虫的并发连接非常高。

如果使用lighttpd做Web Server,那么就更简单了。lighttpd的mod_status提供了非常直观的并发连接的信息,包括每个连接的来源IP,访问的URL,连接状态和连接时间等信息,只要检查那些处于handle-request状态的高并发IP就可以很快确定爬虫的来源IP了。

拒绝爬虫请求既可以通过内核防火墙来拒绝,也可以在web server拒绝,比方说用iptables拒绝:

C代码 iptables -A INPUT -i eth0 -j DROP -p tcp --dport 80 -s 84.80.46.0/24 iptables -A INPUT -i eth0 -j DROP -p tcp --dport 80 -s 84.80.46.0/24

直接封锁爬虫所在的C网段地址。这是因为一般爬虫都是运行在托管机房里面,可能在一个C段里面的多台服务器上面都有爬虫,而这个C段不可能是用户宽带上网,封锁C段可以很大程度上解决问题。

有些人提出一种脑残的观点,说我要惩罚这些爬虫。我专门在网页里面设计动态循环链接页面,让爬虫掉进陷阱,死循环爬不出来,其实根本用不着设置陷阱,弱智爬虫对正常网页自己就爬不出来,这样做多此一举不说,而且会让真正的搜索引擎降低你的网页排名。而且运行一个爬虫根本不消耗什么机器资源,相反,真正宝贵的是你的服务器CPU资源和服务器带宽,简单的拒绝掉爬虫的请求是反爬虫最有效的策略。

二、通过识别爬虫的User-Agent信息来拒绝爬虫

有很多爬虫并不会以很高的并发连接爬取,一般不容易暴露自己;有些爬虫的来源IP分布很广,很难简单的通过封锁IP段地址来解决问题;另外还有很多各种各样的小爬虫,它们在尝试Google以外创新的搜索方式,每个爬虫每天爬取几万的网页,几十个爬虫加起来每天就能消耗掉上百万动态请求的资源,由于每个小爬虫单独的爬取量都很低,所以你很难把它从每天海量的访问IP地址当中把它准确的挖出来。

这种情况下我们可以通过爬虫的User-Agent信息来识别。每个爬虫在爬取网页的时候,会声明自己的User-Agent信息,因此我们就可以通过记录和分析User-Agent信息来挖掘和封锁爬虫。我们需要记录每个请求的User-Agent信息,对于Rails来说我们可以简单的在app/controllers/application.rb里面添加一个全局的before_filter,来记录每个请求的User-Agent信息:

Ruby代码 logger.info "HTTP_USER_AGENT #{request.env["HTTP_USER_AGENT"]}" logger.info "HTTP_USER_AGENT #{request.env["HTTP_USER_AGENT"]}"

然后统计每天的production.log,抽取User-Agent信息,找出访问量最大的那些User-Agent。要注意的是我们只关注那些爬虫的User-Agent信息,而不是真正浏览器User-Agent,所以还要排除掉浏览器User-Agent,要做到这一点仅仅需要一行shell:

Ruby代码 grep HTTP_USER_AGENT production.log | grep -v -E 'MSIE|Firefox|Chrome|Opera|Safari|Gecko' | sort | uniq -c | sort -r -n | head -n 100 >bot.log grep HTTP_USER_AGENT production.log | grep -v -E 'MSIE|Firefox|Chrome|Opera|Safari|Gecko' | sort | uniq -c | sort -r -n | head -n 100 >bot.log

统计结果类似这样:

C代码 57335 HTTP_USER_AGENT Baiduspider+(+ http://www.baidu.com/search/spider.htm)56639 HTTP_USER_AGENT Mozilla/5.0 (compatibleGooglebot/2.1+ http://www.google.com/bot.html)42610 HTTP_USER_AGENT Mediapartners-Google19131 HTTP_USER_AGENT msnbot/2.0b (+ http://search.msn.com/msnbot.htm)57335 HTTP_USER_AGENT Baiduspider+(+ http://www.baidu.com/search/spider.htm) 56639 HTTP_USER_AGENT Mozilla/5.0 (compatibleGooglebot/2.1+ http://www.google.com/bot.html) 42610 HTTP_USER_AGENT Mediapartners-Google 19131 HTTP_USER_AGENT msnbot/2.0b (+ http://search.msn.com/msnbot.htm)

从日志就可以直观的看出每个爬虫的请求次数。要根据User-Agent信息来封锁爬虫是件很容易的事情,lighttpd配置如下:

C代码 $HTTP["useragent"] =~ "qihoobot|^Java|Commons-HttpClient|Wget|^PHP|Ruby|Python" { url.rewrite = ( "^/(.*)" =>"/crawler.html" )} $HTTP["useragent"] =~ "qihoobot|^Java|Commons-HttpClient|Wget|^PHP|Ruby|Python" { url.rewrite = ( "^/(.*)" =>"/crawler.html" ) }

使用这种方式来封锁爬虫虽然简单但是非常有效,除了封锁特定的爬虫,还可以封锁常用的编程语言和HTTP类库的User-Agent信息,这样就可以避免很多无谓的程序员用来练手的爬虫程序对网站的骚扰。

还有一种比较常见的情况,就是某个搜索引擎的爬虫对网站爬取频率过高,但是搜索引擎给网站带来了很多流量,我们并不希望简单的封锁爬虫,仅仅是希望降低爬虫的请求频率,减轻爬虫对网站造成的负载,那么我们可以这样做:

C代码 $HTTP["user-agent"] =~ "Baiduspider+" {connection.delay-seconds = 10} $HTTP["user-agent"] =~ "Baiduspider+" { connection.delay-seconds = 10 }

对百度的爬虫请求延迟10秒钟再进行处理,这样就可以有效降低爬虫对网站的负载了。

三、通过网站流量统计系统和日志分析来识别爬虫

有些爬虫喜欢修改User-Agent信息来伪装自己,把自己伪装成一个真实浏览器的User-Agent信息,让你无法有效的识别。这种情况下我们可以通过网站流量系统记录的真实用户访问IP来进行识别。

主流的网站流量统计系统不外乎两种实现策略:一种策略是在网页里面嵌入一段js,这段js会向特定的统计服务器发送请求的方式记录访问量;另一种策略是直接分析服务器日志,来统计网站访问量。在理想的情况下,嵌入js的方式统计的网站流量应该高于分析服务器日志,这是因为用户浏览器会有缓存,不一定每次真实用户访问都会触发服务器的处理。但实际情况是,分析服务器日志得到的网站访问量远远高于嵌入js方式,极端情况下,甚至要高出10倍以上。

现在很多网站喜欢采用awstats来分析服务器日志,来计算网站的访问量,但是当他们一旦采用Google Analytics来统计网站流量的时候,却发现GA统计的流量远远低于awstats,为什么GA和awstats统计会有这么大差异呢?罪魁祸首就是把自己伪装成浏览器的网络爬虫。这种情况下awstats无法有效的识别了,所以awstats的统计数据会虚高。

其实作为一个网站来说,如果希望了解自己的网站真实访问量,希望精确了解网站每个频道的访问量和访问用户,应该用页面里面嵌入js的方式来开发自己的网站流量统计系统。自己做一个网站流量统计系统是件很简单的事情,写段服务器程序响应客户段js的请求,分析和识别请求然后写日志的同时做后台的异步统计就搞定了。

通过流量统计系统得到的用户IP基本是真实的用户访问,因为一般情况下爬虫是无法执行网页里面的js代码片段的。所以我们可以拿流量统计系统记录的IP和服务器程序日志记录的IP地址进行比较,如果服务器日志里面某个IP发起了大量的请求,在流量统计系统里面却根本找不到,或者即使找得到,可访问量却只有寥寥几个,那么无疑就是一个网络爬虫。

分析服务器日志统计访问最多的IP地址段一行shell就可以了:

C代码 grep Processing production.log | awk '{print $4}' | awk -F'.' '{print $1"."$2"."$3".0"}' | sort | uniq -c | sort -r -n | head -n 200 >stat_ip.log grep Processing production.log | awk '{print $4}' | awk -F'.' '{print $1"."$2"."$3".0"}' | sort | uniq -c | sort -r -n | head -n 200 >stat_ip.log

然后把统计结果和流量统计系统记录的IP地址进行对比,排除真实用户访问IP,再排除我们希望放行的网页爬虫,比方Google,百度,微软msn爬虫等等。最后的分析结果就就得到了爬虫的IP地址了。以下代码段是个简单的实现示意:

Ruby代码 whitelist = []IO.foreach("#{RAILS_ROOT}/lib/whitelist.txt") { |line| whitelist <<line.split[0].strip if line } realiplist = []IO.foreach("#{RAILS_ROOT}/log/visit_ip.log") { |line| realiplist <<line.strip if line } iplist = []IO.foreach("#{RAILS_ROOT}/log/stat_ip.log") do |line| ip = line.split[1].strip iplist <<ip if line.split[0].to_i >3000 &&!whitelist.include?(ip) &&!realiplist.include?(ip)endReport.deliver_crawler(iplist) whitelist = [] IO.foreach("#{RAILS_ROOT}/lib/whitelist.txt") { |line| whitelist <<line.split[0].strip if line } realiplist = [] IO.foreach("#{RAILS_ROOT}/log/visit_ip.log") { |line| realiplist <<line.strip if line } iplist = [] IO.foreach("#{RAILS_ROOT}/log/stat_ip.log") do |line| ip = line.split[1].strip iplist <<ip if line.split[0].to_i >3000 &&!whitelist.include?(ip) &&!realiplist.include?(ip) end Report.deliver_crawler(iplist)

分析服务器日志里面请求次数超过3000次的IP地址段,排除白名单地址和真实访问IP地址,最后得到的就是爬虫IP了,然后可以发送邮件通知管理员进行相应的处理。

四、网站的实时反爬虫防火墙实现策略

通过分析日志的方式来识别网页爬虫不是一个实时的反爬虫策略。如果一个爬虫非要针对你的网站进行处心积虑的爬取,那么他可能会采用分布式爬取策略,比方说寻找几百上千个国外的代理服务器疯狂的爬取你的网站,从而导致网站无法访问,那么你再分析日志是不可能及时解决问题的。所以必须采取实时反爬虫策略,要能够动态的实时识别和封锁爬虫的访问。

要自己编写一个这样的实时反爬虫系统其实也很简单。比方说我们可以用memcached来做访问计数器,记录每个IP的访问频度,在单位时间之内,如果访问频率超过一个阀值,我们就认为这个IP很可能有问题,那么我们就可以返回一个验证码页面,要求用户填写验证码。如果是爬虫的话,当然不可能填写验证码,所以就被拒掉了,这样很简单就解决了爬虫问题。

用memcache记录每个IP访问计数,单位时间内超过阀值就让用户填写验证码,用Rails编写的示例代码如下:

Ruby代码 ip_counter = Rails.cache.increment(request.remote_ip)if !ip_counter Rails.cache.write(request.remote_ip, 1, :expires_in =>30.minutes)elsif ip_counter >2000 render :template =>'test', :status =>401 and return false end ip_counter = Rails.cache.increment(request.remote_ip) if !ip_counter Rails.cache.write(request.remote_ip, 1, :expires_in =>30.minutes) elsif ip_counter >2000 render :template =>'test', :status =>401 and return false end

这段程序只是最简单的示例,实际的代码实现我们还会添加很多判断,比方说我们可能要排除白名单IP地址段,要允许特定的User-Agent通过,要针对登录用户和非登录用户,针对有无referer地址采取不同的阀值和计数加速器等等。

此外如果分布式爬虫爬取频率过高的话,过期就允许爬虫再次访问还是会对服务器造成很大的压力,因此我们可以添加一条策略:针对要求用户填写验证码的IP地址,如果该IP地址短时间内继续不停的请求,则判断为爬虫,加入黑名单,后续请求全部拒绝掉。为此,示例代码可以改进一下:

Ruby代码 before_filter :ip_firewall, :except =>:test def ip_firewall render :file =>"#{RAILS_ROOT}/public/403.html", :status =>403 if BlackList.include?(ip_sec)end before_filter :ip_firewall, :except =>:test def ip_firewall render :file =>"#{RAILS_ROOT}/public/403.html", :status =>403 if BlackList.include?(ip_sec) end

我们可以定义一个全局的过滤器,对所有请求进行过滤,出现在黑名单的IP地址一律拒绝。对非黑名单的IP地址再进行计数和统计:

Ruby代码 ip_counter = Rails.cache.increment(request.remote_ip)if !ip_counter Rails.cache.write(request.remote_ip, 1, :expires_in =>30.minutes)elsif ip_counter >2000 crawler_counter = Rails.cache.increment("crawler/#{request.remote_ip}") if !crawler_counterRails.cache.write("crawler/#{request.remote_ip}", 1, :expires_in =>10.minutes) elsif crawler_counter >50BlackList.add(ip_sec)render :file =>"#{RAILS_ROOT}/public/403.html", :status =>403 and return false end render :template =>'test', :status =>401 and return false end ip_counter = Rails.cache.increment(request.remote_ip) if !ip_counter Rails.cache.write(request.remote_ip, 1, :expires_in =>30.minutes) elsif ip_counter >2000 crawler_counter = Rails.cache.increment("crawler/#{request.remote_ip}") if !crawler_counter Rails.cache.write("crawler/#{request.remote_ip}", 1, :expires_in =>10.minutes) elsif crawler_counter >50 BlackList.add(ip_sec) render :file =>"#{RAILS_ROOT}/public/403.html", :status =>403 and return false end render :template =>'test', :status =>401 and return false end

如果某个IP地址单位时间内访问频率超过阀值,再增加一个计数器,跟踪他会不会立刻填写验证码,如果他不填写验证码,在短时间内还是高频率访问,就把这个IP地址段加入黑名单,除非用户填写验证码激活,否则所有请求全部拒绝。这样我们就可以通过在程序里面维护黑名单的方式来动态的跟踪爬虫的情况,甚至我们可以自己写个后台来手工管理黑名单列表,了解网站爬虫的情况。

这个策略已经比较智能了,但是还不够好!我们还可以继续改进:

1、用网站流量统计系统来改进实时反爬虫系统

还记得吗?网站流量统计系统记录的IP地址是真实用户访问IP,所以我们在网站流量统计系统里面也去操作memcached,但是这次不是增加计数值,而是减少计数值。在网站流量统计系统里面每接收到一个IP请求,就相应的cache.decrement(key)。所以对于真实用户的IP来说,它的计数值总是加1然后就减1,不可能很高。这样我们就可以大大降低判断爬虫的阀值,可以更加快速准确的识别和拒绝掉爬虫。

2、用时间窗口来改进实时反爬虫系统

爬虫爬取网页的频率都是比较固定的,不像人去访问网页,中间的间隔时间比较无规则,所以我们可以给每个IP地址建立一个时间窗口,记录IP地址最近12次访问时间,每记录一次就滑动一次窗口,比较最近访问时间和当前时间,如果间隔时间很长判断不是爬虫,清除时间窗口,如果间隔不长,就回溯计算指定时间段的访问频率,如果访问频率超过阀值,就转向验证码页面让用户填写验证码。

最终这个实时反爬虫系统就相当完善了,它可以很快的识别并且自动封锁爬虫的访问,保护网站的正常访问。不过有些爬虫可能相当狡猾,它也许会通过大量的爬虫测试来试探出来你的访问阀值,以低于阀值的爬取速度抓取你的网页,因此我们还需要辅助第3种办法,用日志来做后期的分析和识别,就算爬虫爬的再慢,它累计一天的爬取量也会超过你的阀值被你日志分析程序识别出来。

总之我们综合运用上面的四种反爬虫策略,可以很大程度上缓解爬虫对网站造成的负面影响,保证网站的正常访问。

1、浏览器"连接"选项设置错误

解决办法:正确设置上网类型。如果是通过代理服务上网的,请正确填写代理服务器的IP地址与端口号;如果不是,请不要勾选"通过代理服务器"这个选项。

2、DNS服务器设置错误

解决办法:如果ISP提供商分配给你的是固定的IP地址,那么请正确填写ISP提供的IP地址与DNS服务器地址;如果ISP提供商分配的是动态的IP地址,那么无须填写DNS服务器地址;还有一个可能是ISP提供商的DNS服务器出错不能正确地进行域名→IP地址之间的转换,这个时候你可以在浏览器的地址栏敲入网站的IP地址,即可浏览网页。

3、防火墙设置错误

解决办法:如果防火墙设置不当,那么可能阻隔与外网进行信息交换,造成无法浏览网页的故障。我们可以修改防火墙设置。什么,怎么修改?这就不用俺说了吧。嗯,还是说一下,对于不了解的朋友直接选默认级别,选"中"就可以了。

情况二:ADSL能成功登陆但无法浏览网页的故障解决办法

首先应该PINGISP的DNS服务器地址,看看能否PING通,如果能PING通,多数是软件问题居多,如果不能PING通,则应该检查硬件设备/线路连接状况和通讯协议(TCP/IP)

如果能PING通,可以看到类似以下的信息:

命令:PINGA.B.C.D

ReplyfromA.B.C.D:bytes=32time=14msTTL=250

ReplyfromA.B.C.D:bytes=32time=27msTTL=250

ReplyfromA.B.C.D:bytes=32time=20msTTL=250

ReplyfromA.B.C.D:bytes=32time=17msTTL=250

如果不能PING通,会有以下信息:

PingingA.B.C.Dwith32bytesofdata:

timeout

timeout

timeout

timeout

1.有多台电脑的朋友,可以用别的电脑替换,替换的电脑不要装任何代理服务器软件,也不要装任何防火墙,并且只装一个网卡直接和ADSLMODEM相连,正确装上ADSL拨号软件后。看是否能正常浏览,如果能,故障就是用户端的电脑引起,如果不行,就需要检测MODEM和线路是否正常。

2.只有一台电脑的朋友,可以先停止运行所有代理服务器软件,例如WINGATE、SYGATE、WINDOWS的INTERNET连接共享(ICS)等等,直接登陆看看故障能否排除,如果停止运行代理服务器软件后故障排除,那可以肯定是代理服务软件的问题。

3.检查浏览器特别是IE的设置,例如最常见的引发不能浏览网页的故障是在IE中选取了"自动检测设置",记住这个选项千万不要选取。如果是IE5X版本,单击工具-》INTRENET选项-》连接-》局域网设置,就可以看到该选项,如果该选项前面打了勾,一定要取消。取消后故障就可以解决。

4.检查TCP/IP协议的属性设置,特别是DNS服务器设置是否正确,特别要说明的是,拨号软件不同,设置DNS的位置也不一样,有些(在拨号网络的连接图标的属性中设置,有些在控制面板网络中设置,有些在拨号软件(例如ENTERNET300)自带的连接Profile属性中设置。这3个地方都要务必设置正确。

5.用WINDOWS的朋友,如果经过上述检查都确认正确无误,可以准备好ADSL拨号软件和WINDOWS系统光盘,然后先删除拨号软件,再删除控制面板/网络中的所有TCP/IP协议,重启电脑后再重新添加TCP/IP协议,并打开MODEM电源,重新安装拨号软件,经过测试,如果设置正确无误,重装拨号软件和TCP/IP后大都可以解决拨号能拨通但无法浏览网页的问题。

6.更换一个浏览器软件例如网景公司的NETSCAPE浏览器浏览测试。

7.如果你直接连接ADSLMODEM上网的那台电脑装了两个网卡,试试把连接局域网络的网卡先拿起,只留下连接ADSLMODEM的网卡。然后看看故障是否排除,如果故障排除,就应该检查网络和系统资源配置。特别是看看网卡和其他设备有没有冲突(WINDOWS用户可以在控制面板/系统/设备管理中查看设备是否正常)

8.你的网卡启用了BOOTROM芯片的引导功能,而且网卡带有PXE的引导芯片之后所造成的。可以这样解决:

①如果网卡是集成在主板上的,或者将网上的启动程序写进了BIOS中,可以从BIOS设置中修改系统的引导顺序,如设置硬盘最先引导,或者从BIOS中禁止网卡启动系统。

②如果网卡不是集成的,则可以拔掉网卡上的引导芯片或者用网卡设置程序,禁止网卡的BootROM引导功能也可以关机,然后在开机之后,当出现"PressShift-F10Configure......"时,马上按"Shift+F10"组合键,进入菜单之后,从第4行中将Bootorderrom设置为disable,然后按F4键保存退出。

情况三:共享上网无法浏览网页

用WindowsXP系统的机器做代理服务器后发现局域网中的其他电脑无法浏览网页,但是有数据流,还可以使用QQ等软件,网络中的各个机器也可以互访。代理服务器为双网卡,在网络配置向导中设置为"网络中的其他计算机通过本机上网"(通过a网卡接局域网),在共享属性中设置为"共享到网络中的b连接"(即第2张,为b网卡)。客户机设置为"通过网络中的其他电脑上网",操作系统有Windows98/2000/XP,通过交换机连接。代理服务器接交换机的了个指示灯工作正常(a、b网卡和宽带Modem连接),但客户机上的指示灯只是偶尔亮一下。在打开网页时,可以在状态栏看到"正在打开*****网页"但很长时间都看不到网页,最后显示"网页无法显示"的提示。

解决措施:可能是你的网线连接和DNS设置存在问题:

①做一条级联线,将a网卡直接连接到宽带ADSL上,其他不动。

②设置其他客户机的IP地址为192.168.0.2、192.168.0.3、192.168.0.4......,子网掩码设置为255.255.255.0,设置每台客户机的网关地址为192.168.0.1,设置DNS为你的ISP的DNS地址。

同时,也可以考虑一下代理服务器、网卡之间是否存在着冲突,调换一下PCI插槽、移除暂时不需要的外设等也对问题的解决有一定帮助。

常见的ADSL断流现象

网页打不开、下载中断、或者在线视、音频流中断,这些情况都是很多使用ADSL上网的人会遇到的麻烦。可是当仔细检查ADSLMODEM的状态时,又会发现拨号登录已经成功。那么问题究竟出在哪里?

1.线路不稳定

如果住所离电信局太远(5公里以上)可以向电信部门申报。确保线路连接正确(不同的话音分离器的连接方法有所不同,请务必按照说明书指引正确连接)。同时确保线路通讯质量良好没有被干扰,没有连接其它会造成线路干扰的设备,例如电话分机,传真机等。并检查接线盒和水晶头有没有接触不良以及是否与其它电线串绕在一起。有条件最好用标准电话线,如果是符ITU国际电信联盟标准的三类、五类或超五类双绞线更好。电话线入户后就分开走。一线走电话、一线走电脑。如果居住的房间都希望安装电话分机,最好选用质量好的分线盒。PC接ADSLModem附带的双绞线。(注意:手机一定不要放在ADSLModem的旁边,因为每隔几分钟手机会自动查找网络,这时强大的电磁波干扰足以造成ADSLModem断流。)

2.检查您的网卡,如果是ISA网卡最好能换成PCI的,并且选择质量好的网卡,太便宜的网卡可能是造成问题的罪魁祸首。10M或10M/100M自适应网卡都可。另外,双网卡引起冲突同样值得关注,这时,应当拔起连接局域网或其它电脑的网卡,只用连接ADSL的网卡上网测试,如果故障恢复正常,检查两块网卡有没有冲突。

3.ADSLModem或者网卡设置有误

最常见的是设置错了ADSLModem的IP地址,或是错误设置了DNS服务器。因为对于ADSL虚拟拨号的用户来说,是不需要设定IP地址的,自动分配即可。TCP/IP网关一般也不需要设置。另外如果设定DNS一定要设置正确,如果操作系统是Windows9x,在DOS窗口下键入Winipcfg获取DNS地址,在Windows2000/XP下键入ipconfig/renew,或询问当地电信部门。

另外,TCP/IP设置最容易引起不能浏览网页的情况,例如没有更改过设置,一直可以正常浏览,突然发现浏览不正常了,就可以试着删除TCP/IP协议后重新添加TCP/IP协议。

4.ADSLModem同步异常

检查一下自己的电话线和ADSL连接的地方是否接触不良,或者是电话线出现了问题。如果怀疑分离器坏或ADSLModem坏,尝试不使用分离器而直接将外线接入ADSLModem。如果确定是分离器没有问题,要保证分离器与ADSLModem的连线不应该过长,太长的话同步很困难。如果排除上述情况,只要重起ADSLModem就可以解决同步问题。

5.拨号软件互扰

ADSL接入Internet的方式有虚拟拨号和专线接入两种,现在个人用户的ADSL大都是采用前者。而PPPOE(Point-to-PointProtocoloverEthernet以太网上的点对点协议)虚拟拨号软件都有各自的优缺点。经过多方在不同操作系统的测试,如果使用的操作系统是WindowsXP,推荐用它自带PPPOE拨号软件,断流现象较少,稳定性也相对提高。如果使用的是WindowsME或9x,可以用以下几种虚拟拨号软件——EnterNet、WinPoET、RasPPPoE。其中,EnterNet是现在比较常用的一款,EnterNet300适用于Windows9x;EnterNet500适用于Windows2000/XP。当你用一个PPPOE拨号软件有问题时,不妨卸载这个软件后换用一个其它的PPPOE拨号软件,请务必注意不要同时装多个PPPOE软件,以免造成冲突。

6.其他软件冲突

卸载有可能引起断流的软件,现在发现某些软件例如QQ2000b等,偶然会造成上网断流,具体什么条件下会引发,尚要进一步测试。不少网友卸载后就发现断流问题解决了,包括用普通Modem163拨号上网的用户也有用这种方法解决了断流问题的情况,笔者也收到朋友的邮件反映卸载QQ后断流问题解决,所以如果你有QQ,不妨先卸载你的OICQ,然后再上网试试。当你发现打开某些软件就有断流现象,关闭该软件就一切正常时,卸载该软件试试。

7.病毒攻击和防火墙软件设置不当

虽然受到黑客和病毒的攻击可能性较小,但也不排除可能性。病毒如果破坏了ADSL相关组件也会有发生断流现象。建议安装"天网防火墙"或者"金山网镖"网络防火墙,它们都可以实时监控你的计算机和网络的通讯情况,并警告提示莫名的网络访问方式,有效降低受攻击的危险性。如果能确定受到病毒的破坏和攻击,还发生断流现象时就应该检查安装的防火墙、共享上网的代理服务器软件、上网加速软件等,停止运行这类软件后,再上网测试,看速度是否恢复正常 。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/377177.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-14
下一篇2023-05-14

发表评论

登录后才能评论

评论列表(0条)

    保存