当前位置:首页 » 文件管理 » 重建目标机硬件信息缓存已满

重建目标机硬件信息缓存已满

发布时间: 2022-10-18 05:57:45

‘壹’ 两个物理小问题

什么是TCP/IP?

TCP协议和IP协议指两个用在Internet上的网络协议(或数据传输的方法)。它们分别是传输控制协议和互连网协议。这两个协议属于众多的TCP/IP 协议组中的一部分。

TCP/IP协议组中的协议保证Internet上数据的传输,提供了几乎现在上网所用到的所有服务。这些服务包括:电子邮件的传输 文件传输 新闻组的发布 访问万维网

在TCP/IP协议组分两种协议:网络层的协议 应用层的协议
网络层协议
网络层协议管理离散的计算机间的数据传输。这些协议用户注意不到,是在系统表层以下工作的。比如,IP协议为用户和远程计算机提供了信息包的传输方法。它是在许多信息的基础上工作的,比如说是机器的IP地址。在机器IP地址和其它信息的基础上,IP确保信息包能正确地到达目的机器。通过这一过程,IP和其它网络层的协议共同用于数据传输。如果没有网络工具,用户就看不到在系统里工作的IP。

应用层协议
相反地,应用层协议用户是可以看得到的。比如,文件传输协议(ftp)用户是看得到的。用户为了传输一个文件请求一个和其它计算机的连接,连接建立后,就开始传输文件。在传输时,用户和远程计算机的交换的一部分是能看到的。

请记住这句总结性的话:TCP/IP协议是指一组使得Internet上的机器相互通信比较方便的协议。

TCP/IP是如何工作的?

TCP/IP通过使用协议栈工作。这个栈是所有用来在两台机器间完成一个传输的所有协议的几个集合。(这也就是一个通路,数据通过它从一台机器到另一台机器。)栈分成层,与这里有关的是五个层。学习下面的图可以对层有个概念。

在数据通过图示的步骤后,它就从网络中的一台机器传到另一台机器了。在这个过程中,一个复杂的查错系统会在起始机器和目的机器中执行。

栈的每一层都能从相邻的层中接收或发送数据。每一层都与许多协议相联系。在栈的每一层,这些协议都在起作用。本章的下一部分将分析这些服务,以及它们在栈中是如何联系的。同时也分析一下它们的功能,它们提供的服务和与安全性的关系。

协议简介

已经知道数据是怎样使用TCP/IP协议栈来传输的了。现在仔细分析在栈中所用到的关键的协议。先从网络层的协议开始。

网络层协议

网络层协议是那些使传输透明化的协议。除了使用一些监视系统进程的工具外,用户是看不见这些协议的。

Sniffers是能看到这些步骤的装置。这个装置可以是软件,也可以是硬件,她能读取通过网络发送的每一个包。Sniffers广泛地用于隔离用户看不到的、网络性能下降的问题。sniffers能读取发生在网络层协议的任何活动。而且,正如你已经猜到的,sniffers会对安全问题造成威胁。参见Sniffers一章。

重要的网络层协议包括:

地址解析协议(ARP)

Internet控制消息协议(ICMP)

Internet协议(IP)

传输控制协议(TCP)

下面仅仅简单介绍一下。

地址解析协议ARP

地址解析协议的目的是将IP地址映射成物理地址。这在使信息通过网络时特别重要。在一个消息(或其他数据)发送之前,被打包到IP包里,或适合于Internet传输的信息块。这包括两台计算机的IP地址。在这个包离开发送计算机之前,必须要找到目标的硬件地址。这就是ARP最初用到的地方。

一个ARP请求消息在网上广播。请求由一个进程接收,它回复物理地址。这个回复消息由原先的那台发送广播消息计算机接收,从而传输过程就开始了。

ARP的设计包括一个缓存。为了理解缓存的概念,考虑一下:许多现代的HTML浏览器(比如Netscape或Microsoft的Internet

Explorer)使用了一个缓存。缓存是磁盘的一部分,从Web网上经常访问的东西就存在里面(比如按钮,或通用的图形)。这是符合逻辑的,因为当你返回这些主页的时候,这些东西不必再从远程计算机上装载了。从缓存中装载的速度要比较快。

相似的,ARP的实现包括一个缓存。以这种方式,网络或远程计算机的硬件地址就存着了,并为接着的ARP请求作准备。这样节省了时间和网络资源。

但是,正是由于缓存,就引起了安全性。

对于网络安全来将,这并不是最重要的安全性问题。然而,地址缓存(不仅仅是在ARP而且在其他例子中)确实会引起安全性问题。一旦这些地址保存,都会是让黑客伪造一个远程连接,它们对缓存的地址很欢迎。 Internet控制消息协议ICMP

Internet控制消息协议是用来在两台计算机间传输时处理错误和控制消息的。它允许这些主机共享信息。在这一方面,ICMP是用来诊断网络问题的重要工具。通过ICMP收集诊断信息的例子如下:

一台主机关机

一个网关堵塞和工作不正常

网络中其他的失败

可能最着名的ICMP实现的网络工具是ping。ping通常用来判断是否一台远程机器正开着,数据包从用户的计算机发到远程计算机。这些包通常返回用户的计算机。如果没有返回数据包到用户计算机,ping程序就产生一个表示远程计算机关机的错误消息。

应用层协议

应用层协议是专门为用户提供应用服务的。它是建立在网络层协议之上的。

Telnet

Telnet在RFC

854中有详细地描述,Telnet协议中说明:Telnet协议的目的就是提供一个相当通用的,双向的,面向八位字节的通信机制。它的最初目的是允许终端和面向终端的进程之间的交互。

Telnet不仅允许用户登录到一个远程主机,它允许用户在那台计算机上执行命令。这样,Los Angeles的一个人可以Telnet到New

York的一台机器,并在这台机器上运行程序,就跟在New York的用户一样。

对于熟悉Telnet的用户来讲,他的操作与BBS的界面一样。Telnet是一个能提供建立在终端字体的访问数据库的一个应用程序。比如,多于80%的大学的图书馆的目录可以通过Telnet访问到。

即使GUI应用程序被大大采用,Telnet这个建立在字符基础上的应用程序,仍相当的流行。这有许多原因。第一,Telnet允许你以很小的网络资源花费实现各种功能(如收发邮件)。实现安全的Telnet是件十分简单的事。有许多这样的程序,通用的是Secure

Shell。

要使用Telnet,用户要指定启动Telnet客户的命令,并在后面指定目标主机的名字。在Linux中,可以这样:

$telnet internic.net

这个命令启动Telnet过程,连接到internic.net。这个连接可能被接受,或被拒绝,这与目标主机的配置有关。在UNIX,Telnet命令很久以前就是内置的。也就是说,Telnet已经包含在UNIX的发行版本中有十年了。但并不是所有操作系统都将Telnet作为内置的Telnet客户。

文件传输协议FTP

文件传输协议是从一个系统向另一个系统传递文件的标准方法。它的目标在RFC 0765中写得很清楚。

FTP的目标是1)促进文件和程序的共享,2)鼓励间接和含蓄的使用远程计算机,3)使用户不必面对主机间使用的不同的文件存储系统,4)有效和可靠地传输文件。FTP,尽管用户可以直接通过终端来使用,是设计成让别的程序使用的。

约有二十年,研究者调查了相当广泛的文件传输方法。FTP经历了多次改变。1971年作了第一次定义,整个的说名参见RFC 114。

FTP是怎样工作的?

FTP文件传输应用在客户/服务环境。请求机器启动一个FTP客户端软件。这就给目标文件服务器发出了一个请求。典型地,这个要求被送到端口21。一个连接建立起来后,目标文件服务器必须运行一个FTP服务软件。

FTPD是标准的FTP服务daemon。它的功能很简单:回复inetd收到的连接请求,并满足这些要传输文件的请求。这个daemon在许多发行版的UNIX中是个标准。

FTPD等待一个连接请求。当这样的一个请求到达时,FTPD请求用户登录。用户提供它的合法的登录名和口令或匿名登录。

一旦登录成功,用户可以下载文件了。在某些情况下,如果服务器的安全允许,用户可以上载文件。

简单邮件传输协议SMTP

简单邮件传输协议的目的是使得邮件传输可靠和高效。

SMTP是一个相当小和有效的协议。用户给SMTP服务器发个请求。一个双向的连接随后就建立了。客户发一个MAIL指令,指示它想给Internet上的某处的一个收件人发个信。如果SMTP允许这个操作,一个肯定的确认发回客户机。随后,会话开始。客户可能告知收件人的名称和IP地址,以及要发送的消息。

尽管SMTP相当简单,邮件服务是无穷的安全漏洞的源泉。

SMTP服务在Linux内部是内置的。其它网络操作系统也提供某些形式的SMTP。

Gopher

Gopher是一个分布式的文件获取系统。它最初是作为Campus Wide Information

System在Minnesota大学实现的。它的定义如下:

Internet

Gopher协议最初是设计用来最为一个分布式文件发送系统的。文档放在许多服务器上,Gopher客户软件给客户提供一个层次项和目录,看上去象一个文件系统。事实上,Gopher的界面设计成类似一个文件系统,因为文件系统是查找文件和服务的最好模型。

Gopher服务功能相当强大。能提供文本,声音,和其他媒体。主要用在文本模式,比通过用浏览器使用HTTP要来得快。毫无疑问,最流行的Gopher客户软件是为UNIX编写的。其他操作系统也有Gopher客户端软件。

典型地,用户启动一个Gopher客户端软件,和一个Gopher服务器。随后,Gopher返回一个可以选择的菜单。可能包括查找菜单,预先设置的目标,或文件目录。

注意,Gopher模式完全是一个客户服务器模式。用户每次登录,客户给Gopher服务器发送一个请求,要求所有能得到的文档。Gopher服务器对这个信息做出反应知道用户请求一个对象。

超联结传输协议HTTP

由于它能让用户在网上冲浪,超联结传输协议可能是最有名的协议。HTTP是一个应用层协议,它很小也很有效,符合发布、合成和超媒体文本系统的的需要。是一个通用的,面向对象的协议,通过扩展请求命令,可以用来实现许多任务。HTTP的一个特点是数据表现的类型允许系统相对独立于数据的传输。

HTTP的出现永久地改变了Internet的特点,主要是使Internet大众化。在某些程度上,他它的操作与Gopher相类似。比如,它的工作是请求/响应式的。这是相当重要的一点。其他应用程序,比如Telnet仍需要用户登录(当他们登录时,便消耗系统资源)。但Gopher和HTTP协议,消除了这一现象。用户(客户)仅仅在他们请求或接受数据时消耗资源。

使用通用浏览器,象Netscape Navigator或Microsoft Internet

Explore,可以监视这一过程的发生。在WWW上的数据,你的浏览器会和服务器及时联系。这样,它首先获取文本,然后是图形,再后是声音,等等。在你的浏览器的状态栏的左下角。当它装载页面时,看着它几分钟。你会看到请求和服务活动的发生,通常速度很快。

HTTP并不特别关注所需的是什么类型的数据。各种形式的媒体都能插进,以及远程的HTML主页。

网络新闻传输协议NNTP

网络新闻传输协议是一个广泛使用的协议。它提供通常作为USENET新闻组的新闻服务。

NNTP定义了一个协议,使用一个可靠的建立在流的基础上的在Internet上传输新闻的分发,询问,获取和发布的一个协议。NNTP被设计成新闻被存储在一个中心的数据库,允许订阅者选择他们希望读的主题。目录,交叉引用和过期的新闻都能找到。

NNTP有许多特性和简单邮件传输协议以及TCP相似。与SMTP相似,它接受一般的英语命令。和TCP相似,它是建立在流的传输和分发的基础上的。NNTP通常在端口119运行。

下面详细地讲解一下以太网,IP协议和TCP协议。

第二节 Etherner

以太网的基本工作原理

以太网上的所有设备都连在以太总线上,它们共享同一个通信通道。以太网采用的是广播方式的通信,即所有的设备都接收每一个信息包。网络上的设备通常将接收到的所有包都传给主机界面,在这儿选择计算机要接收的信息,并将其他的过滤掉。以太网是最有效传递的意思是,硬件并不给发送者提供有关信息已收到的信息。比如,即使目标计算机碰巧关机了,送给它的包自然就丢失,但发送者并不会知道这一点。

以太网的控制是分布式的。以太网的存取方式叫做带有Collision的Carrier Sense Multipe

Access。因为多台计算机可以同时使用以太网,每台机器看看是否有载波信号出现判定总线是否空闲。如果主机接口有数据要传输,它就侦听,看看是否有信号正在传输。如果没有探测到,它就开始传输。每次传输都在一定的时间间隔内,即传输的包有固定的大小。而且,硬件还必须在两次传输之间,观察一个最小的空闲时间,也就是说,没有一对机器可以不给其他计算机通信的机会而使用总线。

冲突侦测和恢复

当开始一个传输时,信号并不能同时到达网络的所有地方。传输速度实际上是光速的80%。这就有可能两个设备同时探测到网络是空闲的,并都开始传输。但当这两个电信号在网络上相遇时,它们都不再可用了。这种情况叫做冲突。

以太网在处理这种情况时,很有技巧性。每台设备在它传输信号的时候都监视总线,看看它在传输的时候是否有别的信号的干扰。这种监视叫做冲突侦听。在探测到冲突后,设备就停止传输。有可能网络会因为所有的设备都忙于尝试传输数据而每次都产生冲突。

为了避免这种情况,以太网使用一个2进制指数后退策略。发送者在第一次冲突后等待一个随机时间,如果第二次还是冲突,等待时间延长一倍。第三次则再延长一倍。通过这种策略,即使两台设备第二的等待时间会很接近,但由于后面的等待时间成指数倍增长,不就,他们就不会相互冲突了。

以太网的硬件地址

每台连接到以太网上的计算机都有一个唯一的48位以太网地址。以太网卡厂商都从一个机构购得一段地址,在生产时,给每个卡一个唯一的地址。通常,这个地址是固化在卡上的。这个地址又叫做物理地址。

当一个数据帧到达时,硬件会对这些数据进行过滤,根据帧结构中的目的地址,将属于发送到本设备的数据传输给操作系统,忽略其他任何数据。

一个是地址位全为1的时表示这个数据是给所有总线上的设备的。

以太网的帧结构

以太网的帧的长度是可变的,但都大于64字节,小于1518字节。在一个包交换网络中,每个以太网的帧包含一个指明目标地址的域。上图是以太网帧的格式,包含了目标和源的物理地址。为了识别目标和源,以太网帧的前面是一些前导字节,类型和数据域以及冗余校验。前导由64个0和1交替的位组成,用于接收同步。32位的CRC校验用来检测传输错误。在发送前,将数据用CRC进行运算,将结果放在CRC域。接收到数据后,将数据做CRC运算后,将结果和CRC域中的数据相比较。如果不一致,那么传输过程中有错误。

帧类型域是一个16位的整数,用来指示传输的数据的类型。当一个帧到达台设备后,操作系统通过帧类型来决定使用哪个软件模块。从而允许在同一台计算机上同时运行多个协议。

第三节 Internet地址

网络上的每一台计算机都有一个表明自己唯一身份的地址。TCP/IP协议对这个地址做了规定。一个IP地址由一个32位的整数表示。它的一个较为聪明的地方是很好的规定了地址的范围和格式,从而使地址寻址和路由选择都很方便。一个IP地址是对一个网络和它上面的主机的地址一块编码而形成的一个唯一的地址。

在同一个物理网络上的主机的地址都有一个相同前缀,即IP地址分成两个部分:(netid,hostid)。其中netid代表网络地址,hostid代表这个网络上的主机地址,根据他们选择的位数的不同,可以分成以下五类基本IP地址。

通过地址的前3位,就能区分出地址是属于A,B或C类。其中A类地址的主机容量有16777216台主机,B类地址可以有65536台主机,C类地址可以有256台主机。

将地址分成网络和主机部分,在路由寻址时非常有用,大大提高了网络的速度。路由器就是通过IP地址的netid部分来决定是否发送和将一个数据包发送到什么地方。

一个设备并不只能有一个地址。比如一个连到两个物理网络上的路由器,它就有两个IP地址。所以可以将IP地址看成是一个网络连接。

为了便于记忆和使用32位的IP地址,可以将地址使用用小数点分开的四位整数来表示。下面举个例子:

IP地址: 10000000 00001010 00000010 00011110

记为: 128.10.2.30

第四节 IP协议和路由

IP协议

IP协议定义了一种高效、不可靠和无连接的传输方式。由于传输没有得到确认,所以是不可靠的。一个包可能丢失了,或看不见了,或是延时了,或是传输顺序错了。但是传输设备并不检测这些情况,也不通知通信双方。无连接

因为每个包的传递与别的包是相互独立的。同一个机器上的包可能通过不同的路径到达另一台机器,或在别的机器上时已经丢失。由于传输设备都试图以最快的速度传输,所以是最高效的。

IP协议定义了通过TCP/IP网络传输的数据的格式,定义了数据进行传递的路由功能。

IP数据包的格式如下:

由一个头和数据部分组成。数据包的头部分包含诸如目的地址和源地址,数据的类型等信息。

数据包头格式:

数据包是由软件处理的,它的内容和格式并不是由硬件所限定。

比如,头4位是一个VERS,表示的是使用的IP协议的版本号。它表示发送者、接收者和路由器对该数据的处理都要按所示的版本进行处理。现在的版本号是4。软件通过版本来决定怎样进行处理。

头长度(HLEN)也是用4位来表示以32位为计量单位的头的长度。

TOTAL LENGTH表示这个数据包的长度(字节数)。从而包中的数据的长度就可以通过上面两个数据而计算出来了。

一般来说,数据部分就是一个物理的帧。对于以太网来讲,就是将整个的一个以太网的帧数据作为一个IP数据包的数据来传输的。

数据包的头里面还包含了一些其他的信息,请参见有关资料的具体介绍。 IP路由

在一个网络上,连接两种基本设备,主机和路由器。路由器通常连接几个物理网络。对一台主机来讲,要将一个数据包发往别的网络,就需要知道这个数据包应该走什么路径,才能到达目的地。对于一台路由器来讲,将收到的数据包发往哪个物理网络。因此,无论主机还是路由器,在发送数据包是都要做路由选择。

数据发送有两种方式:直接数据发送和间接数据发送。

直接数据发送通常是在同一个物理网络里进行的。当一个主机或路由器要将数据包发送到同一物理网络上的主机上时,是采用这种方式的。首先判断IP数据包中的目的地址中的网络地址部分,如果是在同一个物理网络上,则通过地址分析,将该IP目的地址转换成物理地址,并将数据解开,和该地址合成一个物理传输帧,通过局域网将数据发出。

间接数据发送是在不同物理网络里进行的。当一个主机或路由器发现要发送的数据包不在同一个物理网络上时,这台设备就先在路由表中查找路由,将数据发往路由中指定的下一个路由器。这样一直向外传送数据,到最后,肯定有一个路由器发现数据要发往同一个物理网络,于是,再用直接数据发送方式,将数据发到目的主机上。

主机和路由器在决定数据怎样发送的时候,都要去查找路由。一般,都将路由组成一个路由表存在机器中。路由表一般采用Next-Hop格式,即(N,R)对。N是目标地址的网络地址,R是传输路径中的下一个路由。通常这个路由和这台机器在同一物理网络里。

第五节 TCP协议

TCP传输原理

TCP协议在IP协议之上。与IP协议提供不可靠传输服务不同的是,TCP协议为其上的应用层提供了一种可靠传输服务。这种服务的特点是:可靠、全双工、流式和无结构传输。

它是怎样实现可靠传输的呢?

TCP协议使用了一个叫积极确认和重发送(positive acknowledgement with retransmission)的技术来实现这一点的。

接收者在收到发送者发送的数据后,必须发送一个相应的确认(ACK)消息,表示它已经收到了数据。

发送者保存发送的数据的记录,在发送下一个数据之前,等待这个数据的确认消息。在它发送这个数据的同时,还启动了一个记时器。如果在一定时间之内,没有接收到确认消息,就认为是这个数据在传送时丢失了,接着,就会重新发送这个数据。

这种方法还产生了一个问题,就是包的重复。如果网络传输速度比较低,等到等待时间结束后,确认消息才返回到发送者,那么,由于发送者采用的发送方法,就会出现重复的数据了。解决的一个办法是给每个数据一个序列号,并需要发送者记住哪个序列号的数据已经确认了。为了防止由于延时或重复确认,规定确认消息里也要包含确认序列号。从而发送者就能知道哪个包已经确认了。 TCP协议中还有一个重要的概念:滑动窗口。这一方法的使用,使得传输更加高效。

有前面的描述可见,发送者在发送完一个数据包之后,要等待确认。在它收到确认消息之前的这段时间是空闲的。如果网络延时比较长,这个问题会相当明显。

滑动窗口方法是在它收到确认消息以前,发送多个数据包。可以想象成有一个窗口在一个序列上移动。

如果一个包发送出去之后还没有确认,叫做未确认包。通常未确认的包的个数就是窗口的大小。

此窗口的大小为8。发送者允许在接收到一个确认消息以前发送8个数据包。当发送者接到窗口中第一个包的确认消息时,它就将窗口下滑一个。

在接收端,也有一个滑动窗口接收和确认一个包。

端口

使用TCP传输就是建立一个连接。在TCP传输中一个连接有两个端点组成。其实,一个连接代表的是发送和接收两端应用程序的之间的一个通信。可以把他们想象成建立了一个电路。通常一个连接用下面的公式表示:

(host,port)

host是主机,port是端口。TCP端口能被几个应用程序共享。对于程序员来讲,可以这样理解:一个应用程序可以为不同的连接提供服务。

TCP格式

TCP传输的单位是段,在建立连接,传送数据,确认消息和告之窗口大小时均要进行段的交换。

段的格式如下图:

段的格式也分成两部分,头和数据。

上面格式中的名称已经足够说明了他们的作用了。具体的含义请参见有关资料。

建立一个TCP连接

TCP协议使用一个三次握手来建立一个TCP连接的。

握手过程的第一个段的代码位设置为SYN,序列号为x,表示开始一次握手。接收方收到这个段后,向发送者回发一个段。代码位设置为SYN和ACK,序列号设置为y,确认序列号设置为x 1。发送者在受到这个段后,知道就可以进行TCP数据发送了,于是,它又向接收者发送一个ACK段,表示,双方的连接已经建立。

在完成握手之后,就开始正式的数据传输了。

上面握手段中的序列号都是随机产生的。

TCP/IP
每种网络协议都有自己的优点,但是只有TCP/IP允许与Internet完全的连接。TCP/IP是在60年代由麻省理工学院和一些商业组织为美国国防部开发的,即便遭到核攻击而破坏了大部分网络,TCP/IP仍然能够维持有效的通信。ARPANET就是由基于协议开发的,并发展成为作为科学家和工程师交流媒体的Internet。
TCP/IP同时具备了可扩展性和可靠性的需求。不幸的是牺牲了速度和效率(可是:TCP/IP的开发受到了政府的资助)。
Internet公用化以后,人们开始发现全球网的强大功能。Internet的普遍性是TCP/IP至今仍然使用的原因。常常在没有意识到的情况下,用户就在自己的PC上安装了TCP/IP栈,从而使该网络协议在全球应用最广。
TCP/IP的32位寻址功能方案不足以支持即将加入Internet的主机和网络数。因而可能代替当前实现的标准是IPv6。

‘贰’ 关于arp的问题

局域网中ARP病毒的防御和清除(一)

7月5日,国内最大的计算机反病毒软件供应商江民科技发布了2007年上半年十大病毒排行及病毒

疫情报告。据统计,从2007年1月1日到2007年6月 30日,一种主要是针对局域网用户,通过伪造的ARP

数据包,严重干扰网络的正常运行的ARP病毒,已经仅次于位居第三的“威金”系列病毒(最出名的当

属 “熊猫烧香”),在排行榜中名列第四。病毒疫情报告还显示,我国计算机病毒疫情主要呈现的四

大特征之一的ARP病毒所使用的欺骗技术,正在被越来越多的病毒所使用,成为局域网安全的新杀手,

是病毒未来发展的新趋势。
ARP全称为Address Resolution Protocol,地址解析协议。ARP病毒是一种新型的“ ARP 欺骗”

木马病毒,病毒主机通过伪造的IP地址和MAC地址,向目标主机发出伪造的ARP响应包,从而更改了目

标主机ARP缓存中的IP-MAC条目,欺骗目标主机对本地的ARP缓存进行更新,将应答中的IP和MAC地址存

储在ARP缓存中实现对目标主机的ARP欺骗。当局域网内有病毒主机在运行ARP欺骗的木马程序时,就会

欺骗局域网内所有主机和路由器,让所有上网的流量必须经过病毒主机,这势必造成局域网内大面积

的网络中断或中间人攻击(也称会话劫持),具体表现为客户端状态频频变红、用户频繁断网、IE 浏

览器频繁出错以及一些常用软件出现故障等问题,更有甚者,局域网的所有用户原来直接通过路由器

上网,现在转由通过病毒主机上网,切换的时候用户会断一次线。当病毒主机上网后,如果用户已经

登陆了传奇等游戏服务器或者其他需要输入个人私密资料的重要网页,那么病毒主机就会经常伪造断

线的假像,当用户就得重新登录服务器后,病毒主机就可以盗号了,从而给用户带来极大的损失,ARP

病毒的危害之大由此可见一斑了。
一 、ARP病毒电脑的定位
检测ARP中毒电脑的几种常用方法有:
1. 命令行法
我们只要在受影响的电脑中查询一下当前网关的MAC地址,就知道中毒电脑的MAC地址了,在cmd(Wind

ows98中输入“command”)命令提示行下输入查询命令为arp -a。
这时,由于这个电脑的ARP表是错误的记录,因此,该MAC地址不是真正网关的MAC地址,而是中毒电脑

的MAC地址!这时,再根据网络正常时,全网的 IP—MAC地址对照表,查找中毒电脑的IP地址就可以了

。由此可见,在网络正常的时候,保存一个全网电脑的IP—MAC地址对照表是多么的重要。建议下载使

用NBTSCAN 工具扫描全网段的IP地址和MAC地址,保存下来,以备后用。
但是如果情形和我们校园网一样,没有对IP地址和MAC地址进行绑订,甚至MAC地址也没有记录,现在

就算知道了IP地址,也无法找到病毒主机。临时处理对策:在能上网时,进入MS-DOS窗口,输入命令

:arp –a

查看网关IP对应的正确MAC地址,将其记录下来;如果已经不能上网,则先运行一次命令arp –d将arp

缓存中的内容删空,计算机可暂时恢复上网(攻击如果不停止的话),一旦能上网就立即将网络断掉

(禁用网卡或拔掉网线),再运行arp –a。
2. 工具软件法
网上有很多ARP病毒定位工具,如CISCO515E,其中做得较好的是ARP防火墙。打开ARP防火墙,输入网

关IP地址后,再点击红色框内的“枚举 MAC”按钮,即可获得正确网关的MAC地址,接着点击“自动保

护”按钮,即可保护当前网卡与网关的正常通信。当局域网中存在ARP欺骗时,该数据包会被 Anti

ARP Sniffer记录,该软件会以气泡的形式报警。这时,我们再根据欺骗机的MAC地址,对比查找全网

的IP-MAC地址对照表,即可快速定位出中毒电脑。
3. Sniffer 抓包嗅探法
当局域网中有ARP病毒欺骗时,往往伴随着大量的ARP欺骗广播数据包,这时,流量检测机制应该能够

很好的检测出网络的异常举动,此时Ethereal 这样的抓包工具就能派上用场。从图中的红色框内的信

息可以看出,192.168.0.XXX 这台电脑正向全网发送大量的ARP广播包,一般的讲,局域网中有电脑发

送ARP广播包的情况是存在的,但是如果不停的大量发送,就很可疑了。而这台192.168.0.XXX 电脑正

是一个ARP中毒电脑。
此外,在Win XP的Support Tools有一个Netcap工具(netcap.exe),它和Netmon.exe一样也能够捕获

网络信息。但只可以看到连接数,却不能看到连接机器名及IP。而Win2000/2003中的网络监视器就可

以抓取网络中的数据包,先查出发送arp数据的电脑的IP(可能是假的)及MAC地址,然后找对应的机器就

很容易找到中毒的机器了。
4.IP地址冲突法
运行 tracert –d www..com 找出作崇的主机IP地址;设置与作崇主机相同的IP,然后造成IP

地址冲突,使中毒主机报警然后找到这个主机。
二、ARP病毒的防御和清除
1. 应急处理
客户机中毒后,可先保证网络正常运行,方法有:
●在中毒客户端主机运行 arp -d ,清除arp列表,可暂时恢复该主机正常网络通讯。
●在中毒客户端主机进行针对网关的静态IP-MAC地址绑定,命令arp -s 网关ip 网关mac,为避免计算

机重启后记录失效,可编写一个批处理文件rarp1.bat,内容如下:
@echo off
arp -d
arp -s 您自己的网关Ip地址和MAC地址
将这个批处理软件拖到“windows--开始--程序--启动”中。
●编辑一个arp2.bat文件,内容如下:arp.exe s**.**.**.**(网关ip) ************(网关MAC地

址)end,让网络用户点击。
●编辑一个注册表问题,键值如下:Windows Registry Editor Version

5.00[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run]"MAC"="arp

—s网关IP地址网关MAC地址",然后保存成Reg文件以后在每个客户端上点击导入注册表。
●写一个批处理,定时刷新arp缓存表
脚本代码如下:
主程序arp3.bat
@echo off
cscript sleep.vbs
arp -d
exit
辅助计时程序 sleep.vbs
wscript.sleep 30000
就这样,把代码复制到记事本里,然后分别保存为arp3.bat,其中的30000 可以改的更大些。
2、解决思路
● 不要把你的网络安全信任关系建立在IP基础上或MAC基础上,(RARP同样存在欺骗的问题),

理想的关系应该建立在IP+MAC基础上。
●设置静态的MAC-->IP对应表,不要让主机刷新你设定好的转换表。
● 除非很有必要,否则停止使用ARP,将ARP做为永久条目保存在对应表中。
● 使用ARP服务器。通过该服务器查找自己的ARP转换表来响应其他机器的ARP广播。确保这台ARP

服务器不被黑。
● 使用\'proxy\'代理IP的传输。
● 使用硬件屏蔽主机。设置好你的路由,确保IP地址能到达合法的路径。(静态配置路由ARP条

目),注意,使用交换集线器和网桥无法阻止ARP欺骗。
●管理员定期用响应的IP包中获得一个rarp请求,然后检查ARP响应的真实性。
● 管理员定期轮询,检查主机上的ARP缓存。
●下载使用ARP防火墙。(2007-07-18 ARP防火墙单机版 v4.2beta4 发布 ;2007-07-11 ARP防

火墙网络版 v3.1.1 发布)
●可下载系统补丁:WINXP系统ARP病毒补丁 2KB WIN2000系统ARP病毒补丁 30.8MB。
三、几点建议
1、病毒源,对病毒源头的机器进行处理,杀毒或重新装系统。此操作比较重要,解决了ARP攻击的源

头PC机的问题,可以保证内网免受攻击。
2、网吧管理员检查局域网病毒,安装杀毒软件(江民/瑞星,必须要更新病毒代码),对机器进行病

毒扫描。
3、给系统安装补丁程序,通过Windows Update安装好系统补丁程序(关键更新、安全更新和Service

Pack)。
4、给系统管理员账户设置足够复杂的强密码,最好能是12位以上,字母+数字+符号的组合;也可以禁

用/删除一些不使用的账户。
5、经常更新杀毒软件(病毒库),设置允许的可设置为每天定时自动更新。安装并使用网络防火墙软

件,网络防火墙在防病毒过程中也可以起到至关重要的作用,能有效地阻挡自来网络的攻击和病毒的

入侵。部分盗版Windows用户不能正常安装补丁,不妨通过使用网络防火墙等其它方法来做到一定的防

护。
6、关闭一些不需要的服务,条件允许的可关闭一些没有必要的共享,也包括C$、D$等管理共享。完全

单机的用户也可直接关闭Server服务。
7、不要随便点击打开QQ、MSN等聊天工具上发来的链接信息,不要随便打开或运行陌生、可疑文件和

程序,如邮件中的陌生附件,外挂程序。

ARP地址欺骗木马病毒专杀工具下载及其防治解决方案2007年06月17日 星期日 上午 11:50
近期,一种新型的“ ARP 欺骗”木马病毒正在校园网中扩散,严重影响了校园网的正常运行。感染此木马的计算机试图通过“ ARP 欺骗”手段截获所在网络内其它计算机的通信信息,并因此造成网内其它计算机的通信故障。ARP欺骗木马的中毒现象表现为:使用校园网时会突然掉线,过一段时间后又会恢复正常。比如客户端状态频频变红,用户频繁断网,IE浏览器频繁出错,以及一些常用软件出现故障等。如果校园网是通过身份认证上网的,会突然出现可认证,但不能上网的现象(无法ping通网关),重启机器或在MS-DOS窗口下运行命令arp -d后,又可恢复上网。ARP欺骗木马十分猖狂,危害也特别大,各大学校园网、小区网、公司网和网吧等局域网都出现了不同程度的灾情,带来了网络大面积瘫痪的严重后果。ARP欺骗木马只需成功感染一台电脑,就可能导致整个局域网都无法上网,严重的甚至可能带来整个网络的瘫痪。该木马发作时除了会导致同一局域网内的其他用户上网出现时断时续的现象外,还会窃取用户密码。如盗取QQ密码、盗取各种网络游戏密码和账号去做金钱交易,盗窃网上银行账号来做非法交易活动等,这是木马的惯用伎俩,给用户造成了很大的不便和巨大的经济损失。

什么是ARP?
ARP(Address Resolution Protocol,地址解析协议)是一个位于TCP/IP协议栈中的低层协议,负责将某个IP地址解析成对应的MAC地址。

什么是ARP欺骗?
从影响网络连接通畅的方式来看,ARP欺骗分为二种,一种是对路由器ARP表的欺骗;另一种是对内网PC的网关欺骗。
第一种ARP欺骗的原理是——截获网关数据。它通知路由器一系列错误的内网MAC地址,并按照一定的频率不断进行,使真实的地址信息无法通过更新保存在路由器中,结果路由器的所有数据只能发送给错误的MAC地址,造成正常PC无法收到信息。第二种ARP欺骗的原理是——伪造网关。它的原理是建立假网关,让被它欺骗的PC向假网关发数据,而不是通过正常的路由器途径上网。在PC看来,就是上不了网了,“网络掉线了”。

如何检查和处理“ ARP 欺骗”木马的方法
1 .检查本机的“ ARP 欺骗”木马染毒进程

同时按住键盘上的“ CTRL ”和“ ALT ”键再按“ DEL ”键,选择“任务管理器”,点选“进程”标签。察看其中是否有一个名为“ MIR0.dat ”的进程。如果有,则说明已经中毒。右键点击此进程后选择“结束进程”。参见上图。

2 .检查网内感染“ ARP 欺骗”木马染毒的计算机
在“开始” - “程序” - “附件”菜单下调出“命令提示符”。输入并执行以下命令:
ipconfig
记录网关 IP 地址,即“ Default Gateway ”对应的值,例如“ 59.66.36.1 ”。再输入并执行以下命令:
arp –a
在“ Internet Address ”下找到上步记录的网关 IP 地址,记录其对应的物理地址,即“ Physical Address ”值,例如“ 00-01-e8-1f-35-54 ”。在网络正常时这就是网关的正确物理地址,在网络受“ ARP 欺骗”木马影响而不正常时,它就是木马所在计算机的网卡物理地址。
也可以扫描本子网内的全部 IP 地址,然后再查 ARP 表。如果有一个 IP 对应的物理地址与网关的相同,那么这个 IP 地址和物理地址就是中毒计算机的 IP 地址和网卡物理地址。

3 .设置 ARP 表避免“ ARP 欺骗”木马影响的方法
本方法可在一定程度上减轻中木马的其它计算机对本机的影响。用上边介绍的方法确定正确的网关 IP 地址和网关物理地址,然后在 “命令提示符”窗口中输入并执行以下命令: 字串1
arp –s 网关 IP 网关物理地址

4.态ARP绑定网关
步骤一:
在能正常上网时,进入MS-DOS窗口,输入命令:arp -a,查看网关的IP对应的正确MAC地址, 并将其记录下来。
注意:如果已经不能上网,则先运行一次命令arp -d将arp缓存中的内容删空,计算机可暂时恢复上网(攻击如果不停止的话)。一旦能上网就立即将网络断掉(禁用网卡或拔掉网线),再运行arp -a。
步骤二:
如果计算机已经有网关的正确MAC地址,在不能上网只需手工将网关IP和正确的MAC地址绑定,即可确保计算机不再被欺骗攻击。
要想手工绑定,可在MS-DOS窗口下运行以下命令:
arp -s 网关IP 网关MAC
例如:假设计算机所处网段的网关为192.168.1.1,本机地址为192.168.1.5,在计算机上运行arp -a后输出如下:
Cocuments and Settings>arp -a
Interface:192.168.1.5 --- 0x2
Internet Address Physical Address Type
192.168.1.1 00-01-02-03-04-05 dynamic
其中,00-01-02-03-04-05就是网关192.168.1.1对应的MAC地址,类型是动态(dynamic)的,因此是可被改变的。 字串1
被攻击后,再用该命令查看,就会发现该MAC已经被替换成攻击机器的MAC。如果希望能找出攻击机器,彻底根除攻击,可以在此时将该MAC记录下来,为以后查找该攻击的机器做准备。
手工绑定的命令为:
arp -s 192.168.1.1 00-01-02-03-04-05
绑定完,可再用arp -a查看arp缓存:
Cocuments and Settings>arp -a
Interface: 192.168.1.5 --- 0x2
Internet Address Physical Address Type
192.168.1.1 00-01-02-03-04-05 static
这时,类型变为静态(static),就不会再受攻击影响了。
但是,需要说明的是,手工绑定在计算机关机重启后就会失效,需要再次重新绑定。所以,要彻底根除攻击,只有找出网段内被病毒感染的计算机,把病毒杀掉,才算是真正解决问题。

5 .作批处理文件
在客户端做对网关的arp绑定,具体操作步骤如下:
步骤一:
查找本网段的网关地址,比如192.168.1.1,以下以此网关为例。在正常上网时,“开始→运行→cmd→确定”,输入:arp -a,点回车,查看网关对应的Physical Address。

比如:网关192.168.1.1 对应00-01-02-03-04-05。
步骤二:
编写一个批处理文件rarp.bat,内容如下:
@echo off
arp -d
arp -s 192.168.1.1 00-01-02-03-04-05
保存为:rarp.bat。
步骤三:
运行批处理文件将这个批处理文件拖到“Windows→开始→程序→启动”中,如果需要立即生效,请运行此文件。
注意:以上配置需要在网络正常时进行

6.使用安全工具软件
及时下载Anti ARP Sniffer软件保护本地计算机正常运行。具体使用方法可以在网上搜索。
如果已有病毒计算机的MAC地址,可使用NBTSCAN等软件找出网段内与该MAC地址对应的IP,即感染病毒的计算机的IP地址,然后报告单位的网络中心对其进行查封。
或者利用单位提供的集中网络防病毒系统来统一查杀木马。另外还可以利用木马杀客等安全工具进行查杀。

7.应急方案
网络管理管理人员利用上面介绍的ARP木马检测方法在局域网的交换机上查出受感染该病毒的端口后,立即关闭中病毒的端口,通过端口查出相应的用户并通知其彻底查杀病毒。而后,做好单机防范,在其彻底查杀病毒后再开放相应的交换机端口,重新开通上网。
附录一
清华大学校园网络安全响应小组编的一个小程序
下载地址: ftp://166.111.8.243/tools/ArpFix.rar

清华大学校园网络安全响应小组编了一个小程序,它可以保护您的计算机在同一个局域网内部有ARP欺骗木马计算机的攻击时,保持正常上网。具体使用方法:
1、 程序运行后请先选择网卡,选定网卡后点击“选定”按钮。
2、 选定网卡后程序会自动获取您机器的网关地址。
3、获得网关地址后请点击获取MAC地址按钮获取正确的网关MAC地址。
4、 确认网关的MAC地址后请点击连接保护,程序开始保护您的机器。
5、 点击程序右上角的叉,程序自动隐藏到系统托盘内。
6、要完全退出程序请在系统托盘中该程序图标上点击右键选择EXIT。
注意:
1、这个程序只是一个ARP攻击保护程序,即受ARP木马攻击时保持自己计算机的MAC地址不被恶意篡改,从而在遭受攻击时网络不会中断。本程序并不能清除已经感染的ARP木马,要预防感染或杀除木马请您安装正版的杀毒软件!

附录二
Anti Arp Sniffer 的用法
下载地址:http://www.wipe.e.cn/Files/wlzx/Antiarp.rar

双击Antiarp文件,出现图二所示对话框。

图二
输入网关地址(网关地址获取方式:[开始] -->[程序]--> [附件]菜单下调出“命令提示符”,输入ipconfig,其中Default Gateway即为网关地址);点击获取网关MAC地址,点击自动防护保证当前网卡与网关的通信不被第三方监听。
点击恢复默认,然后点击防止地址冲突,如频繁的出现IP地址冲突,这说明攻击者频繁发送ARP欺骗数据包。

右击[我的电脑]-->[管理]-->点击[事件查看器]-->点击[系统]-->查看来源为[TcpIP]--->双击事件可以看到显示地址发生冲突,并记录了该MAC地址,请复制该MAC地址并填入Anti ARP Sniffer的本地MAC地址输入框中(请注意将:转换为-),输入完成之后点击[防护地址冲突],为了使MAC地址生效请禁用本地网卡然后再启用网卡,在CMD命令行中输入Ipconfig /all,查看当前MAC地址是否与本地MAC地址输入框中的MAC地址相符,如果成功将不再会显示地址冲突。

注:1、如果您想恢复默认MAC地址,请点击[恢复默认],为了使MAC地址生效请禁用本地网卡然后再启用网卡;本软件不支持多网卡,部分网卡可能更改MAC会无效。

本文转载自“可可电脑网”

补充:我的电脑是在学校的局域网。我知道是局域网内有人的机子中了ARP欺骗木马(我可以确定不是我的机子,因为我已经把整个硬盘格式化重装系统了)
我装了ARP防火墙,能拦住ARP攻击,但仍然会断网,郁闷
我用了ARP专杀工具,也没用,还绑定了MAC地址,也没什么效果

用一些禁止P2P的工具虽然也有效但容易引起局域网风暴 数据爆增 并且有人不停的拿P2P工具捣乱 你也是没办法的 建议你进入路由 把网内所有IP和MAC码绑定 这样P2P工具就没办法欺骗.要查到这个人也很简单 在DOS下输入 arp -a(或者-S,忘了) 查看除了路由外的IP 如果除了路由IP还有别的 那就是那个人了.

或者可以试着下载P2P终结者,用其中的网络剪刀手,查一下他的IP.

另外 你可以去下载 彩影安全护盾 可以保持你的机器和路由不会被欺骗,还可以安装arp保护神和arp卫士

更多详细信息请参考ARP欺骗病毒专题:http://net.csai.cn/zt/arp/index.htm

ARP防火墙 单机版4.1.1下载: http://www.fzpchome.com/Soft/serversoft/200706/339.html

‘叁’ ping 无法访问目标主机

一般有以下四种原因:
一、访问目标所需的跃点数超过了发送方主机为转发数据包而设置的 TTL(生存时间)。Ping 发送的 ICMP 回显消息的默认 TTL 值是 128。如果这个值不足以将所需的链接数传递到目标,您可以通过使用 ping -i 来增大 TTL,最高可增至 255 个链接(最大值)。如果增大 TTL 值未能解决问题,则说明在路由循环(即路由器之间的循环路径)中转发数据包。使用 Tracert 来跟踪路由循环(它在 Tracert 报告中显示为一系列重复的相同 IP 地址)中的一组路由器。接下来,对路由循环中路由器的路由表进行相应的更改。
二、目标主机无法访问
此消息表明存在以下两个问题之一:本地系统没有到所需目标的路由;或者,远程路由器报告它没有到目标的路由。
通过消息的形式可以区分这两个问题:
1. 如果消息仅仅是“目标主机无法访问”,则没有自本地系统的路由,而且从未传输要发送的数据包。使用 Route 实用程序可以检查本地路由表,以确定到目标的路由是错误的还是缺少该路由。
2. 如果消息是“应答来自 IP Address:目标主机无法访问”,则路由问题出在远程路由器(IP Address 表明了其地址)上。使用相应的工具来检查被分配了 IP 地址 IP Address 的路由器的 IP 路由表。
如果您通过使用 IP 地址执行了 ping 操作,请使用主机名重试,以确保您所尝试的 IP 地址是正确的。
三、请求超时
此消息指示在四秒的默认时间内没有收到回显回复消息。许多不同的原因可以引起此问题;最常见的原因包括网络堵塞、ARP 解析下一跃点 MAC 地址失败、数据包筛选、路由错误或无提示放弃。通常,这意味着返回到发送方主机的路由已失败。这可能是因为目标主机不知道返回到发送方主机的路由,或者,某一个中间路由器不知道返回路由,甚至还可能是因为目标主机的默认网关不知道返回路由。在检查路由器的路由表之前,检查目标主机的路由表以确定它是否具有到发送方主机的路由。
如果远程路由表是正确的,而且包含返回到发送方主机的有效路由,请通过使用 arp -a 命令输出 ARP 缓存的内容来确定 ARP 缓存是否缺少正确的地址。此外,请检查子网掩码以确保没有将远程地址解释为本地地址。
接下来,使用 Tracert 确定到目标的路径。虽然 Tracert 不记录回显回复消息在其返回路径上经由的路径,但是它可能显示数据包使其到达目标。如果是这样,则问题很可能是返回路径上的路由问题。如果跟踪离目标相当远,则可能是因为目标主机受防火墙保护。当防火墙保护目标时,ICMP 数据包筛选会防止 ping 数据包(或任何其他 ICMP 消息)穿过防火墙并到达其目标。
要检查网络是否堵塞,只需通过使用 ping -w 命令设置更长的等待时间(例如 5,000 毫秒)来增大允许的滞后时间。请再次尝试 ping 目标。如果请求仍然超时,则问题不是出在网络堵塞上。
PS:“destination host unreachable”和 “time out”的区别,如果所经过的路由器的路由表中具有到达目标的路由,而目标因为其他原因不可到达,这时候会出现“time out”,如果路由表中连到达目标的路由都没有,那就会出现“destination host unreachable”。

‘肆’ 联想m7206打印机显示内存已满

如出现联想m7206打印机显示内存已满的情况,建议通过以下方式进行处理:
1、 关闭打印机电源、拔掉电源线,再拆卸所有电缆(如果有加装双面打印配件,就必须先拆掉后机座和电缆盒);
2、 从打印机背部扳开右侧的盖板;
3、 此时就可以看到在打印机内部的电路板上,预留一个打印内存扩展槽位;
4、 从防静电包装中取出DIMM内存;
5、 将DIMM内存稍微用点力,平直地推入DIMM内存插槽槽,并确定DIMM内存插槽两端的固定锁向内锁住;
6、 将盖板推回到打印机上;
7、 最后装回所有接口电缆和电源线,然后打开电源测试。

‘伍’ 为什么PS总是提示“不能完成请求,因为暂存盘已满”解决方法

解决方法如下:
在使用PS过程中,有时会出现“不能完成请求,因为暂存盘已满”的程序错误,造成这种错误的主要原因是由于PS缓存过小,加之不能及时清除PS产生的临时信息缓冲,导致PS的缓存用完,从而产生此类错误信息,对此,可采用以下的解决方法。
1、设置暂存盘。打开PS,依次点击“编辑”→“预设”→“特效工具与暂存盘”。
2、在打开的“预设”对话框中,将第二、第三和第四暂存盘分别设置为“D:”、“E:”和“F:”(如果本机存在多个盘符的情况下) 。最后点击“好”按钮保存设置。
3、在使用PS过程中经常性的清除缓存数据。依次点击“编辑”→“清除”→“全部”,将PS缓存清理掉。
4、增大图像缓存。点击“编辑”→“预设”→“内存与图像高速缓存”,在打开的“预设”对话框中将PS使用内存数量适当设置大一些。
5、增加Windows虚拟内存容量,建议设置为实现物理内存的1~2倍。右击“我的电脑”,在弹出的右键菜单中选择“属性”,在打开的“属性”窗口中点击“高级系统设置”。
6、切换到“高级”选项卡, 在“性能”栏目中点击“设置”按钮。
7、在弹出的“性能选项”对话框中,切换到“高级”选项卡,在“处理器计划”栏目中选择“程序”,然后点击“虚拟内存”栏目中的“设置”按钮。
8、在打开的“虚拟内存”对话框中选择一个容量最大的盘符(如小编电脑上F盘容量最大),勾选“自定义大小”,然后根据实际物理内存的大小进行适当的设置,数值输入完成后,点击“设置”进行保存。
9、最后根据系统提示,重启一下电脑。然后再次打开PS,就会发现不会再弹出错误的提示框啦。

‘陆’ 电脑内存满了,已经卸载了很多东西为什么还说满

在Windows操作系统在C盘空间不足的情况下,我们可以通过那些具体手段来增加C盘空间呢?

1.打开“我的电脑”-“工具”-“文件夹选项”-“查看”-在“显示所有文件和文件夹”选项前打勾-“确定”

2.删除以下文件夹中的内容:

x:\Documents and Settings\用户名\Cookies\下的所有文件(保留index文件)

x:\Documents and Settings\用户名\Local Settings\Temp\下的所有文件(用户临时文件)

x:\Documents and Settings\用户名\LocalSettings\TemporaryInternet Files\下的所有文件(页面文件)

x:\Documents and Settings\用户名\Local Settings\History\下的所有文件(历史纪录)

x:\Documents and Settings\用户名\Recent\下的所有文件(最近浏览文件的快捷方式)

x:\WINDOWS\Temp\下的所有文件(临时文件)

x:\WINDOWS\ServicePackFiles(升级sp1或sp2后的备份文件)

x:\WINDOWS\Driver Cache\i386下的压缩文件(驱动程序的备份文件)

x:\WINDOWS\SoftwareDistribution\download下的所有文件

3.如果对系统进行过windoes updade升级,则删除以下文件:

x:\windows\下以 $u... 开头的隐藏文件

4.然后对磁盘进行碎片整理,整理过程中请退出一切正在运行的程序

5.碎片整理后打开“开始”-“程序”-“附件”-“系统工具”-“系统还原”-“创建一个还原点”(最好以当时的日期作为还原点的名字)

6.打开“我的电脑”-右键点系统盘-“属性”-“磁盘清理”-“其他选项”-单击系统还原一栏里的“清理”-选择“是”-ok了

7、在各种软硬件安装妥当之后,其实XP需要更新文件的时候就很少了。删除系统备份文件吧:开始→运行→sfc.exe /purgecache近3xxM。(该命令的作用是立即清除"Windows 文件保护"文件高速缓存,释放出其所占据的空间)

8、删掉\windows\system32\dllcache下dll档(减去200——300mb),这是备用的dll档, 只要你已拷贝了安装文件,完全可以这样做。

9、XP会自动备份硬件的驱动程序,但在硬件的驱动安装正确后,一般变动硬件的可能性不大,所以也可以考虑将这个备份删除,文件位于\windows\driver cache\i386目录下,名称为driver.cab,你直接将它删除就可以了,通常这个文件是74M。

10、删除不用的输入法:对很多网友来说,Windows XPt系统自带的输入法并不全部都合适自己的使用,比如IMJP8_1 日文输入法、IMKR6_1 韩文输入法这些输入法,如果用不着,我们可以将其删除。输入法位于\windows\ime\文件夹中,全部占用了88M的空间。

11、升级完成发现windows\多了许多类似$NtUninstallQ311889$这些目录,都干掉吧,1x-3xM

12、另外,保留着\windows\help目录下的东西对我来说是一种伤害,呵呵。。。都干掉!

13、关闭系统还原:系统还原功能使用的时间一长,就会占用大量的硬盘空间。因此有必要对其进行手工设置,以减少硬盘占用量。打开"系统属性"对话框,选择"系统还原"选项,选择"在所有驱动器上关闭系统还原"复选框以关闭系统还原。也可仅对系统所在的磁盘或分区设置还原。先选择系统所在的分区,单击"配置"按钮,在弹出的对话框中取消"关闭这个驱动器的系统还原"选项,并可设置用于系统还原的磁盘空间大小。

14、休眠功能会占用不少的硬盘空间,如果使用得少不妨将共关闭,关闭的方法是的:打开"控制面板",双击"电源选项",在弹出的"电源选项属性"对话框中选择"休眠"选项卡,取消"启用休眠"复选框。

15、卸载不常用组件:XP默认给操作系统安装了一些系统组件,而这些组件有很大一部分是你根本不可能用到的,可以在"添加/删除Windows组件"中将它们卸载。但其中有一些组件XP默认是隐藏的,在"添加/删除Windows 组件"中找不到它们,这时可以这样操作:用记事本打开\windows\inf\sysoc.inf这个文件,用查找/替换功能把文件中的"hide"字符全部替换为空。这样,就把所有组件的隐藏属性都去掉了,存盘退出后再运行"添加-删除程序",就会看见多出不少你原来看不见的选项,把其中那些你用不到的组件删掉(记住存盘的时候要保存为sysoc.inf,而不是默认的sysoc.txt),如Internat信使服务、传真服务、Windows messenger,码表等,大约可腾出近50MB的空间。

16、清除系统临时文件:系统的临时文件一般存放在两个位置中:一个Windows安装目录下的Temp文件夹;另一个是x:\Documents and Settings\"用户名"\Local Settings\Temp文件夹(Y:是系统所在的分区)。这两个位置的文件均可以直接删除。

17、清除Internet临时文件:定期删除上网时产生的大量Internet临时文件,将节省大量的硬盘空间。打开IE浏览器,从"工具"菜单中选择"Internet选项",在弹出的对话框中选择"常规"选项卡,在"Internet临时文件"栏中单击"删除文件"按钮,并在弹出"删除文件"对话框,选中"删除所有脱机内容"复选框,单击"确定"按钮。

18、清除预读文件:Windows XP的预读设置虽然可以提高系统速度,但是使用一段时间后,预读文件夹里的文件数量会变得相当庞大,导致系统搜索花费的时间变长。而且有些应用程序会产生死链接文件,更加重了系统搜索的负担。所以,应该定期删除这些预读文件。预计文件存放在Windows XP系统文件夹的Prefetch文件夹中,该文件夹下的所有文件均可删除。

19、压缩NTFS驱动器、文件或文件夹:如果你的硬盘采用的是NTFS文件系统,空间实在紧张,还可以考虑启用NTFS的压缩功能。右击要压缩的驱动器-"属性"-"常规"-"压缩磁盘以节省磁盘空间",然后单击"确定", 在"确认属性更改"中选择需要的选项。这样可以节省约20% 的硬盘空间。在压缩C盘的时候,最好在安全模式下压缩,这样效果要好一些。

20、关闭华医生Dr.Watson:要关闭Dr.Watson可打开注册表编辑器,找到"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\AeDebug"分支,双击其下的Auto键值名称,将其"数值数据"改为0,最后按F5刷新使设置生效,这样就取消它的运行了。也在"开始"->"运行"中输入"drwtsn32"命令,或者"开始"->"程序"->"附件"->"系统工具"->"系统信息"->"工具"->"Dr Watson",调出系统里的华医生Dr.Watson ,只保留"转储全部线程上下文"选项,否则一旦程序出错,硬盘会读很久,并占用大量空间。如以前有此情况,请查找user.dmp文件,删除后可节省几十MB空间。

21、关闭远程桌面:"我的电脑"->"属性"->"远程","远程桌面"里的"允许用户远程连接到这台计算机"勾去掉。

22、取消XP对ZIP支持:Windows XP在默认情况下打开了对zip文件支持,这要占用一定的系统资源,可选择"开始→运行",在"运行"对话框中键入"regsvr32 /u zipfldr.dll",回车确认即可取消XP对ZIP解压缩的支持,从而节省系统资源。

23、关闭错误报告:当应用程序出错时,会弹出发送错误报告的窗口,其实这样的错误报告对普通用户而言几乎没有任何意义,关闭它是明智的选择。在"系统属性"对话框中选择"高级"选项卡,单击"错误报告"按钮,在弹出的"错误汇报"对话框中,选择"禁用错误汇报"单选项,最后单击"确定"即可。另外我们也可以从组策略中关闭错误报告:从"运行"中键入"gpedit.msc",运行"组策略编辑器",展开"计算机配置→管理模板→系统→错误报告功能",双击右边设置栏中的"报告错误",在弹出的"属性"对话框中选择"已禁用"单选框即可将"报告错误"禁用。

24、关掉不用的设备:Windows XP总是尽可能为电脑的所有设备安装驱动程序并进行管理,这不仅会减慢系统启动的速度,同时也造成了系统资源的大量占用。针对这一情况,你可在 设备管理器中,将PCMCIA卡、调制解调器、红外线设备、打印机端口(LPT1)或者串口(COM1)等不常用的设备停用,方法是双击要停用的设备,在其属性对话框中 的"常规"选项卡中选择"不要使用这个设备(停用)"。在重新启动设置即可生效,当需要使用这些设备时再从设备管理器中启用它们。

25、定期清理系统还原点:打开磁盘清理,选择其他选项->清理系统还原点,点击清理。

26、卸载不需要的程序,这个就不用我多说了

27、其它优化:

a 将应用软件装在其它硬盘(不要安装在系统盘下,这对重装系统也有好处);
b 将"我的文档"文件夹都转到其他分区:在桌面的"我的文档"图标上是右击鼠标,选择"属性"->"移动" ;
c 将IE临时文件夹都转到其他分区:打开IE浏览器,选择"工具"->"internet选项"->"常规"->"设置"->"移动文件夹";
d 把虚拟内存也转到其它硬盘;
e 把pagefile.sys文件都指向一个地方:控制面板→系统→性能—高级→虚拟内存→更改,注意要点"设置"才会生效;
f 在桌面的"我的电脑"图标上是右击鼠标,选择"属性"->"高级-性能设置"->"高级-虚拟内存",调至330-720。而且定时清理。

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Windows如何释放C盘空间

现在的软件大部分采用标准的Windows安装模式,用户只需双击Setup.exe文件即可轻松安装。不过,这样的安装方式也有一个弊病:很多程序在默认情况下都会安装到操作系统所在分区(绝大多数用户选择了C盘),因此过一段时间后,C盘的可用空间必然越来越小。也许在不知不觉中,你发现C盘只有几百兆甚至只有几十兆了!重新对硬盘进行分区和格式化固然可以,但操作起来太麻烦,而且会有诸多限制。大多数用户所希望的,应该是在保持原有系统和数据不被损坏的情况下,“消灭”磁盘空间不足的现象。在本文中,我们就一起来探讨一下磁盘空间释放的原则、方法与技巧。

要在装满数据的系统分区释放空间,最可行的方法当然是转移数据了。不过在转移数据之前,我们应该清楚系统分区里到底装了些什么,这些数据哪些是可以移动的,哪些是不可以移动的。因为贸然移动数据或文件,很可能会引起程序找不到路径或缺少必要的动态链接、数据库文件而出现非法操作。

一般来说,可移动的数据都是Windows或应用程序自身已经提供的选项——如Windows可以让你设置虚拟内存的保存位置、IE可让你设置缓存文件的保存位置,有些系统文件夹的路径设置隐藏在注册表里,需要手工修改或通过工具来改变。还有就是文档、邮件这些由应用程序产生的文件,一般都可移动。不可移动的文件相对要复杂一些,NTFS分区、用Windows自带压缩功能压缩过的文件分区通常有大量不可移动的数据,对这些分区的操作要十分谨慎小心。

转移可移动数据 为系统腾出空间

1. 把握转移数据的原则

尽量移动单个的、大容量的数据,这样腾出空间的效果显着,万一出错也容易查找原因。如果你移动的是包含众多子目录和多个文件的数据,不仅效果不明显,出了问题也不容易查找到底是移动哪些文件引起的。

2. 移动文件跟我来

(1)移动虚拟内存

在系统分区中,最大的可移动文件就是虚拟内存,它通常是系统物理内存的1.5倍。如果你是Windows 98/Me的用户,可以在系统选项中直接改变虚拟内存的设置。有关虚拟内存的设置方法相信各位大虾、小虾早已学会,在此不再多说。需要注意的是:修改系统虚拟内存后,一定要重新启动计算机修改才能生效;在Windows 2000/XP中,系统允许多个分区同时存在虚拟内存,因此,改变虚拟内存位置后,一定要选择虚拟内存原来所在的分区,再选择“无分页文件”单选按钮,最后单击“设置”按钮。

(2)关闭休眠文件

系统分区中的第二个大文件就是休眠文件。在默认状态下,休眠文件是放在Windows安装分区的,没有更改路径的选项。用户只能先禁止休眠功能,操作方法是:打开“控制面板”,然后双击“电源选项”图标,再选中“休眠”选项卡,清空“启用休眠”选项前的复选框,然后单击“确定”按钮退出即可,Windows会自动删除这个文件。当然,如果以后你需要启用休眠功能,只需在此页面中选中“启用休眠”选项前的复选框即可。

(3)转移临时文件

系统分区中第三大类文件是Windows及IE的临时文件。包括下载和浏览需要的缓冲区、打印任务生成的临时文件或者系统备份等等。我们可以在IE选项里移动IE临时文件夹,方法是:打开IE后,单击“工具”菜单下的“Internet选项”命令,再单击“常规”选项卡下的“设置”按钮,然后在打开的如图1所示的对话框中,单击“移动文件夹”按钮,在打开的“浏览”对话框中指定其他分区上事先建好的新文件夹即可。

接下来设置系统临时文件夹的存放路径。Windows 98用户如果将系统安装在C盘,那么临时文件默认存放在C:\TEMP目录下,我们可以将AUTOEXEC.BAT文件中的“set temp=C:\temp”改成“set temp=D:\temp”(其中D:\temp可以是硬盘分区上已存在的任意文件夹),这样就可以设置临时文件在D盘了。Windows 2000/XP用户可以打开“系统属性”、“高级”选项卡,再单击“环境变量”按钮,打开如图2所示的界面,先在“系统变量”窗口中用鼠标单击选中需要修改路径的变量(在本例中为“TEMP”和“TMP”两个变量),然后再单击对话框中部的“编辑”按钮(注意:单击该对话框上方窗口下面的“编辑”按钮,可以更改当前用户的变量保存位置,单击该对话框下方窗口下面的“编辑”按钮,可以修改所有使用该操作系统的用户的变量的保存位置)。设置完毕后单击“确定”按钮退出即可。

3. 移动程序跟我来

(1)在Windows XP下移动程序

如果你是Windows XP的用户,那么移动程序是相当简单的事:单击“开始”、“所有程序”、“附件”、“系统工具”下的“文件转移和设置向导”命令,可以打开“文件转换和设置向导”。有关该向导的使用方法,大家可以在桌面上按下F1键,打开Windows XP的“帮助与支持”中心,在“搜索”后面键入“文件转换和设置向导”进行搜索即可。

(2)借助PartitionMagic移动程序

Windows 98用户完整安装PartitionMagic后,利用它的MagicMover工具可以非常方便地移动程序。单击“开始”、“程序”、“PowerQuest PartitionMagic”下的“MagicMover”命令打开MagicMover主界面,然后浏览列表框中的驱动器和文件夹,选择你想移动的应用程序。MagicMover会自动扫描所有的驱动器,自动分析你的选择,扫描完毕后,在“Select the destination folder”框中指明要把应用程序移动到哪里放置,确定新路径后按提示移动即可。在移动过程中,MagicMover会自动更新注册表,自动完成相关链接。移动完成后,MagicMover 将显示已执行的操作汇总信息,包括应用程序的名称和被移动文件的大小等等。

(3)使用诺顿工具包的卸载及恢复功能

诺顿工具包(Norton Utilities)是大家都非常喜爱的系统工具,我们可以使用它的CleanSweep工具来巧妙实现应用程序的转移,不需要再重新安装程序,当然应用程序的个性化设置也会保留。

在CleanSweep中选择“CleanUp”,单击“Uninstall Wizard”先进行卸载程序的操作。如图3所示,在程序列表中选择要卸载的程序,选中后单击“Next”按钮,此时程序会让你指定备份文件存放位置,默认是存放在Norton CleanSweep文件夹下的子文件夹“Backup”中。单击“下一步”按钮,CleanSweep会询问你是否要确认每一个要删除的项目,一般选择“NO”,单击“Next”按钮,在下一个窗口中单击“Finish”按钮开始进行程序的卸载及备份。

程序卸载完毕后,我们就可以利用它的恢复功能来转移程序了:在CleanSweep主界面中单击“Programs”按钮,选择“Restore Wizard”,程序会询问你是否希望恢复最后一次卸载的程序,选中“Yes”后单击“Next”,默认值为恢复刚删除的所有文件,单击“Next”按程序会提示用户如果有相同文件是否要覆盖,接受默认选项即可。接下来的一步比较关键:程序会询问用户是否将程序恢复到原来的位置。由于我们的目的就是移动应用程序,因此在如图4所示的界面中应该选择“No,let me Select the location”(不,让我自己选择位置)。

单击“Next”后,就可以在打开的对话框中选择程序恢复后的目标路径了!

然后依次单击“Next”按钮,直至窗口中出现“Finish”按钮,单击该按钮后即开始了程序的恢复,恢复完成后再按提示删除程序的备份即可。至此,你选中的程序就被移动到了新的位置。

特别提示:推而广之,这种方法可用作往另一台电脑上移植一个程序:在“Back Wizard”的时候,将备份放到目标电脑上,在目标电脑装上CleanSweep后用“Restore Wizard”功能,按刚才介绍的方法恢复这个备份即可。注意目标分区中如果有同名的文件夹存在,应该改名后再进行恢复,否则原文件夹下的内容会被覆盖。

清除文件 调整分区

如果用户在移动了数据后磁盘空间依然不足,还有清除文件和调整分区最后两招。不过,这两种方法都有一定的危险性,建议用户最好不要采用。

如果一定要采用清除文件的方法,建议采用“Windows优化大师”等优化软件来实现,注意在清除文件之前,一定要进行备份;如果想通过调整硬盘分区的方法来解决系统分区磁盘空间紧张的问题,建议使用“硬盘分区魔法师”来进行,不过它也存在与中文长文件名兼容性不太好、中途死机或调整后无法访问目录等情况,因此在使用之前一定要备份好数据和硬盘分区表。

为大家介绍了这么多移动数据的操作,虽然从理论上说工具软件会自动为我们完成,但我们也应该考虑到万一出错的补救。最好的办法当然是备份注册表、复制一份程序副本到其他分区,这样一旦出错可以直接将程序复制到原路径,再恢复注册表即可。

不过,最完美的办法是预先规划好硬盘的分区。如果硬盘空间充裕,安装Windows 98/Me时C盘应预留2GB空间;安装Windows 2000时C盘应预留4~5GB空间;安装Windows XP时C盘应预留6~7GB空间。一旦确定了分区方案后,应该及时备份硬盘分区表,尽量不要再做改变分区的操

‘柒’ 金山T盘 目标驱动器已满 是怎么回事

很正常的、

出现这个问题的原因很多,给你提供点线索,供参考。
1、将BIOS设置为默认值。
2、检查所有连接,给主机除尘。
3、检查散热。
4、测试内存是否存在问题,清理插槽,再插紧。
5、重新设置虚拟内存,将虚拟内存设置在空间比较大的C盘以外的分区中。
6、如果在上网时遇到这个蓝屏, 而你恰恰又在进行大量的数据下载和上传(比如:网络游戏、BT下载), 那么应该是网卡驱动的问题,更换网卡驱动或换个网卡。
7、检查最新安装或升级的驱动程序,如果蓝屏中出现"acpi.sys"等类似文件名, 可以非常肯定时驱动程序问题,将这个驱动卸载,重新安装适宜的驱动程序 。
8、更换显卡、声卡驱动程序
9、卸载、更换机子中的怀疑有问题的软件,特别是杀软件。更换游戏软件版本。
10、也有可能是由于硬件或其驱动程序和Windows 的电源管理不兼容。
(1)在“控制面板/电源选项”中如果有APM(高级电源管理)方面的设置,关闭APM功能。同时在“休眠”中禁用休眠功能。
(2)在BIOS中把电源管理选项“ACPI Suspend Type”设置为S1(有些机器显示为STR)或直接关闭ACPI选项。
11、重装系统。

电脑蓝屏代码大全
Windows蓝屏代码含意速查表

0 0x0000 作业完成。

1 0x0001 不正确的函数。

2 0x0002 系统找不到指定的档案。

3 0x0003 系统找不到指定的路径。

4 0x0004 系统无法开启档案。

5 0x0005 拒绝存取。

6 0x0006 无效的代码。

7 0x0007 储存体控制区块已毁。

8 0x0008 储存体空间不足,无法处理这个指令。

9 0x0009 储存体控制区块地址无效。

10 0x000A 环境不正确。

11 0x000B 尝试加载一个格式错误的程序。

12 0x000C 存取码错误。

13 0x000D 资料错误。

14 0x000E 储存体空间不够,无法完成这项作业。

15 0x000F 系统找不到指定的磁盘驱动器。

16 0x0010 无法移除目录。

16 0x0010 无法移除目录。

17 0x0011 系统无法将档案移到 其它的磁盘驱动器。

18 0x0012 没有任何档案。

19 0x0013 储存媒体为写保护状态。

20 0x0014 系统找不到指定的装置。

21 0x0015 装置尚未就绪。

22 0x0016 装置无法识别指令。

23 0x0017 资料错误 (cyclic rendancy check)

24 0x0018 程序发出一个长度错误的指令。

25 0x0019 磁盘驱动器在磁盘找不到 持定的扇区或磁道。

26 0x001A 指定的磁盘或磁盘无法存取。

27 0x001B 磁盘驱动器找不到要求的扇区。

28 0x001C 打印机没有纸。

29 0x001D 系统无法将资料写入指定的磁盘驱动器。

30 0x001E 系统无法读取指定的装置。

31 0x001F 连接到系统的某个装置没有作用。

32 0x0020 The process cannot access the file because it is being

used by another process.

33 0x0021 档案的一部份被锁定, 现在无法存取。

34 0x0022 磁盘驱动器的磁盘不正确。 请将 %2 (Volume Serial

Number: %3) 插入磁盘机%1。

36 0x0024 开启的分享档案数量太多。

38 0x0026 到达档案结尾。

39 0x0027 磁盘已满。

50 0x0032 不支持这种网络要求。

51 0x0033 远程计算机无法使用。

52 0x0034 网络名称重复。

53 0x0035 网络路径找不到。

54 0x0036 网络忙碌中。

55 0x0037 The specified network resource or device is no longer

available.

56 0x0038 The network BIOS command limit has been reached. 57

0x0039 网络配接卡发生问题。

58 0x003A 指定的服务器无法执行要求的作业。

59 0x003B 网络发生意外错误。

60 0x003C 远程配接卡不兼容。

61 0x003D 打印机队列已满。

62 0x003E 服务器的空间无法储存等候打印的档案。

63 0x003F 等候打印的档案已经删除。

64 0x0040 指定的网络名称无法使用。

65 0x0041 拒绝存取网络。

65 0x0041 拒绝存取网络。

66 0x0042 网络资源类型错误。

67 0x0043 网络名称找不到。

68 0x0044 超过区域计算机网络配接卡的名称限制。

69 0x0045 超过网络 BIOS 作业阶段的限制。

70 0x0046 远程服务器已经暂停或者正在起始中。

71 0x0047 由于联机数目已达上限,此时无法再联机到这台远程计算机。

72 0x0048 指定的打印机或磁盘装置已经暂停作用。

80 0x0050 档案已经存在。

82 0x0052 无法建立目录或档案。

83 0x0053 INT 2484 0x0054 处理这项要求的储存体无法使用。

85 0x0055 近端装置名称已经在使用中。

86 0x0056 指定的网络密码错误。

87 0x0057 参数错误。

88 0x0058 网络发生资料写入错误。

89 0x0059 此时系统无法执行其它行程。

100 0x0064 无法建立其它的系统 semaphore。 101 0x0065 属于其它行

程专用的 semaphore.

102 0x0066 semaphore 已经设定,而且无法关闭。

103 0x0067 无法指定 semaphore 。

104 0x0068 在岔断时间无法要求专用的 semaphore 。

104 0x0068 在岔断时间无法要求专用的 semaphore 。

105 0x0069 此 semaphore 先前的拥有权已经结束。

106 0x006A 请将磁盘插入 %1。

107 0x006B 因为代用的磁盘尚未插入,所以程序已经停止。

108 0x006C 磁盘正在使用中或被锁定。

109 0x006D Pipe 已经中止。

110 0x006E 系统无法开启指定的 装置或档案。

111 0x006F 档名太长。

112 0x0070 磁盘空间不足。

113 0x0071 没有可用的内部档案标识符。

114 0x0072 目标内部档案标识符不正确。

117 0x0075 由应用程序所执行的 IOCTL 呼叫 不正确。

118 0x0076 写入验证参数值不正确。

119 0x0077 系统不支持所要求的指令。

120 0x0078 此项功能仅在 Win32 模式有效。

121 0x0079 semaphore 超过逾世

‘捌’ 这个蓝屏是什么意思

蓝屏死机(Blue Screen of Death,缩写为:BSoD),指的是微软Windows操作系统在无法从一个系统错误中恢复过来时所显示的屏幕图像。

◆错误分析:通常是由有问题的驱动程序引起的(比如罗技鼠标的Logitech MouseWare 9.10和9.24版驱动程序会引发这个故障). 同时,有缺陷的内存、 损坏的虚拟内存文件、 某些软件(比如多媒体软件、杀毒软件、备份软件、DVD播放软件)等也会导致这个错误.
◇解决方案:检查最新安装或升级的驱动程序(如果蓝屏中出现"acpi.sys"等类似文件名, 可以非常肯定是驱动程序问题)和软件; 测试内存是否存在问题; 进入"故障恢复控制台", 转到虚拟内存页面文件Pagefile.sys所在分区, 执行"del pagefile.sys"命令, 将页面文件删除; 然后在页面文件所在分区执行"chkdsk /r"命令;进入Windows后重新设置虚拟内存.如果在上网时遇到这个蓝屏, 而你恰恰又在进行大量的数据下载和上传(比如:网络游戏、BT下载), 那么应该是网卡驱动的问题, 需要升级其驱动程序.WinDbg是免费软件,其微软官方下载地址参考扩展阅读,具体项目为Install Debugging Tools for Windows 32/64-bit Version。
使用WinDbg分析崩溃时的内存转储文件的前提是您要让系统在崩溃时自动生成一个内存转储文件,做法如下:
1、单击开始,然后单击运行。
2、键入 control sysdm.cpl
复制代码
,然后单击确定。您将会打开系统属性,请切换到高级选项卡。结果如下图所示:
3、在高级选项卡上,在启动和故障恢复部分中单击设置。这将打开启动和故障恢复对话框,如下图所示:
4、在写入调试信息列表中,选择“小内存转储(64 KB)”或“核心内存转储”,这样系统在崩溃时将会自动生成对应的内存转储文件。如果您不想让蓝屏只闪烁一下,而是想看清楚它直到您手动重新启动计算机,请清除系统失败部分中自动重新启动(R)项目前的复选框。然后单击确定。
5、在启动和故障恢复对话框中,单击确定。
6、单击确定关闭系统属性对话框。
7、在系统设置更改对话框中,如果要立即重新启动计算机,则单击是;如果要稍后重新启动计算机,则单击否。
注:?
Vista用户请类似操作。? 对于原版操作系统,以上设置是默认的(除了禁止自动重新启动)。? 对于第4点中的写入调试信息列表内容,现给出以下参照释义:
(以上三种转储文件的大小依次增大,关于三者的比较不在本文讨论范围之内,笔者仅推荐设置为“小内存转储”或者“核心内存转储”,一般性错误“小内存转储”就足够了,如不能完好分析请选择“核心内存转储”。为了数据的丰富性,您也可以直接选择“核心内存转储”,但笔者强烈不推荐完全内存转储。)
值得注意的是,为了确保崩溃时自动生成内存转储文件,您可能还须启用虚拟内存页面文件。特别地,当您选择记录核心内存转储时,您必须启用虚拟内存页面文件,而且由于核心内存转储文件的大小取决于该机器上操作系统和所有活动驱动程序已经分配的内核模式内存的数量,因此没有很好的办法来预测内核内存转储的大小。下表仅给出该情况下的参考虚拟内存大小设置值:
另外,除了页面文件占用的磁盘空间,内存转储文件(*.DMP)的生成位置所在的磁盘还要有足够的空闲空间来提取这个转储文件,否则一样会“生成不了”(实际上是丢失了)。
设置好这些之后,一旦您的系统发生蓝屏崩溃,系统就会在以上设置中选中的相应内存转储文件类型下对应的目录处生成转储文件。您所要做的就是立刻拿出利器——启动WinDbg进行分析。
笔者在此将结合一个实例进行详细说明,过程中包含了WinDbg调试蓝屏用到的一些命令,这些命令将不再额外整理,请于阅读过程中注意识记。
首先,您要配置WinDbg将要使用的调试符号文件(Symbol File)的位置。什么是调试符号文件呢?符号文件随DLL文件或者EXE文件建立时产生,提供包含在可执行文件和动态链接库 (DLL) 中的函数的占位空间。此外,符号文件还可以表示达到失败点的函数调用路线图。当我们使用各种Microsoft工具调试应用程序时,必须拥有符号信息,这样才能正确分析出问题根源。那我们该如何设置调试符号文件的位置呢?我们既可以从微软官网下载完整的符号文件包(同位于WinDbg下载页面),也可以使用微软的符号文件服务器(Microsoft Symbol Server)。笔者推荐后者,因为一次分析所要用到的符号文件局限于有限的几个而已,使用后者可以让程序自动下载,既节省时间,又可以确保符号文件是最新的并且是正确的。在WinDbg中点击“File”菜单,选择“Symbol File Path …”,在打开的对话框中输入
复制代码
后点击“OK”按钮即可。当然,还有一步就是再次点击“File”菜单,选择“Save Workspace”来保存当前的设置。
设置了符号文件之后,您就可以进行内存转储文件的分析了。同样点击“File”菜单,这次要选择“Open Crash Dump …”,然后通过文件打开对话框打开生成的待分析的内存转储文件。本例中设置的是核心内存转储类型,于是应该定位至“%SystemRoot%”(即系统盘Windows文件夹下),打开MEMORY.DMP文件。但是笔者已经事先将其转移至“E:\Memory Dump\MEMORY.DMP”,因此在后续的图片中,您看到的是这个地址。此时WinDbg会滚动显示一些信息并且会稍有挂起的感觉,直到从微软符号文件服务器下载完分析这个崩溃文件所需要的所有符号文件。
在上图中,我们看到就是这个打开的调试器命令窗口(Debugger Command Window)(已经将符号文件加载完毕,待命),我们先看看位于底部的区域6,这个小的长方条就是WinDbg的命令输入处(Command Entry),它又分为两个区域,左边显示“0: kd>”的是提示区,右边空白区是命令输入区。当刚打开这个窗口而符号文件尚未下载/加载完毕时,提示区域会什么都不显示,而命令输入区域将显示“Debuggee not connected”。直到符号加载完毕,窗口中显示出最后一行“Followup: MachineOwner”才会变为空闲状态。在空闲状态时,它将显示为与上图中类似的模样。为什么说类似呢?因为这个空闲待命提示根据调试类型、计算机处理器硬件配置不同,比如此例中,进行的是内核调试,于是显示“kd>”(kernel debug),系统为多(核)处理器,因此在“kd>”之前还显示一个“0:”,表明当前位于编号为0的处理器。在执行了某个命令之后,如果命令需要处理的任务较多(如“!analyze -v”),提示区域将显示为忙碌状态的“*BUSY*”,一旦显示为这个状态,您不论输入什么命令都不会立即执行,而是等待变为空闲状态时延缓执行。
如上图所示,图中区域1处将显示打开的这个内存转储文件的物理路经;区域2处显示的则是当前加载的符号文件的位置,本例中表明是从微软服务器下载;区域3共有三行,显示的为系统信息,第一行表明了系统为Windows XP,内核版本为2600(SP3),多处理器(2颗),32位,第二行表明了系统类型为NT系统,客户端系统,第三行表明系统的详细版本标识;区域4共两行,第一行表明该内存转储文件生成的时间,也就是系统崩溃的具体时间,本例中(这是去年12月得到的一个崩溃转储文件,现用作本例进行说明)为星期六(Sat),12月(Dec)27日,22:56:31.062,2008年,格林尼治标准时间东八区(GMT+8),第二行显示的是崩溃时自系统启动以来,系统共运行了0天4小时5分15.797秒。区域5是很关键的错误信息,它的第一行仅在加载符号文件遇到错误时显示,此例中,它告诉我们“对于BaseTDI.SYS文件,模块已经加载完毕但却不能够为其加载符号文件”,如果之前配置了正确的符号文件路径,这就告诉我们BaseTDI.SYS不是微软公司的文件,而是第三方驱动程序文件,这很可能是引起错误的原因,值得关注但须进一步分析。区域5的第二行是WinDbg自动分析的结果,它告诉我们,引起崩溃的原因(Probably caused by:)很可能是HookUrl.sys文件。一般情况下,这就是引起错误的罪魁祸首了,但是也有不少的例外,最典型的就是显示一个微软自己的文件在此处,您可要注意了,为了避免枉杀无辜,最好进一步分析来看看都有哪些模块牵扯在崩溃的最后一刻,这样就能够保证审判无误了!进一步分析的命令可以从“!analyze -v”开始。
我们既可以在命令输入区域手动键入命令
!analyze -v
复制代码
,也可以在上图中的区域7所示位置单击蓝色的这个命令。之后,提示区域将显示为“*BUSY*”,WinDbg将分析一段时间直到将结果显示完毕并再次转为空闲状态。下面我们根据一张例图阐释执行“!analyze -v”后显示的各种结果:
WinDbg经过自动的分析,可能会显示上图中区域1处所示第一行的错误检查说明(Bug Check Interpretation),而第二行则给出了详细的解释,从图中信息看得出,此例错误由于“驱动程序在队列工作项目完成之前卸载”造成的。这个“DRIVER_UNLOADED_WITHOUT_CANCELLING_PENDING_OPERATIONS”就应该是显示在蓝屏上方的错误说明字样,后面的Arguments1~4就是蓝屏时停止代码后面的四个参数。图中区域2所示的BUGCHECK_STR是WinDbg中分了类别的错误检查(Bug Check)的一项,此例中为0xCE,也是停止代码的分类简写,我们在命令输入区执行
.bugcheck
复制代码
命令,可以得到停止代码及其参数,这和上图的区域1、蓝屏上的信息是一致的。本例中可以得到如下结果:
0: kd> .bugcheck
Bugcheck code 000000CE
Arguments bacb0a4e 00000008 bacb0a4e 00000000
我们在Bugcheck code值前补上“0x”就可以得到蓝屏上的信息“***STOP: 0x000000CE (bacb0a4e, 00000008, bacb0a4e, 00000000)”。当然,关于这个错误如果您想了解更多,一个是可以在微软在线帮助和支持网站上搜索字符串“0x000000CE”,再就是可以利用上图中区域2的BUGCHECK_STR值“0xCE”执行
.hh bug check 0xCE
复制代码
命令,在打开的窗口左栏右下角点击“Display”按钮。如果要在WinDbg中显示一个停止代码或者错误检查类的详细说明(以此错误为例),键入命令
!analyze -show 0x000000CE
复制代码
或者
!analyze -show 000000CE
复制代码
,也可以是
!analyze -show 0xCE
复制代码
。区域3中显示的就是二审判决的重要信息——线程堆栈信息。特别注意红色框内的部分,第一行是“WARNING: Frame IP not in any known mole. Following frames may be wrong.”意思就是“警告:堆栈帧IP(InstructionPtr,仅x86处理器,用于决定帧的堆栈回朔的指令指针)不存在于任何已知的模块中,下面的帧可能出现错误”。这个意思的解释已超出本文讨论范围,笔者仅告诉大家,这行文字下面的一行右侧的模块是系统蓝屏崩溃时刻使用的最后一个模块(除了Windows内核最后调用KeBugCheckEx牺牲自己,就是警告文字上方的三行),往往就是它引起了崩溃!我们来细看。大家如果了解了堆栈的数据结构或是Windows内存分配机制就应该知道,Windows为 线程分配额外内存时是从高地指向低地址进行的,就是说,蓝色区域3中的堆栈信息我们得倒过来由下往上看,这样才是系统崩溃之前的一刻内核态函数的调用和传递情况,比如此例,系统内核执行体(nt!,即Ntoskrnl.exe)通过函数IopfCallDriver调用了BaseTDI,然后BaseTDI又调用了HookUrl.sys(Unloaded_字样表示未加载),再然后就蓝屏了。那么在这最后一刻就涉及到了两个非Windows内核的模块——BaseTDI以及HookUrl.sys。之所以要进行这个“二审判决”,就是要避免一种情况——万一HookUrl.sys与BaseTDI是来自两个公司或者两个软件的模块,而最后加载的HookUrl.sys是没有问题的,出错是因为BaseTDI给HookUrl.sys传递了格式错误或者已被破坏的、或者非法的参数信息,HookUrl.sys接受此无效数据而引发了崩溃。如果我们不看线程栈,就根据之前的“Probably Cause by:HookUrl.sys”进行判决,我们很有可能枉杀无辜而让兇手逍遥法外。只有通过线程栈我们才能发现另一个驱动程序BaseTDI也被牵连进来。(在应用程序崩溃不致系统崩溃的调试分析中,由于处于用户态,WinDbg自动分析结果中的“Probably Cause by:”几乎都是错误的。在这种情况下,使用!thread命令是不能显示出任何信息的,因为这个命令仅对内核态的崩溃调试有效,然而kb命令也显示不出有用的信息,只有用“~*kb”来显示详细的全部线程栈才可能发现问题根源,有的时候还需配合其他命令,本文不作讨论)
当然,如果您熟练以后,觉得没有必要使用“!analyze -v”命令的话,可以直接使用
!thread
复制代码
或者
kb
复制代码
命令显示出核心的线程栈信息来二审判决。现在好了,犯罪嫌疑人目标锁定在BaseTDI和HookUrl.sys身上。现在,我们来看看它们究竟是什么、是哪个公司、哪个程序的模块。(从之前不能够自动从微软服务器为他们加载符号文件就可以知道,它们一定都是第三方驱动程序)
使用命令
lm kv m Basetdi*
复制代码
(使用lm(列出模块)命令和内核k选项、详细v选项以及参数m,配合包含通配符*的字符串BaseTDI,来列出当时已加载于内核模式的包含字符BaseTDI的所有驱动文件详细信息。使用通配符来取代完整的文件名后缀可以避免信息的局限性,借此也许可以发现多个相关的模块以提供更多诊断线索),我们得到下图结果:
从图中蓝色框选部分,我们可以看出,当时内核态下只有一个叫BaseTDI.SYS的文件,这个文件的路径位于System32\Drivers下,属于名称为“瑞星个人防火墙”(ProctName: Rising PFW, PFW=Personal Firewall)的程序组件,软件公司注册商标为“瑞星”(LegalTrademarks: RISING)。文件的这些英文描述信息如果您不知道,可以网络一下。当然,没有被笔者高亮显示的信息(如文件时间戳、版本、校验和等等)也是非常有用的,比如网络一下文件版本,也许您会发现该软件已经提供了更新的解决此问题的文件。同样,我们使用
lm kv m hookurl*
复制代码
来显示当时内核态下包含HookUrl的文件及其详细信息。结果如下:
图示是一个不令人满意的结果,因为如高亮部分所示,这个模块未被加载,因此没有信息被记录。不过我们有网络,不用急,网络一下你就知道。在搜索完HookUrl.sys之后,发现这个也是瑞星个人防火墙的文件。其实这个案例就是着名的“瑞星个人防火墙跨版本升级到2009版时引发蓝屏”事件。您可以通过关键字“瑞星防火墙2009升级造成蓝屏”进行网络搜索。到目前为止,瑞星官方都没有任何针对此事件的正式答复,虽然不是每个用户都出现此问题,但是非常多的用户都报告了此问题,瑞星也不承认这个是软件缺陷,只有官方卡卡论坛上有一个不知道是不是工作人员的人发帖要求大家遇到蓝屏就上传内存转储文件。说到这里,我对瑞星又要失望了,但是通过这个可见蓝屏内存转储文件的分析是多么的有用!
在这里,我还要给出两个要得到更多信息时可能会使用到的命令,一个是
!process 0 0
复制代码
,它可以列出当时运行着的所有进程的技术信息;另一个则是
!vm
复制代码
,它能够显示出当时的虚拟内存使用情况,这对于分析系统是否耗尽了虚拟内存、换页内存池或非换页内存池,并结合进程列表找到可能的内存泄漏错误非常有用,不过已超出了本文的讨论范围。
最后,我们来看看以下的两种特殊情况该如何使用WinDbg进行调试分析:
第一种情况是系统挂起,也就是“死机”、“系统没有响应”,在这种情况下,系统是根本无法自动生成内存转储文件的,而且您也不可能操作本地软件来查明是什么挂起了系统,这个时候我们需要手动让系统崩溃,以生成内存转储文件。具体做法为,在系统挂起之前,打开注册表编辑器并定位至
HKEY_LOCAL_MACHINE \System\CurrentControlSet\Services\i8042prt\Parameters
复制代码
,在该项下面建立一个名为
CrashOnCtrlScroll
复制代码
的DWORD类型键值(注意大小写),并将其设置为1,然后重新启动应用此更改。一旦系统挂起,就可以通过按住右边Ctrl键的同时击ScrollLock键两次来生成一个停止代码为0x000000E2(MANUALLY_INITIATED_CRASH)的手动崩溃。得到内存转储文件以后按照上面的方法分析。注意,此方法对插入USB口的USB键盘无效。(笔记本计算机键盘很多都是通过PS/2接口连接的,因此有效)
第二种情况是进不了系统就自动崩溃,无法提取出内存转储文件。这种情形以及当有特定的需要时,我们都可以采取双机调试的方法。我们将发生崩溃的机器称为“目标机”,将用来连接到“目标机”进行调试的机器称为“调试主机”,调试主机必须安装有WinDbg。
首先,我们需要在两台机器间建立连接,在新版的WinDbg中,这里一共有三种方式连接到目标机。第一种方式为通过COM端口连接,使用零调制解调器线缆(Null-Modem),也就是COM对接线——两个头都是孔的RS232线;第二种是利用IEEE 1394线缆连接,但是这种连接要求两台机器运行相同版本的至少为Windows XP的系统;第三种方式是使用特制的USB 2.0调试线缆连接,这不是普通的USB连接线,是一种内置硬件芯片来支持调试的线缆,而且这种方式要求目标机运行的系统至少为Windows Vista。使用这三种连接方式进行双机调试都需要在目标机上作出相应的设置调整,具体参见WinDbg帮助文件,这里仅讨论第一种连接方式的设置,因为这是XP及以上系统默认支持的最简单的方式。此时我们假设已经使用COM线缆连接好了两台机器。
其次,在调试主机上启动WinDbg,配制好符号文件之后,我们展开“File”菜单,选择“Kernal Debug…”,这将会打开如下的“Kernal Debugging”对话框:
默认打开的就是COM连接方式的配置页面。这里的“Baud Rate(传输速率)”以及“Port(端口)”需要根据下一个步骤的操作方式来配置。
最后一步,我们可以启动目标机,在引导Windows之前按下F8,在启动菜单中选择“调试模式”,这样,传输速率被系统默认设为19200,端口也默认被设为COM2,因此上一步骤中应该照此设置后点击“OK”。关于XP修改Boot.ini、Vista修改Bootcfg的方式启用指定端口、传输速率的调试,请参见WinDbg帮助文件,在此不再赘述。目标机一起动Windows,位于调试主机的WinDbg就能够有信息的显示,然后按照本文介绍的方法进行调试。另外,对于上面提到的系统挂起的情况,也可以采用这种双机调试,并且有新的命令
.crash
复制代码
强迫目标机在它的本地硬盘驱动器中生成一个崩溃转储,当系统重新引导以后就可以提取此转储,当然,也可以使用
.mp /m COM.dmp
复制代码
命令,在调试主机WinDbg所在目录下生成一个名叫“COM.dmp”的小内存转储文件(命令中的文件名可以改成其它的)。
编辑本段
预防电脑蓝屏的九个小技巧

1 定期对重要的注册表文件进行手工备份,避免系统出错后,未能及时替换成备份文件而产生不可挽回的错误。
2 尽量避免非正常关机,减少重要文件的丢失。如.VxD .DLL文件等。
3 对普通用户而言,只要能正常运行,没有必要去升级显卡、主板的BIOS和驱动程序,避免升级造成的危害。
4 定期检查优化系统文件,运行“系统文件检查器”进行文件丢失检查及版本校对。检查步骤参见前面相关介绍。
5 减少无用软件的安装,尽量不用手工卸载或删除程序,以减少非法替换文件和文件指向错误的出现。
6 如果不是内存特别大和其管理程序非常优秀,尽量避免大程序的同时运行,如果你发现在听MP3时有沙沙拉拉的声音,基本可以判定该故障是由内存不足而造成的。
7 定期用杀毒软件进行全盘扫描,清除病毒。
8 不上一些不熟悉的网站,对于一些网站上的带有诱惑性的图片和一些中奖的消息,不要点击。
9 定期升级操作系统,软件和驱动。

字多了点...........慢慢看哈 ╮(╯▽╰)╭“苦连个”孩子

热点内容
编译期错误提示 发布:2024-10-07 20:07:23 浏览:296
阿里云服务器打开慢 发布:2024-10-07 20:06:33 浏览:577
磁存储行业的前景 发布:2024-10-07 20:01:29 浏览:548
android对象序列化 发布:2024-10-07 20:01:28 浏览:760
安卓上面的微信如何恢复 发布:2024-10-07 19:57:45 浏览:52
510低配包括哪些配置 发布:2024-10-07 19:38:21 浏览:556
ping服务器地址一直丢包 发布:2024-10-07 19:37:34 浏览:588
怎么去除手机锁屏密码 发布:2024-10-07 18:56:05 浏览:67
怎样注册手机贴吧账号密码是什么 发布:2024-10-07 18:55:17 浏览:365
端口安全配置属于什么 发布:2024-10-07 18:41:01 浏览:794