首页    新闻    下载    文档    论坛     最新漏洞    黑客教程    数据库    搜索    小榕软件实验室怀旧版    星际争霸WEB版    最新IP准确查询   
名称: 密码:      忘记密码  马上注册
   查看所有帖子 (sun)


« 1 (2) 3 4 5 ... 46 »


VPN所用的隧道技术基础
新进会员
注册日期:
1970/1/1 8:00
所属群组:
注册会员
帖子: 5
等级: 1; EXP: 34
HP : 0 / 8
MP : 1 / 1279
离线
隧道技术是一种通过使用互联网络的基础设施在网络之间传递数据的方式。使用隧道传递的数据(或负载)可以是不同协议的数据桢(此字不正确)或包。隧道协议将这些其它协议的数据桢或包重新封装在新的包头中发送。新的包头提供了路由信息,从而使封装的负载数据能够通过互联网络传递。
  被封装的数据包在隧道的两个端点之间通过公共互联网络进行路由。被封装的数据包在公共互联网络上传递时所经过的逻辑路径称为隧道。一旦到达网络终点,数据将被解包并转发到最终目的地。注意隧道技术是指包括数据封装,传输和解包在内的全过程。

  隧道所使用的传输网络可以是任何类型的公共互联网络,本文主要以目前普遍使用Internet为例进行说明。此外,在企业网络同样可以创建隧道。隧道技术在经过一段时间的发展和完善之后,目前较为成熟的技术包括:

  1.IP网络上的SNA隧道技术

  当系统网络结构(SystemNetworkArchitecture)的数据流通过企业IP网络传送时,SNA数据桢将被封装在UDP和IP协议包头中。

  2.IP网络上的NovellNetWareIPX隧道技术

  当一个IPX数据包被发送到NetWare服务器或IPX路由器时,服务器或路由器用UDP和IP包头封装IPX数据包后通过IP网络发送。另一端的IP-TO-IPX路由器在去除UDP和IP包头之后,把数据包转发到IPX目的地。

  近几年不断出现了一些新的隧道技术,具体包括:

  1.点对点隧道协议(PPTP)

  PPTP协议允许对IP,IPX或NetBEUI数据流进行加密,然后封装在IP包头中通过企业IP网络或公共互联网络发送。

  2.第2层隧道协议(L2TP)

  L2TP协议允许对IP,IPX或NetBEUI数据流进行加密,然后通过支持点对点数据报传递的任意网络发送,如IP,X.25,桢中继或ATM.

  3.安全IP(IPSec)隧道模式

  IPSec隧道模式允许对IP负载数据进行加密,然后封装在IP包头中通过企业IP网络或公共IP互联网络如Internet发送。

  隧道协议

  为创建隧道,隧道的客户机和服务器双方必须使用相同的隧道协议。

  隧道技术可以分别以第2层或第3层隧道协议为基础。上述分层按照开放系统互联(OSI)的参考模型划分。第2层隧道协议对应OSI模型中的数据链路层,使用桢作为数据交换单位。PPTP,L2TP和L2F(第2层转发)都属于第2层隧道协议,都是将数据封装在点对点协议(PPP)桢中通过互联网络发送。第3层隧道协议对应OSI模型中的网络层,使用包作为数据交换单位。IP overIP以及IPSec隧道模式都属于第3层隧道协议,都是将IP包封装在附加的IP包头中通过IP网络传送。

2008/12/13 21:57
应用扩展 工具箱


试解中国近代科学滞后之谜
新进会员
注册日期:
1970/1/1 8:00
所属群组:
注册会员
帖子: 5
等级: 1; EXP: 34
HP : 0 / 8
MP : 1 / 1279
离线
作者:郑英豪


  中国作为罗盘、火药、纸张和印刷术这四大发明的发源地,对人类的巨大贡献是毫无疑问的。诺贝尔物理奖得主、当代物理大师杨振宁教授便指出,科学史家都普遍同意,公元1400年以前,科技转让主要是由中国传向欧洲。事实上就科学发明而言,中国人还是一个早慧的民族。

  但近代的科学革命不发生在中国而是出现在欧洲,却是一个耐人寻味的问题,从上一个世纪以来便引起许多学者的兴趣。英国科学家李约瑟博士更穷数十年之力,孜孜于为这个问题寻找答案。

  李约瑟经过了许多年的观察后,先后提出了一系列的结论。他之前曾经认为,中国近代缺乏经济资源,无法为科学研究提供资本。他的研究成果,已陆续出版成皇皇七大卷28册的《中国科学技术史》。

  中国在近代科学革命缺席之谜,也被人称为“李约瑟难题”。但是他的最后结论,却直到他逝世八年后,才在2003年出版的《中国科学技术史》第七卷第一册中提供答案。

封建官僚制度是一大因素

  李约瑟的最后结论是,中国科学滞后的症结在于中国长达两千年的封建官僚制度。这个制度的最高权力,集中在皇帝一人身上。其正面效应是朝廷通过科举取士,便能聚天下英才为国家效力;负面效应是权力过度集中,制度陈陈相因,新的观念不易为社会所接受,而相对保守的气氛却无法构成一个鼓励技术开发的竞争环境。可是反观以贵族封建体系为主的欧洲,自16世纪以来便因城邦之间相互竞争,为技术开发创造了优异的条件,促使科学革命在西方萌芽。

  当然,李约瑟的答案,应该不是唯一的答案。中国近代无论是社会、政治、经济等方面都有本身的局限,造成科技落伍的理由肯定不只一端。杨振宁便曾经提出了五个原因:

  一、中国的传统是入世而不是出世的,所以比较注重实际,而不注重抽象的理论架构;

  二、中国的科举制度不利于科学的发展;

三、中国人的普遍观念是技术不重要,认为是“奇技淫巧”;
  四、中国传统的思维是以归纳法为主,缺乏推演式的思维方法,而两者都是近代科学不可或缺的基本思维方式;

  五、《易经》所阐扬的“天人合一”观念,阻碍了人们的科学思维。

  他也在《近代科学进入中国的回顾与前瞻》一文中指出,自明朝徐光启在1607年翻译半部《几何原本》为中文,将西方逻辑思维方式介绍到中国之后的250年,近代科学已经在欧洲诞生了,工业革命也开始了,欧洲殖民扩张政策也到达顶峰,然而,“这些年间中国依然停滞不前。

  那些阻碍中国萌生近代科学的多种原因仍然存在:缺乏独立的中产阶层,学问就只是人文哲学的观念,教育制度里缺匮‘自然哲学’这一项,束缚人们思想的科举制度,以及缺少准确的逻辑推理的传统,凡此种种都没有因为耶稣会传教士引入了少许西方思想而有所改变。”

缺乏商业的推动力量

  他认为,即使直到20世纪的首50年,近代科学的精神与内容已急速传入中国,为中国社会带来了巨大的影响,但渗入的程度依然不够,原因是:

  一、涉及科学的人数仍然不多;

  二、涉及科学的层面仍然不多;

  三、缺乏工业基础支持研究与发展;

 四、连年的战祸,不能为科学研究工作提供一个稳定的社会、政治和经济环境。
  美籍华裔物理学家任之恭教授则在他的回忆录中指出,中国的科学技术许多个世纪都非常卓越,直到西方文艺复兴时期才停滞不前,“其原因可能同封建社会结构和儒家信仰的保守性有关。”

  上月,麻省理工学院退休教授黄克孙博士来新,我有机会同他长谈,关于近代科学的种子未在中国萌芽问题,他的答案是中国自郑和下西洋之后的近500年间,基本上缺乏商业的推动力量,无法为科学发展创造有利的环境。

  黄克孙的观察非常值得重视。他指出,明朝初年郑和下西洋时,中国已拥有全球最强大的海上军事力量。然而,中国却无意同其他国家发展商贸,也不像欧洲国家那样致力于争取海上霸权,作为到海外开发殖民地的资本。

  恰恰相反的是,中国甚至实施海禁,断绝了同西方的交往,也错过了开发商业文化的良好机遇。

  他的这一观察,说明科学的发展同商业利益息息相关。如果缺乏商业利益,便没有人愿意在科技方面作出投资,当然就不会有科学发展可言。

  如果缺乏商业的诱因,西班牙国王便不可能支持哥伦布四度横渡大西洋,让他有机会发现新大陆。缺乏这种原动力,西方国家也不会用心于改良火药技术,从而壮大军事力量,将历史推向殖民地的时代。似此种种,都说明商业因素是发展科技所不能缺少的条件。

  不过,无论是李约瑟、杨振宁、任之恭或黄克孙,都不约而同的对中国现代的科学发展充满信心。杨振宁便说:“我的结论是,到了21世纪中叶,中国极可能成为一个世界级的科技强国。”

  随着中国在宇航科技方面突发猛进,经济实力不断提升,科学研究在中国受到高度重视,中国过去科技落伍的诸多因素将会一扫而空。一个科学的盛世即将在中国发生,这还是有高度可能性的。

2008/12/13 21:57
应用扩展 工具箱


回复: 心不诚者勿入!
新进会员
注册日期:
1970/1/1 8:00
所属群组:
注册会员
帖子: 5
等级: 1; EXP: 34
HP : 0 / 8
MP : 1 / 1279
离线
我想看看

2008/12/13 21:57
应用扩展 工具箱


集群的负载平衡原理和实现算法
新进会员
注册日期:
1970/1/1 8:00
所属群组:
注册会员
帖子: 5
等级: 1; EXP: 34
HP : 0 / 8
MP : 1 / 1279
离线
在计算机硬件价格下降、计算机网络拓扑发展的情况下,分布式计算机系统给用户提供了一个丰富的资源集合。人们在研究分布式系统时,就注意到了这样一个问题:在一个由网络连接起来的多计算机环境中,在某一时刻,一些计算机的负载比较重,而另外一些计算机的负载却比较轻。平衡各计算机之间的负载是任务分配与调度的一个主要目标,它能够提高整个系统的性能。

  为了改善系统的性能,通过在多台计算机之间合理地分配负载,使各台计算机的负载基本均衡,这种计算能力共享的形式,通常被称为负载平衡或负载共享。一般来说,"负载平衡"要达到的目标是使各台计算机之间的负载基本均衡,而"负载共享"意味着只是简单的负载的重新分配。

  负载平衡包括两种,一种是静态负载平衡,一种是动态负载平衡。只是利用系统负载的平均信息,而忽视系统当前的负载状况的方法被称为静态负载平衡。根据系统当前的负载状况来调整任务划分的方法被称为动态负载平衡。

  导致负载不平衡主要是由于:
某些算法的迭代大小不是固定的,但迭代的大小在编译时却可以被求得;
某些算法的迭代大小不是固定的,并且迭代的大小依赖于被处理的数据,在编译时无法求得;
即使迭代大小是固定的,也会有许多不定因素导致计算速度的差异。

  考察这三个原因,对第一种情况可在编译时估计各迭代的工作量,按照处理节点的处理能力分布迭代,这就是静态负载平衡的方法。对第二、三种情况来说,必须采用动态负载平衡的手段,在运行过程中根据各个处理节点完成任务的情况,动态地迁移任务,实现动态负载平衡。进行动态负载平衡需要考察处理节点的处理能力,它的基本依据是根据处理节点先前的处理速度预见未来的处理速度。

  负载平衡算法

  一个负载平衡算法都包含以下三个组成部分:
信息策略:制定任务放置策略的制定者使用的负载和任务量,以及信息分配的方式。
传送策略:基于任务和计算机负载,判断是否要把一个任务传送到其它计算机上处理。
放置策略:对于适合传送到其它计算机处理的任务,选择任务将被传送的目的计算机。

  负载平衡的上述三个部分之间是以不同的方式相互作用的。放置策略利用信息策略提供的负载信息,仅当任务被传送策略判断为适于传送之后才行动。

  总之,负载平衡的目标是:提供最短的平均任务响应时间;能适于变化的负载;是可靠的负载平衡机制。

  信息策略

  人们用来描述负载信息采用的参数有:
运行队列中的任务数;
系统调用的速率;
CPU上下文切换率;
空闲CPU时间百分比;
空闲存储器的大小(K字节);
1分钟内的平均负载。对于这些单个的负载描述参数,第(1)个,即采用运行队列中的任务数作为描述负载的参数被证明是最有效的,即它的平均任务响应时间最短,并且已经得到广泛应用。但是,如果为了使系统信息更全面而采集了更多的参数,则往往由于增加了额外开销,却得不到所希望的性能改善。例如,采用将六个参数中的某两个进行"AND"或"OR"组合,得到的平均响应时间反而比单个参数的平均响应时间还要差一些。

  传送策略

  为了简单起见,在选用传送策略时,多选用阀值策略。例如,Eager等人的方法是:在判断是否要在本地处理一个任务时,无需交换计算机之间的状态信息,一旦服务队列或等待服务队列的长度大于阀值时,就传送这个任务,而且传送的是刚刚接收的任务。而进程迁移能够迁移正在执行的任务,是对这种只能传送刚刚接收的任务的一种改进。

  Zhou在模拟研究七个负载平衡算法时,其传送策略都采用阀值策略。它的阀值策略基于两个阀值∶计算机的负载阀值Load和任务执行时间阀值TCPU。如果计算机的负载超过Load并且任务的执行时间超过TCPU时,就把此任务传送到其它计算机执行。

  放置策略

  经过总结,共有以下四种放置策略。
集中策略。每隔P秒,其中一个计算机被指定为"负载信息中心"(LIC),接受所有其它负载的变更值,并把它们汇集到一个"负载向量"中,然后把负载向量广播给所有其它的计算机。当一台计算机认为一个任务适于传送到其它计算机上执行时,它就给LIC发送一个请求,并告知当前负载的值。LIC选一台具有最短运行队列长度的计算机,并且通知任务所在的计算机把任务发送给它,同时,它把目的主机负载值增加1。
阀值策略。随机选择一台计算机,判断若把任务传送到那台计算机后,那台计算机的任务队列长度是否会超过阀值。如果不超过阀值,就传送此任务;否则,随机选择另一台计算机,并以同样方式判断,继续这样做直到找到一台合适的目的计算机,或探测次数超过一个静态值限制LP,当任务真正到达计算机以后,不管状态如何,必须处理该任务。
最短任务队列策略。随机选择LP台不同的计算机,察看每台计算机的任务队列长度,任务被传送到具有最短任务队列长度的计算机。当任务真正到达计算机,无论状态如何,目的计算机必须处理该任务。对此策略的一个简单改进时,无论何时,遇到一台队列长度为0的计算机时,不再继续探测,因为可以确定此计算机是一台可以接受的目的计算机。
保留策略。当一个任务从一台计算机离开时,该计算机检查本地负载,如果负载小于阀值T1,就探测其它计算机,并在R个负载大于T1的计算机中登记该计算机的名字,并把登记的内容保留到一个栈中。当一个任务到达一台超载的计算机时,就把这个任务传送到此台计算机栈顶的计算机上。如果一个计算机的负载低于T1,就清空栈里保留的所有计算机名。

  Zhou的论文中,比较了(2)和(3)三种策略,结论是:以简单(计算不昂贵)的方式,利用少量状态信息,第(2)中方法往往获得比第(3)种方法更好的效果。第(3)中方法比较复杂,它必须用性能的改善来补偿额外花费,所以取得的效果会稍差一些[2]。
算法实现

  目前,常见的算法有:中心任务调度策略、梯度模型策略、发送者启动策略和接收者启动策略。
中心任务调度策略

顾名思义,中心任务调度策略就是让一个特定的处理节点担任计算任务分配器的角色,我们称之为调度节点,而把其它完成计算任务的处理节点称作计算节点。调度节点为了掌握任务分布情况,需要维护一个任务分布表。

在任务启动时,调度节点装入任务的预分布情况表,而计算节点则开始完成分配给它的计算任务。在执行过程中,计算节点按照一定的周期向调度节点提交计算任务完成情况,由调度节点根据这些信息判断处理节点的处理能力,发出任务迁移指令,控制任务从重负载节点向轻负载节点流动,同时还要随之更新在调度节点上的任务分布表。

中心任务调度的优点显而易见:调度节点掌握所有节点的处理能力和任务的分布情况,因此它可以在综合各种因素的基础上找到最佳的任务迁移方式。但是在计算节点很多时,所有计算机点都必然与中心节点通讯,必然导致严重的冲突,这会大大降低动态负载平衡的效率,甚至抵消动态负载平衡所带来的一切好处。

另外,还应该注意到,调度节点在判断是否进行任务迁移时,计算节点必须等待,这无疑又浪费了计算节点的处理能力。一种改进的方法是调度节点在收到计算节点的当前任务完成情况时,立即存储之,并把根据上次的信息做出的判断返回给计算节点以减少延迟,在空闲时再根据本次收到的信息做出判断,留到下次使用。这样就把调度节点进行任务迁移决策的时间和计算节点完成计算任务的时间重叠了起来,降低了动态负载平衡的开销。
梯度模型策略

在中心任务调度策略中,计算节点越多,冲突就越多。为了减少冲突,适应大量处理节点的需要。梯度模型策略、发送者启动策略和接收者启动策略都不设置专用的调度节点,而且每个节点只与一部分节点进行交互,以减少由负载平衡导致的冲突。

在梯度模型策略中,所有处理节点仅与直接相邻的节点进行交互,并引入两个阀值:M 1 和Mh。在运行过程中,我们将所在节点划分成三类:设一个节点的剩余任务量为t,如果t < M 1则称之为轻负载节点;如果M 1< t < M h则称之为中负载节点;如果t > M h则称之为重负载节点。另外,把从一个节点到与之最接近的轻负载节点的最短距离定义为这个节点的梯度。

在启动时,每个节点都是重负载节点,梯度都是无穷大。在计算过程中,周期性地检查其剩余负载是否大于M1。当某一节点发现自身剩余的负载小于M1时就把它的梯度设为零,随后把自身当前的梯度与相邻节点间的距离之和发送给相邻的节点。相邻的节点接收到这个新梯度,就与自身当前梯度进行比较。如果自身梯度小于等于新梯度,则不做任何事;如果自身梯度大于新梯度,则将自身梯度设置为新梯度,并向发送给它新梯度信息的节点一样传播新梯度。这样,梯度信息(实际上就是计算任务完成的情况)就会被传播开来,重负载节点就可以把它多余的负载发送给向临界点中梯度最小的节点。于是,计算任务就在梯度的引导之下从重负载节点流向轻负载节点。

可是,按照这种方式,有可能导致过多的计算任务涌向一个轻负载节点。如果轻负载节点接收了过多的新任务,就有可能重新变成中负载甚至重负载节点。一旦出现这种情况,梯度信息就不再能够正确地引导计算任务了。为此,必须使轻负载节点察看要接受的计算任务,如果接收计算任务使本节点脱离轻节点状态,就拒绝接受它。这虽然延迟了任务的接收,但随着时间的推移,轻负载节点实际上不久就可以接受被它拒绝接受的任务了,同时还可以保持节点的梯度的有效性。
发送者启动策略

发送者启动策略也引入了一个阀值M来把所有的处理节点划分成轻负载节点和重负载节点,所有当前剩余负载t > M的节点都被称为重负载节点,t < M的节点被称为轻负载节点。发送者启动策略还需要为每个节点定义一个相关域,节点只与它的相关域中的节点进行交互和任务传递。一个直观的相关域的定义是把所有与之相邻的节点作为相关域。

在启动时,所有节点开始执行计算任务。在执行一段时间之后,节点就开始检查其自身是否是重负载节点。如果是重负载节点,则它就试图在相关域中均匀地分布任务。具体地:设该重负载节点的负载为l p,相关域中有K个节点,其负载分别为l 1,……., l k,则平均负载L avg为:




为了达到均匀分布,应求得重负载节点应该传递给每个相关域中节点的负载量m k。我们首先引入h k以避免负载被迁移到相关域中负载最重的重负载节点。如果L avg> l k,则 ,否则h k= 0。那么m k为




随后该节点就可以按照m k向各个相关节点发送任务了。
接收者启动策略

接收者启动策略与发送者启动策略除了是由轻负载节点启动,要求其它节点把任务发送给它之外,其它基本相同。

接收者启动策略同样引入M以区分轻、重负载节点,引入相关域以确定交互范围。

在启动时,所有节点开始执行计算任务,经过一段时间之后,一旦某个节点发现自身成为轻负载节点,就试图在它的相关域中均匀地分布负载。具体地:设该轻负载节点的负载为l p ,相关域中有K个节点,其负载分别为l 1 ,……., l k,则平均负载L avg为:




为了达到均匀分布,应求得相关域中节点应该传递给轻负载节点的负载量m k。我们首先引入权h k以避免负载从负载更轻的相关域中的节点被迁移到该节点。如果L avg< l k, 则 ,否则h k=0。那么m k为:




随后该节点就可以按照m k发出接受任务的请求了。

2008/12/13 21:57
应用扩展 工具箱


配置缓冲或转发方式的named-FreeBSD 技术文摘
新进会员
注册日期:
1970/1/1 8:00
所属群组:
注册会员
帖子: 5
等级: 1; EXP: 34
HP : 0 / 8
MP : 1 / 1279
离线
在Internet中主要使用名字进行连接,因此网络中的DNS查询会十分频繁。很多情况下,会有大量且重复的DNS查询。尤其在使用拨号连接的条件下,由于名字服务器位于ISP端,即使是曾经查询过的名字,其信息仍然保存在线路的另一端的名字服务器的缓冲区内,重复的DNS查询将占据宝贵的线路带宽。并且DNS查询还往往使得网络连接软件不能正确获得超时信息,不能适时断开连接以节省电话连接时间。

  因此,最好的办法是将查询结果保存在本地计算机上,以避免重复查询造成的无谓的网络流量。虽然很多TCP/IP 客户机能够在本机内保存一个名字解析缓冲区,但这个缓冲区相对来讲太小了,起不到很有效的作用,然而如果要将这个缓冲区设置的较大,又不能及时刷新名字解析数据。要想很好的缓冲DNS数据,最好的缓冲区还是DNS服务器本身,因为DNS 的实现方式就是一种经常刷新的缓冲方式,并且named可以根据不同zone的不同设置,来实现数据刷新。

  因此,最简单的办法就是设置一个具备缓冲能力的名字服务器,它将能够用做名字解析的缓冲,这就要需要设置名字服务器的过程。

  在/etc/resolv.conf中,将127.0.0.1作为第一个可选服务器,其他DNS服务器作为备份,使得名字查询通过本地的名字服务器进行,以利用它的缓冲机制;

  在/etc/rc.conf中,将named_enable设置为”YES”,允许启动named,rc.conf中有关named的其他选项不需改变;

  改变到/etc/namedb目录下,运行make-localhost程序,这将产生针对本计算机的解析数据localhost.rev文件;

  修改/etc/namedb/named.conf文件,使其符合一个转发系统的要求。

  启动名字服务器,可以使用root身份直接执行named守护进程,并在rc.conf中更改named_enable的设置值。

  设置named.conf

  要成功配置named,最重要的一步就是改变配置文件named.conf,一个用于转发的设置文件应为:

  options { directory "/var/namedb"; datasize 20M; forward only; forwarders { 202.102.224.68 }; }; zone "." { type hint; file "named.root"; }; zone "0.0.127.in-addr.arpa" { type master; file "localhost.rev"; };

  这个设置文件中去除了任何注释项,named中使用与C++相同的注释方式,即用两个斜线来表示一行注释,而设置语句也类似C的语法。

  第一个语句options用于设置named的参数,directory指明named的工作目录为/etc /namedb,datasize用于设置缓冲区的大小,forward only和forwarders用于指明这个服务器只是一个转发服务器,并设置转发的名字服务器的地址。这两个转发选项不是必须设置的,不进行设置时named 就能很好的适应解析和缓冲任务。这样名字服务器初始时就从根名字服务器中获得信息,这些信息将保存在named的缓冲区内,此后就可以查询缓冲区内的相关服务器来获得进一步的名字解析。

  第二个语句用于设置根zone,这用于设置Internet上的根名字服务器,一切本地无法解析的数据将发送给那些根名字服务器进行解析,设置了工作目录下的named.root文件中记录了这些根名字服务器的地址,记录根名字服务器的文件名字也可能为root.hints。第三句定义了对127.0.0.0的反向查询的数据,0.0.12 7.in-addr.arpa为一个反向解析zone,其IP地址也是反序排列的,并且使用in-addr.arpa 后缀,而对应的反向解析数据在localhost.rev文件中定义。

  BIND的当前版本为8,之前的版本为4.9.x,它们使用named.boot作为named的配置文件。大多数Unix版本,包括大多数商业Unix在内,还没有更新他们的名字服务器到当前的BIND 8,仍然运行老版本的named。但必须注意named.boot文件的格式与named.conf不同,不能混用。BIND 8提供了很多优秀的特性,因此最好立即升级到新版本。

  named.root文件给出了Internet上的多个根名字服务器,用于初始化named的缓冲区。借助这些名字服务器的帮助,一台名字服务器能对整个Internet进行查询。一般不需要改变这些文件的内容,但是如果要建设一个内部网,不与Internet连接,就不需要named.root中的这些根名字服务器的地址,而要更改为自己网络内的根名字服务器的地址。事实上,没有任何内部网络能和Internet相比拟,需要使用多台根名字服务器来维护其域名解析系统,直接设置一台或几台名字服务器,并指定客户计算机使用这些名字服务器就满足要求了。

  zone数据文件的格式

  @INSOAfreebsd.example.org.cn. root.freebsd.example.org.cn. ( 1998012314; Serial 3600; Refresh 900; Retry 3600000; Expire 3600 ); Minimum INNSfreebsd.example.org.cn. 1INPTRlocalhost.

  这是根据计算机的名字和域名产生的localhost.rev文件,这个文件定义了对127.0.0.0这个反向zone的反向名字解析数据,可以用于从IP地址查询主机的名字。

  第一个设置定义了一个SOA记录,这个类型的记录定义了包含一个zone的开始,并用于设置zone中数据刷新时间等参数。在这个记录中,@代表一个zone,由于这个设置文件中没有设置它的值,那么它就是named.con f中的定义语句中zone的值,这里就为0.0.127.in-addr.arpa。空白字符分隔之后为IN,这是用于表示定义的关键字,SOA表示这一行的类型为SOA记录,接下来的freebsd.example.org.cn. 为这台主机的全名,注意,这里以 ”.” 结尾,如果在名字解析配置文件中不以点结尾,named将自动附加上当前 zone的值;此后给出了一个联系用的email地址,这里为root@freebsd.expampleorg.or g.cn,但是由于@在设置文件中有特殊含义,因此使用点代替;

  再后面就是SOA记录的参数,这些参数使用了括号,并分在几行分别设置,这主要是为了使得设置更为清楚,将它们放在同一行内也可以。SOA记录的参数有序列号,用于标识SOA记录数据 ── 其他名字服务器使用这个数据与自己缓冲区内的数据对比,来判断这个zone的数据是否更新,否则就没有必要传输全部zone的数据。因此可以使用日期来表示不同的序列号,以使得更改过SOA记录之后,其他名字服务器能即使刷新数据;刷新时间 ── 用于告诉其他名字服务器何时来检查zone中的数据是否更新,这里配置为1小时(3600秒),这个时间间隔对于不经常改变的服务器来讲太小了,应该配置为一天或更大;第三个参数为连接的尝试次数;然后是过期时间,表示一旦某个zone的正式名字服务器不能提供其服务,其他名字服务器在其缓冲区中保存多久该zone的缓冲数据;最后一个参数指出其他名字服务器缓冲这个文件内容的最小时间间隔,在这个间隔内不应该刷新该zone的名字解析数据。

  当括号结束之后,这个SOA设置项就结束了。而第二项设置定义了一个名字服务器记录,这个设置直接用空格和IN 开头,表示这一项仍然使用上一项中的设置,这里就是@。NS代表这一项定义是名字服务器类型,最后给出了名字服务器的名字freebsd.example.org.cn.,表示这个zone的名字解析数据位于这个名字服务器中。

  第三项定义了一个反向查询指针记录PTR,第一列为1,由于没有使用点结尾,因此其全形式应为127.0.0.1 ,第三列PTR表示这个记录为PTR记录,是给定IP地址返回名字的查询形式,最后一列即是127.0.0.1的名字localhost。

2008/12/13 21:57
应用扩展 工具箱


如何实现路由器的本地验证以及授权
新进会员
注册日期:
1970/1/1 8:00
所属群组:
注册会员
帖子: 5
等级: 1; EXP: 34
HP : 0 / 8
MP : 1 / 1279
离线
出处:赛迪网

在中小规模的网络中,网络中心的网络管理员往往需要对一个远程站点的管理员进行一定程度的授权,而不想让站点管理员使用所有的路由器特权口令,本文就以上问题做一个简单的分析和讨论.

路由器本地验证和授权

Cisco路由器支持集中的AAA(验证/授权/记帐)功能,但是需要部署一台Cisco ACS(访问控制服务器),如果网络设备数量不多,就可以利用Cisco路由器的本地验证和授权的功能来实现验证和授权,而且不需要部署Cisco ACS.以下是一个实现对路由器r1的telnet访问的本地验证和授权的例子:

(1)为telnet用户设置一个帐号和口令(aaa用户的级别为1最低级别):

hostname r1

username aaa password cisco

(2)设置一个级别为2的特权口令(缺省为15,具有所有权限)

enable secret level 2 CISCO

(3)为级别是2的特权用户授权(只允许执行router和network命令)

privilege exec level 2 configure terminal

允许执行特权命令config t

privilege configure level 2 router

允许执行全局命令: router

privilege router level 2 network

允许执行路由进程命令: network

(4)指定对路由器r1进行telnet访问的验证方法(使用本地用户数据库验证)

line vty 0 4

login local

(5)结果

当对r1进行telnet访问时,首先会提示输入username和password,这时用户aaa是用户模式(1级用户),只能执行很少的命令集(用户模式命令集)。

使用enbale 2命令并且输入正确的口令后,可以有权限执行config t,router和network命令,但是其他命令不能执行,本地验证和授权成功。

2008/12/13 21:57
应用扩展 工具箱


快速准确的查找对方IP地址的方法汇总
新进会员
注册日期:
1970/1/1 8:00
所属群组:
注册会员
帖子: 5
等级: 1; EXP: 34
HP : 0 / 8
MP : 1 / 1279
离线
出处:赛迪网

与好友在网络上相互传输资料时,有时先要知道对方计算机的IP地址,才能与对方建立信息传输通道。


那么对方的IP地址该如何搜查得到呢?这样的问题你也许会嗤之以鼻,的确,查询对方计算机的IP地址,实在简单得不值得一提;可是,要让你列举出多种IP地址搜查方法时,你可能就感到勉为其难了。下面,本文就对如何快速、准确地搜查出对方好友的计算机IP地址,提出如下几种方法,相信能对大家有所帮助!

1、邮件查询法

使用这种方法查询对方计算机的IP地址时,首先要求对方先给你发一封电子邮件,然后你可以通过查看该邮件属性的方法,来获得邮件发送者所在计算机的IP地址;下面就是该方法的具体实施步骤:

首先运行OutLook express程序,并单击工具栏中的“接受全部邮件”按钮,将朋友发送的邮件接受下来,再打开收件箱页面,找到朋友发送过来的邮件,并用鼠标右键单击之,从弹出的右键菜单中,执行“属性”命令;

在其后打开的属性设置窗口中,单击“详细资料”标签,并在打开的标签页面中,你将看到“Received: from xiecaiwen (unknown [11.111.45.25])”这样的信息,其中的“11.111.45.25”就是对方好友的IP地址;当然,要是对方好友通过Internet中的WEB信箱给你发送电子邮件的话,那么你在这里看到的IP地址其实并不是他所在工作站的真实IP地址,而是WEB信箱所在网站的IP地址。

当然,如果你使用的是其他邮件客户端程序的话,查看发件人IP地址的方法可能与上面不一样;例如要是你使用foxmail来接受好友邮件的话,那么你可以在收件箱中,选中目标邮件,再单击菜单栏中的“邮件”选项,从弹出的下拉菜单中选中“原始信息”命令,就能在其后的界面中看到对方好友的IP地址了。

2、日志查询法

这种方法是通过防火墙来对QQ聊天记录进行实时监控,然后打开防火墙的日志记录,找到对方好友的IP地址。为方便叙述,本文就以KV2004防火墙为例,来向大家介绍一下如何搜查对方好友的IP地址:

考虑到与好友进行QQ聊天是通过UDP协议进行的,因此你首先要设置好KV防火墙,让其自动监控UDP端口,一旦发现有数据从UDP端口进入的话,就将它自动记录下来。在设置KV2004防火墙时,先单击防火墙界面中的“规则设置”按钮,然后单击“新建规则”按钮,弹出设置窗口;

在该窗口的“名称”文本框中输入“搜查IP地址”,在“说明”文本框中也输入“搜查IP地址”;再在“网络条件”设置项处,选中“接受数据包”复选框,同时将“对方IP地址”设置为“任何地址”,而在“本地IP地址”设置项处不需要进行任何设置;

下面再单击“UDP”标签,并在该标签页面下的“本地端口”设置项处,选中“端口范围”选项,然后在起始框中输入“0”,在结束框中输入“65535”;同样地,在“对方端口”设置项处,也选中“端口范围”选项,然后在起始框中输入“0”,在结束框中输入“65535”。

接着在“当所有条件满足时”设置项处,选中“通行”选项,同时将“其他处理”处的“记录”选项选中,而“规则对象”设置项不需要进行任何设置;完成了上面的所有设置后,单击“确定”按钮,返回到防火墙的主界面;再在主界面中选中刚刚创建好的“搜查IP地址”规则,同时单击“保存”按钮,将前面的设置保存下来。

完成好上面的设置后,KV防火墙将自动对QQ聊天记录进行全程监控,一旦对方好友给你发来QQ信息时,那么对方好友的IP地址信息就会自动出现在防火墙的日志文件中,此时你可以进入到KV防火墙的安装目录中,找到并打开“kvfwlog”文件,就能搜查到对方好友的IP地址。

3、工具查询法

这种方法是通过专业的IP地址查询工具,来快速搜查到对方计算机的IP地址。例如,借助一款名为WhereIsIP的搜查工具,你可以轻松根据对方好友的Web网站地址,搜查得到对方好友的IP地址,甚至还能搜查到对方好友所在的物理位置。在用WhereIsIP程序搜查对方IP地址时,首先启动该程序打开搜查界面,然后单击该界面的“Web site”按钮,在其后的窗口中输入对方好友的Web地址,再单击“next”按钮,这样该程序就能自动与Internet中的Domain Name Whois数据库联系,然后从该数据库中搜查到与该Web网站地址对应的IP地址了。当然,除了可以知道IP地址外,你还能知道对方好友所在的具体物理位置。

倘若要想查看局域网中某个工作站的IP地址时,可以使用“网络刺客II”之类的工具来帮忙;只要你运行该工具进入到它的主界面,然后执行工具栏中的“IP地址<->主机名”命令,在其后打开的对话框中,输入对方好友的计算机名称,再单击“转换成IP”按钮,就能获得对方好友所在计算机的IP地址了。

如果你使用Oicqsniffer工具的话,那么查询QQ好友的IP地址就更简单了。只要你单击该程序界面中的“追踪”按钮,然后向对方好友发送一条QQ消息,那么Oicqsniffer工具就会自动将对方好友的IP地址以及端口号显示出来了。除此之外,还有许多可以查找IP地址的专业工具可以选择,例如IPsniper软件。

4、命令查询法

这种方法是通过Windows系统内置的网络命令“netstat”,来查出对方好友的IP地址,不过该方法需要你先想办法将对方好友邀请到QQ的“二人世界”中说上几句话才可以。下面就是该方法的具体实现步骤:

首先单击“开始”/“运行”命令,在弹出的系统运行对话框中,输入“cmd”命令,单击“确定”按钮后,将屏幕切换到MS-DOS工作状态;然后在DOS命令行中执行“netstat -n”命令,在弹出的界面中,你就能看到当前究竟有哪些地址已经和你的计算机建立了连接(如果对应某个连接的状态为“Established”,就表明你的计算机和对方计算机之间的连接是成功的);

其次打开QQ程序,邀请对方好友加入“二人世界”,并在其中与朋友聊上几句,这样你的计算机就会与对方好友的计算机之间建立好了TCP连接;此时,再在DOS命令行中执行“netstat -n”命令,看看现在又增加了哪个tcp连接,那个新增加的连接其实就是对方好友与你之间的UDP连接,查看对应连接中的“Foreign Address”就能知道对方好友的IP地址了。

5、ping检查法

这种方法就是利用“ping”命令,来检查当前计算机是否能与对方好友的网站连通,在检查的过程中该地址能自动获得对方网站的IP地址。比方说,要是你想搜查赛迪网的IP地址时,可以先打开系统的运行对话框,然后在其中输入“ping www.ccidnet.com”字符串命令,再单击“确定”按钮,在弹出的窗口中,就能知道网站的IP地址了。同样地,你也可以搜查其他网站的IP地址。

好了,上面就是查询好友计算机IP地址的几种常用方法;要是你还有其他更好方法的话,恳请不断补充完善!


2008/12/13 21:57
应用扩展 工具箱


教你利用网络测试仪器来排查网络故障
新进会员
注册日期:
1970/1/1 8:00
所属群组:
注册会员
帖子: 5
等级: 1; EXP: 34
HP : 0 / 8
MP : 1 / 1279
离线
做网管常常会遇到一些棘手的问题,如网络缓慢或性能不良。这时候如果有一台网络测试仪帮助检测故障,无疑会极大地提高工作效率。
那么如何使用FLUKE公司的LANMETER网络测试仪来检测网络速度慢或性能不良?  


运行网络统计(Network Stats)测试,检查高的网络利用率和异常的高碰撞率。施加少量的后台流量(每秒100帧LLC流量,每帧100个字节)后再次运行测试。如果你发现随传输增加时碰撞或FCS错误增加,那么就应运行电缆扫描(Cable Scan)。  


如果碰撞的数量十分高(超过5%),则要运行碰撞分析(Collision Analysis)测试来确定由于碰撞损失了多少带宽。将本地和远端碰撞所造成的带宽损失加上后,平均大于0.5%就需进行故障诊断。同时检查碰撞是否是“突发”的,而且突发碰撞的增加不随网络流量增加而增加。也就是说,如果碰撞数量有较大的变化而没有对应较大的流量增加,那么可能在某个地方有严重的物理层问题。流量水平和碰撞一定有某种关系。如果在网络性能处于可接受的水平而碰撞数量一直较大,那么在该碰撞域可能有过多的站点进行传输,或网络的结构需要优化以减小网络站点之间的距离。过量的碰撞经常是物理介质所造成的,例如没有或端接不正确,阻抗不连续(坏的连接器、连接电缆、被挤压的电缆等),或有坏的网卡等。  


如果利用率很高(持续峰值超过60%),同时碰撞数量为可接受的水平(平均值低于5%),那么网络可能已经饱和。这有些不可能,因为以太网网段如果有很高的利用率时通常会有较高的碰撞率。当利用率接近100%,碰撞的数量会远远超过好的帧的数量。这时可能需要安装交换器、桥或路由器将网络分隔成足够小的子网来支持流量负载。  


运行网络统计(Network Stats)测试并检查错误(碰撞以外的)。如果出现错误,运行错误统计(Error Stats)测试并用放大(Zoom)来了解有问题站点的MAC地址,然后用专家测试(Expert-T)来隔离特定的问题或用电缆扫描(Cable)检查电缆。如果问题是间歇性的,则要试着更换被怀疑有问题的网卡,因为这些问题在测试时可能不会显示出来。  


检查一下用户正在连接的服务器或服务是否是在WAN的远端,或通过路由连接。如果确实如此,那么用Ping测试(NetWare Ping,ICMP Ping)来检查通过网段的响应,并将结果和你的基准测试或听证测试结果相比较。为了保证帧没有丢失,要试着连续进行Ping测试,并且检查请求的数量和响应的数量相等(IP主机经常会对第一个Ping响应失败,那么需要多试几次)。如果数量不一致,远端媒介或互连设备(桥、路由器等)可能满负荷或有问题。丢帧也是电缆故障的症状,例如UTP电缆的串绕,或同轴线的大地环路。如果怀疑有丢帧,可运行电缆扫描(Cable Cable),测试缓慢站点(以及相应的文件服务器)连接至网络的电缆,或连接任何桥或路由器以及它们之间的电缆。

2008/12/13 21:57
应用扩展 工具箱


网络故障诊断62例
新进会员
注册日期:
1970/1/1 8:00
所属群组:
注册会员
帖子: 5
等级: 1; EXP: 34
HP : 0 / 8
MP : 1 / 1279
离线
1.故障现象:网络适配器(网卡)设置与计算机资源有冲突。

分析、排除:通过调整网卡资源中的IRQ和I/O值来避开与计算机其它资源的冲突。有些情况还需要通过设置主板的跳线来调整与其它资源的冲突。


2.故障现象:网吧局域网中其他客户机在“网上邻居”上都能互相看见,而只有某一台计算机谁也看不见它,它也看不见别的计算机。(前提:该网吧的局域网是通过HUB或交换机连接成星型网络结构)

分析、排除:检查这台计算机系统工作是否正常;检查这台计算机的网络配置;检查这台计算机的网卡是否正常工作;检查这台计算机上的网卡设置与其他资源是否有冲突;检查网线是否断开;检查网线接头接触是否正常。

3.故障现象:网吧局域网中有两个网段,其中一个网网段的所有计算机都不能上因特网。(前提:该网吧的局域网通过两个HUB或交换机连接着两个的网段)

分析、排除:两个网段的干线断了或干线两端的接头接处不良。检查服务器中对该网段的设置项。

4.故障现象:网吧局域网中所有的计算机在“网上邻居”上都能互相看见。(前提:该网吧的局域网是通过HUB或交换机连接成星型网络结构)

分析、排除:检查HUB或交换机工作是否正常。

5.故障现象:网吧局域网中某台客户机在“网上邻居”上都能看到服务器,但就是不能上因特网。(前提:服务器指代理网吧局域网其他客机上因特网的那台计算机,以下同)

分析、排除:检查这台客户机TCP/IP协议的设置,检查这台客户机中IE浏览器的设置,检查服务器中有关对这台客户机的设置项。

6.故障现象:网吧整个局域网上的所有的计算机都不能上因特网。

分析、排除:服务器系统工作是否正常;服务器是否掉线了;调制解调器工作是否正常;局端工作是否正常。

7.故障现象:网吧局域网中除了服务器能上网其他客户机都不能上网。

分析、排除:检查HUB或交换机工作是否正常;检查服务器与HUB或交换机连接的网络部分(含:网卡、网线、接头、网络配置)工作是否正常;检查服务器上代理上网的软件是否正常启动运行;设置是否正常。

8.故障现象:进行拨号上网操作时,MODEN没有拨号声音,始终连接不上因特网,MODEN上指示灯也不闪。

分析、排除:电话线路是否占线;接MODEN的服务器的连接(含:连线、接头)是否正常;电话线路是否正常,有无杂音干扰;拨号网络配置是否正确;MODEN的配置设置是否正确,检查拨号音的音频或脉冲方式是否正常。

9.故障现象:系统检测不到MODEN(若MODEN是正常的)。

分析、排除:重新安装一遍MODEN,注意通讯端口的正确位置。

10.故障现象:连接因特网速度过慢。

分析、排除:检查服务器系统设置在“拨号网络”中的端口连接速度是否是设置的最大值;线路是否正常;可通过优化MODEN的设置来提高连接的速度;通过修改注册表也可以提高上网速度;同时上网的客户机是否很多;若是很多,而使连接速度过慢是正常现象。

11.故障现象:计算机屏幕上出现“错误678”或“错误650”的提示框。

分析、排除:一般是你所拨叫的服务器线路较忙、占线,暂时无法接通,你可进一会后继续重拨。


12.故障现象:计算机屏幕上出现“错误680:没有拨号音。请检测调制解调器是否正确连到电话线。”或者“Thereisno dialtone。 Makesure yourModem is connected to the phone line properly。”的提示框。

分析、排除:检测调制解调器工作是否正常,是否开启;检查电话线路是否正常,是否正确接入调制解调器,接头有无松动。

13.故障现象:计算机屏幕上出现“The Modem is being used by another Dial-up Networding connection or another program。Disconnect the other connection or close the program,and then try again” 的提示框。

分析、排除:检查是否有另一个程序在使用调制解调器;检查调制解调器与端口是否有冲突。

14.故障现象:计算机屏幕上出现“The computer you are dialing into is not answering。Try again later”的提示框。

分析、排除:电话系统故障或线路忙,过一会儿再拨。

15.故障现象:计算机屏幕上出现“Connection to xx.xx.xx. was terminated. Do you want to reconnect?” 的提示框。

分析、排除:电话线路中断使拨号连接软件与ISP主机的连接被中断,过一会重试。

16.故障现象:计算机屏幕上出现“The computer is not receiving a response from the Modem. Check that the Modem is plugged in,and if necessary,turn the Modem off ,and then turn it back on” 的提示框。

分析、排除:检查调制解调器的电源是否打开;检查与调制解调器连接的线缆是否正确的连接。

17.故障现象:计算机屏幕上出现“Modem is not responding” 的提示框。

分析、排除:表示调制解调器没有应答;检查调制解调器的电源是否打开;检查与调制解调器连接的线缆是否正确连接;调制解调器是损坏。

18.故障现象:计算机屏幕上出现“NO CARRIER” 的提示信息。

分析、排除:表示无载波信号。这多为非正常关闭调制解调器应用程序或电话线路故障;检查与调制解调器连接的线缆是否正确的连接;检查调制解调器的电源是否打开。

19.故障现象:计算机屏幕上出现“No dialtone” 的提示框。

分析、排除:表示无拨号声音;检查电话线与调制解调器是否正确连接。

20.故障现象:计算机屏幕上出现“Disconnected” 的提示时。

分析、排除:表示终止连接;若该提示是在拨号时出现,检查调制解调器的电源是否打开;若该提示是使用过程中出现,检查电话是否在被人使用。

21.故障现象:计算机屏幕上出现“ERROR” 的提示框。

分析、排除:是出错信息;调制解调器工作是否正常,电源是否打开;正在执行的命令是否正确。


22.故障现象:计算机屏幕上出现“A network error occurred unable to connect to server (TCP Error:No router to host)The server may be down or unreadchable。Try connectin gagain later” 的提示时。

分析、排除故障:表示是网络错误,可能是TCP协议错误;没有路由到主机,或者是该服务器关机而导致不能连接,这时只有重试了。

23.故障现象:计算机屏幕上出现“The line id busy, Try again later”或“BUSY” 的提示时。

分析、排除:表示占线,这时只在重试了。

24.故障现象:计算机屏幕上出现:“The option timed out”的提示时。

分析、排除:表示连接超时,多为通讯网络故障,或被叫方忙,或输入网址错误。向局端查询通讯网络工作情况是否正常。检查输入网址是否正确。

25.故障现象:计算机屏幕上出现“Another program is dialing the selected connection” 的提示时。

分析、排除:表示有另一个应用程序已经在使用拨号网络连接了。只有停止该连接后才能继续我们的拨号连接。

26.故障现象: 在用IE浏览器浏览中文站点时出现乱码。

分析、排除故障:IE浏览器中西文软件不兼容造成的汉字会显示为乱码,可试用NetScape的浏览器看看;我国使用的汉字内码是GB,而台湾使用的是BIG5,若是这个原因造成的汉字显示为乱码,可用RichWin 变换内码试试。

27.故障现象: 浏览网页的速度较正常情况慢。

分析、排除:主干线路较拥挤,造成网速较慢;(属正常情况)浏览某一网页的人较多,造成网速较慢;(属正常情况) 有关Modem的设置有问题;局端线路有问题。

28.故障现象: 能正常上网,但总是时断时续的。

分析、排除:电话线路问题,线路质量差;调制解调器的工作不正常,影响上网的稳定性。

29.故障现象: 用拨号上网时,听不见拨号音,无法进行拨号。

分析、排除:检查调制解调器工作是否正常,电源打开否,电缆线接好了没,电话线路是否正常。

30.故障现象: 在拨号上网的过程中,能听见拨号音,但没有拨号的动作,而计算机却提示“无拨号声音”。

分析、排除:可通过修改配置,使拨号器不去检测拨号声音。可进入“我的连接”的属性窗口,单击“配置”标签,在“连接”一栏中去掉“拨号前等待拨号音”的复选框。

31.故障现象: 在拨号上网的过程中,计算机屏幕上出现:“已经与您的计算机断开,双击‘连接’重试。”的提示时。
分析、排除: 电话线路质量差,噪声大造成的,可拨打:112报修。也可能是病毒造成的,用杀毒软件杀一遍毒。

32.故障现象: 若计算机屏幕上出现:“拨号网络无法处理在‘服务器类型’设置中指定的兼容网络协议”的提示时。

分析、排除:检查网络设置是否正确;调制解调器是否正常;是否感染上了宏病毒,用最新的杀毒软件杀一遍毒。

33.故障现象:Windows 98网上邻居中找不到域及服务器,但可找到其他的工作站。

分析、排除:在“控制面板→网络→Microsoft网络客户”中,将登录时Windows 98与网络的连接由慢速改为快速连接。

34.故障现象:在查看"网上邻居"时,会出现“无法浏览网络。网络不可访问。想得到更多信息,请查看‘帮助索引‘中的‘网络疑难解答’专题。”的错误提示。

分析、排除:第一种情况是因为在Windows启动后,要求输入Microsoft网络用户登录口令时,点了"取消"按钮所造成的,如果是要登录NT服务器,必须以合法的用户登录,并且输入正确口令。第二种情况是与其它的硬件产生冲突。打开“控制面板→系统→设备管理”。查看硬件的前面是否有黄色的问号、感叹号或者红色的问号。如果有,必须手工更改这些设备的中断和I/O地址设置。

35.故障现象:在“网上邻居”或“资源管理器”中只能找到本机的机器名。

分析、排除:网络通信错误,一般是网线断路或者与网卡的接确不良,还有可能是Hub有问题。

36.故障现象:可以访问服务器,也可以访问Internet,但却无法访问其他工作站?

分析、排除:如果使用了WINS解析,可能是WINS服务器地址设置不当;检查网关设置,若双方分属不同的子网而网关设置有误,则不能看到其他工作站;检查子网掩码设置。

37.故障现像:网卡在计算机系统无法安装。

分析、排除:第一个可能是计算机上安装了过多其它类型的接口卡,造成中断和I/O地址冲突。可以先将其他不重要的卡拿下来,再安装网卡,最后再安装其他接口卡。第二个可能是计算机中有一些安装不正确的设备,或有"未知设备"一项,使系统不能检测网卡。这时应该删除"未知设备"中的所有项目,然后重新启动计算机。第三个可能是计算机不能识别这一种类型的网卡,一般只能更换网卡。

38.故障现象:局域网上可以Ping通IP地址,但Ping不通域名?

分析、排除:TCP/IP协议中的“DNS设置”不正确,请检查其中的配置。对于对等网,“主机”应该填自己机器本身的名字,“域”不需填写,DNS服务器应该填自己的IP。对于服务器/工作站网,“主机”应该填服务器的名字,“域”填局域网服务器设置的域,DNS服务器应该填服务器的IP。

39.故障现象:网络上的其他计算机无法与某一台计算机连接。

分析、排除:确认是否安装了该网络使用的网络协议?如果要登录NT域,还必须安装NetBEUI协议。确认是否安装并启用了文件和打印共享服务?如果是要登录NT服务器网络,在“网络”属性的“主网络登录”中,应该选择“Microsoft网络用户”。如果是要登录NT服务器网络,在“网络”属性框的“配置”选项卡中,双击列表中的“Microsoft网络用户”组件,检查是否已选中“登录到Windows域”复选框,以及“Windows域”下的域名是否正确。
40.故障现象:安装网卡后,计算机启动的速度慢了很多。
分析、排除:可能在TCP/IP设置中设置了"自动获取IP地址",这样每次启动计算机时,计算机都会主动搜索当前网络中的DHCP服务器,所以计算机启动的速度会大大降低。解决的方法是指定静态的IP地址。

41.故障现象:网络安装后,在其中一台计算机上的“网络邻居”中看不到任何计算机?

分析、排除:主要原因可能是网卡的驱动程序工作不正常。请检查网卡的驱动程序,必要时重新安装驱动程序。

42.故障现象:从“网络邻居”中能够看到别人的机器,但不能读取别人电脑上的数据?

分析、排除:

(1)首先必须设置好资源共享。选择"网络→配置→文件及打印共享",将两个选项全部打勾并确定,安装成功后在"配置"中会出现"Microsoft 网络上的文件与打印机共享"选项。

(2)检查所安装的所有协议中,是否绑定了"Microsoft网络上的文件与打印机共享"。选择"配置"中的协议如"TCP/IP协议",点击"属性"按钮,确保绑定中"Microsoft网络上的文件与打印机共享"、"Microsoft网络用户"前已经打勾了。

43.故障现象:在安装网卡后通过"控制面板→系统→设备管理器"查看时,报告"可能没有该设备,也可能此设备未正常运行,或是没有安装此设备的所有驱动程序"的错误信息。

分析、排除:

(1)没有安装正确的驱动程序,或者驱动程序版本不对。

(2)中断号与I/O地址没有设置好。有一些网卡通过跳线开关设置;另外一些是通过随卡带的软盘中的Setup程序进行设置。

44.故障现象:已经安装了网卡和各种网络通讯协议,但网络属性中的选择框"文件及打印共享"为灰色,无法选择。

分析、排除:原因是没有安装"Microsoft 网络上的文件与打印共享"组件。在"网络"属性窗口的"配置"标签里,单击"添加"按钮,在"请选择网络组件"窗口单击"服务",单击"添加"按钮,在"选择网络服务"的左边窗口选择"Microsoft",在右边窗口选择"Microsoft网络上的文件与打印机共享",单击"确定"按钮,系统可能会要求插入Windows安装光盘,重新启动系统即可。

45.故障现象:无法在网络上共享文件和打印机。

分析、排除:

(1)确认是否安装了文件和打印机共享服务组件。要共享本机上的文件或打印机,必须安装"Microsoft网络上的文件与打印机共享"服务。

(2)确认是否已经启用了文件或打印机共享服务。在"网络"属性框中选择"配置"选项卡,单击"文件与打印机共享"按钮,然后选择"允许其他用户访问的我的文件"和"允许其他计算机使用我的打印机"选项。

(3)确认访问服务是共享级访问服务。在"网络"属性的"访问控制"里面应该选择"共享级访问"。

46.故障现象:客户机无法登录到网络上。

分析、排除:

(1)检查计算机上是否安装了网络适配器,该网络适配器工作是否正常。

(2)确保网络通信正常,即网线等连接设备完好。

(3)确认网络适配器的中断和I/O地址没有与其他硬件冲突。

(4)网络设置可能有问题。

47.故障现象:无法将台式电脑与笔记本电脑使用直接电缆连接。

分析、排除:笔记本电脑自身可能带有PCMCIA网卡,在"我的电脑→控制面板→系统→设备管理器"中删除该"网络适配器"记录后,重新连接即可。

48.故障现象:在网上邻居上可以看到其它机器,别人却看不到自己?

分析、排除:经检查网络配置,发现是漏装"Microsoft 网络上的文件与打印机共享"所致。解决办法:开始--设置--控制面板--网络,单击"添加",在网络组件中选择"服务",单击"添加"按钮,型号中选择"Microsoft 网络上的文件与打印机共享"即可。重新启动后问题解决。

49.故障现象:在网上邻居上只能看到计算机名,却没有任何内容?

分析、排除:出现这种问题时一般都以为是将文件夹没有共享所致。打开资源管理器,点取要共享的文件夹,却发现右键菜单中的"共享"项都消失了。解决办法是右击“网上邻居”图标,点取“文件及打印共享”,钩选“允许其它用户访问我的文件”,重启后,问题解决。

50.故障现象:在Windows 98的“网上邻居”中找不到域及服务器,但可找到其他的工作站?


分析、排除:在“控制面板→网络→Microsoft网络客户”中,将登录时Windows 98与网络的连接由慢速改为快速连接。

51.故障现象:在查看“网上邻居”时,会出现“无法浏览网络。网络不可访问。想得到更多信息,请查看'帮助索引'中的'网络疑难解答'专题。”的错误提示。

分析、排除:(1)这是在Windows启动后,要求输入Microsoft网络用户登录口令时,点了“取消”按钮所造成的,如果是要登录Windows NT或者Windows 2000服务器,必须以合法的用户登录,并且输入正确口令。

(2)与其它的硬件起冲突。打开“控制面板→系统→设备管理”。查看硬件的前面是否有黄色的问号、感叹号或者红色的问号。如果有,必须手工更改这些设备的中断和I/O地址设置。

52.故障现象:用Windows 2000专业版做服务器,然后用Windows 98做客户机,网上邻居正常,Windows 98与Windows 98之间突然变得很慢,但从Windows 2000访问Windows 98却很快。

分析、排除:大家在通过网络系统浏览共享文件时,大概都会要等上30秒钟。这其实是因为Windows 2000有个BUG,一定要先在“计划任务”里搜索,再找出共享文件。而我们提到的这个方法就是专门修补这个BUG的,如果做一些改动的话,Windows 2000的用户就会发现,无论是互联网还是视窗浏览的速度都有了很显著的提高:

打开注册表

HKEY_LOCAL_MACHINE/Software/Microsoft/Windows/Current Version/Explorer/RemoteComputer/NameSpace

在其分栏出选择键值:

{D6277990-4C6A-11CF-8D87-00AA0060F5BF

然后删除。

因为就是这个健值引导Windows去搜索“计划任务”。不需要重新开机,几乎立刻就可以感受到你的浏览程序快了很多!

53.故障现象:已经按照要求安装、设置好Sygate,但服务器仍不能连接网络。

分析、排除:使用Sygate中特有的Sygate Diagnostics(诊断)功能。可以通过以下两种方式来启动诊断医生,在 Sygate王界面的工具栏电权击 Diagnosticstool(诊断工具)图标,或者点去开始一程序一Sygate――Sygate Diagnostics。这时诊断工具会依次测试系统设置、网络适配器、拨号连接、TCP/IP协议与设置等。如果测试不能通过,系统会出现一个提示,描述问题及指点正确的方向。此时你可以根据提示作相应的更改。如果测试通过,诊断工具会显示已经测试通过的提示。

54.故障现象:正确安装Sygate4后,网络中的某些客户机不能正常使用。

分析、排除:一般情况,客户机不能正常使用多为TCP/IP的配置出现问题,当然也不排除操作系统和硬件(比如网卡已坏等)的问题,在这种情况下,你可以使用Sygate的Troubleshooting(发现并解决故障)功能,在出现的表单中详细列出使用Sygate后产生的信息资料,例如:sdsys.log、 Sygate.log、 sgconf.log、 sgsys.log等,在这些日志中包含了服务器、操作系统、拨号网络、网卡、浏览网址、应用程序等详细资料,你可以根据这些资料来判断故障,然后作出相应修改。

55.故障现象:自从安装Sygate后,服务器经常会莫名其妙自动拨号上网。

分析、排除:这是因为网络中的客户机启动了某些网络软件,例如浏览器、电子邮件软件等,而又在配置中勾进了Enable Dial-on-Demand For Cline(允许客户机拨号),这样当SyGate侦测到网络中有连接到Internet的请求,如此时系统尚未建立连接,便会自动拨号。只要去掉前面的小勾,即能解决这个问题。

56. 故障现象:用分机电话线上网,Modem为实达网上之星,上网连接速度最快才48000bps。 还有,将Modem放在主机箱侧,开机后(未打开Modem电源),家里的电话就处于忙音状态。

分析、排除:第一个问题跟分机电话线或线接头质量有很大关系,另外,如果Modem的速度平常都能接近48000bps,也不要太在意,应该重点先看一下它的实际下载速度是否令你满意。第二个问题,肯定和主机电源的电磁辐射强和屏蔽效果差有关,最好用物体在主机和Modem之间进行屏蔽,或将Modem远离主机。

57.故障现象:一台计算机通过局域网连接,一切正常。
但是换了一个硬盘、重新安装Win98操作系统后,查看网上邻居时,只能看到自己的计算机和所属的工作组;而访问外部网却没有问题,收发邮件也没问题。

分析、排除:启动电脑后不要立即打开网上邻居,而是等一下再打开,并且按F5键刷新,一般可以看到新的工作组和用户。如果实在不行,就用查找计算机,找到其他组的计算机后作成快捷方式放在桌面上。

58.故障现象:有时ADSL的访问速度较平时慢。

分析、排除:原因很多:可能是出口带宽及对方站点配置情况等原因的影响;可能是线路的质量情况的影响;可能是接入局端设备影响。

59.故障现象: 在Windows NT4.0操作系统上已经安装了Modem、TCP/IP协议和RAS服务,但在拔号上网铁过程中,计算机屏幕上出:“734错误,对方服务器终止(口令和用户名均无误,在Windows下可以正常上网)”的提示框。

分析、排除:在“设置”中不要输入域名试试看。

60.故障现象:在Windows NT4.0操作系统上拨号上网的过程中,在检测用户名和密码时要断线。

分析、排除:可以将验证密码的选项改成明文验证方式试试看;可以把拨号网络属性中“拨号后出现终端窗口”复选框选中试试看。

61.故障现象: 在Windows NT4.0操作系统上拨号上网的过程中,在检测用户名和密码后自动断开。

分析、排除:可在“新的电话簿项”中,单击“安全”项,然后在“认证与加密规则”中选中“接受任何验证”。

62.故障现象: 只要一启动IE浏览器,就会自动执行发送和接收邮件。

分析、排除:可打开IE浏览器,在菜单栏中单击“工具(T)”项,在弹出的下拉式菜单中选中并单击“Internet选项(O)”项,在弹出的对话框中单击“常规”标签,去掉“启动时自动接收所有帐号怕邮件”项便可以了。

2008/12/13 21:57
应用扩展 工具箱


挑战安全的捉迷藏--病毒和木马的隐藏手段
新进会员
注册日期:
1970/1/1 8:00
所属群组:
注册会员
帖子: 5
等级: 1; EXP: 34
HP : 0 / 8
MP : 1 / 1279
离线
出处:网络技术论坛 作者:小金

一. 无处可寻的病毒
大学生张云毕业后在一家公司担任计算机维护员的工作,这天主任把他找去维修一台出现异常的计算机,这台计算机上什么程序都未运行,可是机内安装的卡巴斯基杀毒软件却在不停的提示在系统目录发现特洛伊木马程序,而后自动进行查杀,可是刚查杀完毕就又跳出了同样的提示,一旦断开网络连接,这个现象立刻终止,再连接网络,立即再次提示发现特洛伊木马程序……如此反复循环,最终导致任何正常工作都无法进行。由于机器上储存有大量重要资料和数据库,如果要重装系统,后面的环境恢复工作必将十分庞大,主任通过杀毒软将无法解决,只好把所有希望都寄托在这名小伙子身上了。
张云信心十足的坐下来,凭着他往日积累的手工检测和查杀病毒的经验,很快就清理了一堆恶意程序和流氓软件,在经过几次慎重检查所有涉及的启动项都没有异常程序后,张云再次把网络给连接上了,正欲离开办公室,身后卡巴斯基发现病毒的嘶叫声猛的吓了他一跳,怎么还有病毒?张云茫然不知所措了……

二. 永无休止的躲藏
隐藏是病毒的天性,在业界对病毒的定义里,“隐蔽性”就是病毒的一个最基本特征,任何病毒都希望在被感染的计算机中隐藏起来不被发现,因为病毒都只有在不被发现的情况下,才能实施其破坏行为。为了达到这个目的,许多病毒使用了各种不同的技术来躲避反病毒软件的检验,这样就产生了各种各样令普通用户头痛的病毒隐藏形式。由于木马后门的行为特征已具备病毒条件,因此本文将木马后门也统一归纳为病毒来描述。

开山鼻祖:隐藏窗口 & 隐藏进程 & 隐藏文件
在计算机流行的早期,计算机病毒和木马后门等危害程序在普通用户范围的普及并不是很广泛,这个时期的用户群对计算机和网络安全的防范意识可以说是几乎没有的,普通用户的系统也多为脆弱的Windows 95/98系列和电话线拨号的慢速网络,而那一段时间正是外国木马“BO”和国产木马雏形“冰河”、“NetSpy”等在如今看来各方面技术都颇为简单的远程控制软件大行其道的黄金时期,很多用户根本就没有防火墙和杀毒软件(即使有,也是以杀CIH的为主),即使远方的黑客把用户的计算机翻了个底朝天,用户也不会有所察觉,这一时期接触此类技术的人相对较少,因此并未造成如今这个病毒到处蔓延的局面。
因为这个阶段国内用户的机器环境仍然以Windows 9x为主流,所以病毒编写者们并不需要消耗太多的脑筋就可以做到让病毒悄无声息运行的效果,并让它在Alt+Del+Ctrl呼出的任务管理器中不可见。
我们都知道,在Windows下运行的程序界面都被定义为“窗口”,程序通过这个途径与用户产生交互,每个完整的程序都必须拥有至少一个窗口,但是如果编写者将这个窗口在运行期间设置为“不可见”呢?这样一来,用户就不会察觉到这个程序在桌面上运行了,但是如果有一定经验的用户打开任务管理器,他就会因为发现系统里多出来的进程而产生怀疑,因此病毒编写者在这个时期采取了初级形式的隐藏手段:隐藏进程。
其实所谓隐藏进程,是利用微软未公开的一个API(Application Programming Interface,应用程序接口)函数“RegisterServiceProcess”将自身注册为“服务进程”,而恰巧Windows 9x中的任务管理器是不会显示此类进程的,结果就被病毒钻了空子,让“冰河”等木马在国内大部分普通用户的机器上安家落户。
而早期后门技术里,还有一个最基本的行为就是隐藏文件,与今天的各种隐藏手段相比,它可谓是“不入流”级别了――这里提到的“隐藏”,就是简单的将文件属性设置为“隐藏”而已,除此之外,再无别的保护手段了,然而,由于系统设计时为了避免初学者胡乱删除文件而默认“不显示系统和隐藏文件”的做法(到了Windows 2000/XP时代,这个做法更升级到“隐藏受保护的系统文件”了),却恰好给这些病毒提供了天然的隐身场所――大部分对电脑操作不熟悉的用户根本不知道“隐藏文件”的含义,更别提设置为“显示所有文件”了,在那个安全软件厂商刚开始探索市场的时代,用户更是不会留意太多安全产品及其实际含义,因而这个时期成了各种初期木马技术发展的重要阶段,利用这种手段制作的木马被统称为“第一代木马”。

以现在的技术和眼光看来,这些早期技术作品的发现和清理是相对较简单的了,因为它们采用的“进程隐藏”技术在NT体系上的Windows2000/XP/2003等操作系统上已经无效了,直接使用系统自带的任务管理器便能发现和迅速终止进程运行,而后在“控制面板”――“文件夹选项”里面设置“显示所有文件”和取消“隐藏受保护的系统文件”,就能发现那个被隐藏起来的木马程序了。对于Windows 9x用户,使用任意一款第三方的进程管理工具如“Windows优化大师”的进程管理组件即可轻松发现。

继续发展:使用线程注射技术的DLL木马
虽然现在使用“线程注射”的木马病毒和流氓软件已经遍地开花了,但是从那个混沌时代经历过来的人都不会忘记首个采用“线程注射”的DLL木马“广外幽灵”在当时所带来的恐惧,“线程注射”到底是种什么东西呢?下面就让我们来详细讲解一下。
首先,用户可能不会了解“线程”(Thread)的意思,而要讲解“线程”,就不能不先提到“进程”(Process)的概念。许多刚接触计算机的用户无法理解“进程”是什么东西:常常听到高手说打开任务管理器关闭某某进程,但是一看到任务管理器列表里的一堆东西,头就大了。许多用户知道使用任务管理器关闭一些失去响应的任务,但是如果某个任务没有在“应用程序”列表里出现,用户就不知所措了。到底什么是“进程”呢?“进程”是指一个可执行文件在运行期间请求系统在内存里开辟给它的数据信息块,系统通过控制这个数据块为运行中的程序提供数据交换和决定程序生存期限,任何程序都必须拥有至少一个进程,否则它不被系统承认。进程从某一方面而言就是可执行文件把自身从存储介质复制在内存中的映像,它通常和某个在磁盘上的文件保持着对应关系,一个完整的进程信息包括很多方面的数据,我们使用进程查看工具看到的“应用程序”选项卡包含的是进程的标题,而“进程”选项卡包含的是进程文件名、进程标识符、占用内存等,其中“进程文件名”和“进程标识符”是必须掌握的关键,“进程标识符”是系统分配给进程内存空间时指定的唯一数字,进程从载入内存到结束运行的期间里这个数字都是保持不变的,而“进程文件名”则是对应着的介质存储文件名称,根据“进程文件名”我们就可以找到最初的可执行文件位置。
任务管理器的“应用程序”项里列出来的“任务”,是指进程在桌面上显示出来的窗口对象,例如用户打开Word 2003撰写文档,它的进程“WINWORD.EXE”会创建一个在桌面上显示的前台窗口,这个窗口就是任务管理器里看得见的“任务”了,而实际上真正在运行的是进程“WINWORD.EXE”。并不是所有的进程都会在任务管理器里留下“任务”的,像QQ、MSN和所有后台程序,它们并不会在任务列表里出现,但是你会在进程列表里找到它们,如果要它们在任务列表里出现该怎么办呢?只要让它们产生一个在桌面上出现的窗体就可以了,随便打开一个好友聊天,就会发现任务列表里终于出现了QQ的任务。因此,真正科学的终止程序执行方案是针对“进程”来结束程序的运行,而不是在任务列表里关闭程序,因为木马作者们是不会让自己的木马在任务列表里出现的,但是进程列表里一般人都是逃不过的。
而“线程”,则是在一个进程里产生的多个执行进度实例,举个简单例子,一个网络文件传输程序如果只有一个线程(单线程)运作,那么它的执行效率会非常低下,因为它既需要从网络上读取文件数据,又需要把文件保存到磁盘,同时还需要绘制当前传输进度条,由于在代码的角度里这些操作只能一条条的顺序执行,程序就不能很好的做到在保存数据的同时绘制传输进度条,即使程序员将其勉强凑到一块执行,在用户方面看来,这个程序的响应会非常缓慢甚至直接崩溃,而“多线程”技术则是为了解决这种问题而产生的,采用“多线程”技术编写的应用程序在运行时可以产生多个同时执行的操作实例,例如一个采用“多线程”技术的网络文件传输程序就能同时分出三个进度来同时执行网络数据传输、文件保存操作和绘制传输进度条的操作,于是在用户看来,这个程序运行非常流畅,这就是线程的作用。在程序运行时,只能产生一个进程,但是在这个进程的内存空间(系统为程序能正常执行而开辟的独立内存领域)里,可以产生多个线程,其中至少有一个默认的线程,被称为“主线程”,它是程序主要代码的运行部分。
那么,“线程注射”又是什么含义呢?其实它的全称是“远程线程注射”(RemoteThread Injection),通常情况下,各个进程的内存空间是不可以相互访问的,这也是为程序能够稳定运行打下基础,这个访问限制让所有进程之间互相独立,这样一来,任何一个非系统关键进程发生崩溃时都不会影响到其他内存空间里的进程执行,从而使NT架构的稳定性远远高于Win9x架构。但是在一些特定的场合里,必须让进程之间可以互相访问和管理,这就是“远程线程”技术的初衷,这个技术实现了进程之间的跨内存空间访问,其核心是产生一个特殊的线程,这个线程能够将一段执行代码连接到另一个进程所处的内存空间里,作为另一个进程的其中一个非核心线程来运行,从而达到交换数据的目的,这个连接的过程被称为“注射”(Injection)。远程线程技术好比一棵寄生在大树上的蔓藤,一旦目标进程被注射,这段新生的线程就成为目标进程的一部分代码了,只要目标进程不被终止,原进程无论是否还在运行都不会再影响到执行结果了。
与“线程注射”离不开的是“Hook”技术,这个“Hook”,又是什么呢?其官方定义如下:
钩子(Hook),是Windows消息处理机制的一个平台,应用程序可以在上面设置子程以监视指定窗口的某种消息,而且所监视的窗口可以是其他进程所创建的。当消息到达后,在目标窗口处理函数之前处理它。钩子机制允许应用程序截获处理window消息或特定事件。
钩子实际上是一个处理消息的程序段,通过系统调用,把它挂入系统。每当特定的消息发出,在没有到达目的窗口前,钩子程序就先捕获该消息,亦即钩子函数先得到控制权。这时钩子函数即可以加工处理(改变)该消息,也可以不作处理而继续传递该消息,还可以强制结束消息的传递。

在这里,木马编写者首先把一个实际为木马主体的DLL文件载入内存,然后通过“线程注射”技术将其注入其他进程的内存空间,最后这个DLL里的代码就成为其他进程的一部分来实现了自身的隐藏执行,通过调用“Hook”机制,这个DLL木马便实现了监视用户的输入输出操作,截取有用的资料等操作。这种木马的实际执行体是一个DLL文件,由于Windows系统自身就包含着大量的DLL文件,谁也无法一眼看出哪个DLL文件不是系统自带的,所以这种木马的隐蔽性又提高了一级,而且它的执行方式也更加隐蔽,这是由Windows系统自身特性决定的,Windows自身就是大量使用DLL的系统,许多DLL文件在启动时便被相关的应用程序加载进内存里执行了,可是有谁在进程里直接看到过某个DLL在运行的?因为系统是把DLL视为一种模块性质的执行体来调用的,它内部只包含了一堆以函数形式输出的模块,也就是说每个DLL都需要由一个用到它的某个函数的EXE来加载,当DLL里的函数执行完毕后就会返回一个运行结果给调用它的EXE,然后DLL进程退出内存结束这次执行过程,这就是标准的DLL运行周期,而采用了“线程注射”技术的DLL则不是这样,它们自身虽然也是导出函数,但是它们的代码是具备执行逻辑的,这种模块就像一个普通EXE,只是它不能直接由自身启动,而是需要有一个特殊作用的程序(称为加载者)产生的进程把这个DLL的主体函数载入内存中执行,从而让它成为一个运行中的木马程序。了解Windows的用户都知道,模块是紧紧依赖于进程的,调用了某个模块的进程一旦退出执行,其加载的DLL模块也就被迫终止了,但是在DLL木马里,这个情况是不会因为最早启动的EXE被终止而发生的,因为它使用了“远程线程注射”技术,所以,在用户发现异常时,DLL木马早就不知道被注入哪个正常进程里了,即使用户发现了这个木马DLL,也无法把它终止,因为要关闭它就必须在那么多的系统进程里找到被它注射的进程,并将其终止,对一般用户来说,这是个不可能完成的任务。
自从“广外幽灵”开创了DLL木马时代的先河以来,现在采用线程注射的DLL木马和恶意程序已经随处可见了,除了普遍被采用的另行编写DLL加载器程序躲在启动项里运行加载DLL主体之外,“求职信”还带来了一种比较少见的通过注册表“HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Windows\AppInit_DLLs”项目加载自身DLL的启动方法,而相对于以上几种早期方法,现在更有一种直接利用系统服务启动自身的木马程序,这才是真正的难缠!
“服务”是Windows系统的一大核心部分,在NT架构系统中,服务是指执行指定系统功能的程序、例程或进程,以便支持其他程序,尤其是底层(接近硬件)程序。通过网络提供服务时,服务可以在Active Directory中发布,从而促进了以服务为中心的管理和使用。服务是一种应用程序类型,它在后台运行。服务应用程序通常可以在本地和通过网络为用户提供一些功能,例如客户端/服务器应用程序、Web服务器、数据库服务器以及其他基于服务器的应用程序。 “服务”自身也是一种程序,由于使用的领域和作用不同,服务程序也有两种形式:EXE和DLL,采用DLL形式的服务是因为DLL能实现Hook,这是一些服务必需的数据交换行为,而NT架构系统采用一个被称为“svchost.exe”的程序来执行DLL的加载过程,所有服务DLL都统一由这个程序根据特定分组载入内存,然而,如今越来越多病毒作者瞄上了这个系统自带的加载器,因为它永远也不能被查杀。
病毒作者将木马主体写成一个符合微软开发文档规范的服务性质DLL模块文件,然后通过一段安装程序,将木马DLL放入系统目录,并在服务管理器(SCM)里注册自身为通过svchost.exe加载的服务DLL组件之一,为了提高隐蔽性,病毒作者甚至直接替换系统里某些不太重要而默认开启的服务加载代码,如“Distributed Link Tracking Client”,其默认的启动命令是“svchost -k netsvcs”,如果有个病毒替换了启动命令为自己建立的分组“netsvsc”,即“svchost -k netsvsc”,在这种旁门左道加社会工程学的攻势下,即使是具备一般查毒经验的用户也难以在第一时间内察觉到问题出自服务项,于是病毒得以成功逃离各种查杀。

目前被发现使用此方法的木马已经出现,其中一个进程名为“AD1.exe”的广告程序就是典型例子,它通过替换“Distributed Link Tracking Client”服务的svchost启动项来躲过一般的手工查杀,同时它自身还是个病毒下载器,一旦系统感染了这个恶意程序,各种木马都有可能光临你的机器。
要清理DLL木马,用户需要借助于Sysinternals出品的第三方进程管理工具“Process Explorer”,利用它的“Find Handle or DLL”功能,能迅速搜索到某个DLL依附的进程信息并终结,让DLL失去载体后就能成功删除,而DLL木马的文件名为了避免和系统DLL发生冲突,一般不会起得太专业,甚至有“safaf.dll”、“est.dll”这样的命名出现,或者在某些系统下根本不会出现的文件名,如“kernel.dll”、“rundll32.dll”等。除了使用“Process Explorer”查找并终止进程以外,还可以用IceSword强行卸载某个进程里的DLL模块来达到效果。

对于服务性质的DLL,我们仍然使用“Process Explorer”进行查杀,由于它的层次结构,用户可以很直观的看到进程的启动联系,如果一台机器感染了杀不掉的顽固木马,有经验的用户做的第一件事情就是禁止掉不相关或者不重要的程序和服务在开机时运行,然后使用“Process Explorer”观察各个进程的情况,通过svchost.exe启动的DLL木马虽然狡猾,但是它释放出EXE文件运行时,一切都暴露了:一个svchost.exe服务进程执行了一个AD1.exe,还有比这更明显的吗?
Svchost的分组信息位于注册表的“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Svchost”项目,这是svchost加载DLL时的分组依据,如果用户发现了一个奇怪的分组信息,那就要提高警惕了。

隐藏技术发展的颠峰:Rootkit木马
随着安全技术的发展和计算机用户群的技术提高,一般的木马后门越来越难生存,于是一部分有能力的后门作者把眼光投向了系统底层――Ring 0。位于Ring 0层的是系统核心模块和各种驱动程序模块,所以位于这一层的木马也是以驱动的形式生存的,而不是一般的EXE。后门作者把后门写成符合WDM规范(Windows Driver Model)的驱动程序模块,把自身添加进注册表的驱动程序加载入口,便实现了“无启动项”运行。一般的进程查看器都只能枚举可执行文件EXE的信息,所以通过驱动模块和执行文件结合的后门程序便得以生存下来,由于它运行在Ring 0级别,拥有与系统核心同等级的权限,因此它可以更轻易的把自己隐藏起来,无论是进程信息还是文件体,甚至通讯的端口和流量也能被隐藏起来,在如此强大的隐藏技术面前,无论是任务管理器还是系统配置实用程序,甚至系统自带的注册表工具都失去了效果,这种木马,就是让人问之色变的Rootkit。
要了解Rootkit木马的原理,就必须从系统原理说起,我们知道,操作系统是由内核(Kernel)和外壳(Shell)两部分组成的,内核负责一切实际的工作,包括CPU任务调度、内存分配管理、设备管理、文件操作等,外壳是基于内核提供的交互功能而存在的界面,它负责指令传递和解释。由于内核和外壳负责的任务不同,它们的处理环境也不同,因此处理器提供了多个不同的处理环境,把它们称为运行级别(Ring),Ring让程序指令能访问的计算机资源依次逐级递减,目的在于保护计算机遭受意外损害――内核运行于Ring 0级别,拥有最完全最底层的管理功能,而到了外壳部分,它只能拥有Ring 3级别,这个级别能操作的功能极少,几乎所有指令都需要传递给内核来决定能否执行,一旦发现有可能对系统造成破坏的指令传递(例如超越指定范围的内存读写),内核便返回一个“非法越权”标志,发送这个指令的程序就有可能被终止运行,这就是大部分常见的“非法操作”的由来,这样做的目的是为了保护计算机免遭破坏,如果外壳和内核的运行级别一样,用户一个不经意的点击都有可能破坏整个系统。
由于Ring的存在,除了由系统内核加载的程序以外,由外壳调用执行的一般程序都只能运行在Ring 3级别,也就是说,它们的操作指令全部依赖于内核授权的功能,一般的进程查看工具和杀毒软件也不例外,由于这层机制的存在,我们能看到的进程其实是内核“看到”并通过相关接口指令(还记得API吗?)反馈到应用程序的,这样就不可避免的存在一条数据通道,虽然在一般情况下它是难以被篡改的,但是不能避免意外的发生,Rootkit正是“制造”这种意外的程序。简单的说,Rootkit实质是一种“越权执行”的应用程序,它设法让自己达到和内核一样的运行级别,甚至进入内核空间,这样它就拥有了和内核一样的访问权限,因而可以对内核指令进行修改,最常见的是修改内核枚举进程的API,让它们返回的数据始终“遗漏”Rootkit自身进程的信息,一般的进程工具自然就“看”不到Rootkit了。更高级的Rootkit还篡改更多API,这样,用户就看不到进程(进程API被拦截),看不到文件(文件读写API被拦截),看不到被打开的端口(网络组件Sock API被拦截),更拦截不到相关的网络数据包(网络组件NDIS API被拦截)了,我们使用的系统是在内核功能支持下运作的,如果内核变得不可信任了,依赖它运行的程序还能信任吗?
但即使是Rootkit这一类恐怖的寄生虫,它们也并非所向无敌的,要知道,既然Rootkit是利用内核和Ring 0配合的欺骗,那么我们同样也能使用可以“越权”的检查程序,绕过API提供的数据,直接从内核领域里读取进程列表,因为所有进程在这里都不可能把自己隐藏,除非它已经不想运行了。也就是说,内核始终拥有最真实的进程列表和主宰权,只要能读取这个原始的进程列表,再和进程API枚举的进程列表对比,便能发现Rootkit进程,由于这类工具也“越权”了,因而对Rootkit进行查杀也就不再是难事,而Rootkit进程一旦被清除,它隐藏自身的措施也就不复存在,内核就能把它“供”出来了,用户会突然发现那个一直“找不到”的Rootkit程序文件已经老实的呆在文件管理器的视图里了。这类工具现在已经很多,例如IceSword、Patchfinder、gdb等。
道高一尺,魔高一丈,因为目前的主流Rootkit检测工具已经能检测出许多Rootkit木马的存在,因此一部分Rootkit作者转而研究Rootkit检测工具的运行检测算法机制,从而制作出新一代更难被检测到的木马――FUTO Rootkit。
国产优秀检测工具IceSword在FUTO面前败下阵来,因为FUTO编写者研究的检测工具原型就是一款与之类似的Black & Light,所以我们只能换用另一款Rootkit检测工具DarkSpy,并开启“强力模式”,方可正常查杀Rootkit。
但是由于检测机制的变化,DarkSpy要检测到FUTO的存在,就必须保证自己的驱动比FUTO提前加载运行,这就涉及到优先级的问题,也是让业界感觉不太满意的一种方式,因为这样做的后果会导致系统运行效率下降,不到紧急关头,都不要轻易采用这种方法,然而现在的瑞星卡卡助手所推广的“破甲”技术,实现原理是与之类似的,它也会对系统造成一定影响,因而,这个介于安全和效率之间的选择,唯有留给用户自己思考了。

另一种隐藏:给自己做个“壳”
今年底,国内杀毒软件厂商瑞星推出了2007测试版,细心的用户应该都能观察到,瑞星这次更新的重点基本在于“脱壳技术”,这个“壳”是什么,为什么厂商那么重视呢?
“壳”(Shell),顾名思义,就是一种包裹容器,在计算机方面,它指一种把应用程序压缩精简或者加密处理后用自身代码形成一个新程序的技术,“壳”在运行时将自身包裹的程序资源释放到内存中执行,就恢复了原来程序的面目,由于“壳”的初衷就是加密和精简程序文件的体积,因此许多杀毒软件其实根本无法检测出一个加了壳的病毒,因为针对“壳”而产生的脱壳技术相对复杂,如何完善的检测出大部分被“壳”处理过的病毒一直是业界的难题,利用这一特点,一部分病毒利用“壳”把自身包裹起来,因为杀毒软件对其无能为力,病毒便能先发制人,把杀毒软件消灭以后才释放真实的病毒文件运行感染,这种明目张胆的隐藏可谓恶毒。
由于各种原因,我们只能等待杀毒厂商提供一套完善的解决方案,因为手工脱壳对于一般用户来说是非常不实际的。

<大杂烩:混合型木马
“灰鸽子”,国内一款优秀的远程控制工具,同时也是危害广大用户的木马病毒,它是目前主流的一种结合了Rootkit驱动、远程线程注射的混合型DLL木马,它将两个技术整合起来,最终形成了这种在正常模式下无法发现进程和文件的强大后门。
针对此类病毒,用户需要结合IceSword和Process Explorer等工具发现被篡改的SSDT和木马DLL文件,而后进入安全模式删除。现在已经有流氓软件掌握了高优先级启动方法,使得其在安全模式下也能正常运作,如果遭遇这种恶劣病毒,用户只能求助于DOS了。

三. “进化论”和“安全威胁”
病毒技术一刻不停的发展着,与之相对的反病毒技术也在追逐,这场猫和老鼠的大战永远不会停止,战争过后,留下的是面目全非的操作系统。虽然从某个角度来看,这种技术追逐会给业界带来无数种计算机科技发展的可能,但是,普通用户要在网络上被迫“适者生存”的时代,还是不要到来的好。

2008/12/13 21:57
应用扩展 工具箱



« 1 (2) 3 4 5 ... 46 »





系统导航

 

Copyright © 2001-2010 安信网络. All Rights Reserved
京ICP备14013333号-8