Windows操作系统中Svchost进程功能揭秘
- 格式:doc
- 大小:57.00 KB
- 文档页数:3
svchost.exe是什么进程?首先要明确一点svchost.exe这个东西本身并不是病毒程序,它只是系统里边一个不可缺少的进程,不管是什么操作系统(2000,xp,2003,win7)都会存在这个进程。
当然有时候病毒、木马也会利用svchost.exe这个进程。
看完本文介绍后你就会明白,为什么你的系统里会有很多这样的进程了,而且数量多少还会不一样。
任务管理器中的svchost.exe进程什么是svchost.exe进程?简单的说:svchost.exe是一个属于微软Windows操作系统的系统程序,微软官方对它的解释是:Svchost.exe 是从动态链接库 (DLL) 中运行的服务的通用主机进程名称。
这个程序对系统的正常运行是非常重要,而且是不能被结束的。
windows系统进程分为独立进程和共享进程两种,“svchost.exe”文件存在“%systemroot%system32”目录下,它属于共享进程。
随着windows系统服务不断增多,为了节省系统资源,微软把很多服务做成共享方式,交由svchost.exe进程来启动。
但svchost进程只作为服务宿主,并不能实现任何服务功能,即它只能提供条件让其他服务在这里被启动,而它自己却不能给用户提供任何服务。
Service Host Process是一个标准的动态连接库主机处理服务。
Svchost.exe文件对那些从动态连接库(DLL)中运行的服务来说是一个普通的主机进程名。
在启动的时候,Svchost.exe检查注册表中的位置来构建需要加载的服务列表。
这就会使多个Svchost.exe在同一时间运行。
Windows 2000一般有2个Svchost进程,一个是RPCSS(Remote Procedure Call)服务进程,另外一个则是由很多服务共享的一个Svchost.exe;而在windows XP中,则一般有4个以上的Svchost.exe服务进程;Windows 2003 server中则更多。
全面认识Svchost.exe进程很多朋友对svchost.exe进程都不太了解,有时在任务管理器中一旦看到有多个该进程(图1中有6个),就以为自己的电脑中了病毒或木马,其实并非如此!正常情况下,windows中可以有多个svchost.exe进程同时运行,例如Windows2000至少有2个Svchost进程,WindowsXP中有4个以上,Windows2003中则有更多,所以当你看到多个svchost进程时,未必就是病毒!svchost.exe进程是干什么的?svchost.exe文件存在于“%systemroot%\system32”(例如C:\Windows\system32)目录下,它是WindowsNT核心的重要进程(Windows9X 没有该进程),专门为系统启动各种服务的。
例如Svchost.exe调用rpcss.dll文件,就会启动rpcss服务(remoteprocedurecall)。
svchost.exe实际上是一个服务宿主,它本身并不能给用户提供任何服务,但是可以用来运行动态链接库DLL文件,从而启动对应的服务。
Svchost.exe进程可以同时启动多个服务。
svchost是如何启动系统服务的?由于系统服务都是以动态链接库(DLL)形式实现的,它们把可执行程序指向svchost,因此svchost只要调用某个动态链接库,即可启动对应的服务。
那么svchost启动某服务时,又是如何知道应该调用哪个动态链接库?这是由于系统服务在注册表中都设置了相关参数,因此svchost通过读取某服务在注册表中的信息,即可知道应该调用哪个动态链接库,从而启动该服务。
下面我们以svchost启动helpsvc(HelpandSupport)服务为例,介绍其启动服务的方法。
在WindowsXP中点击“开始”“运行”,输入“services.msc”命令,弹出服务对话框,然后双击打开“HelpandSupport”服务属性对话框,可以看到helpsvc 服务的可执行文件的路径为“C:\WINDOWS\System32\svchost.exe-knetsvcs”(如图2),说明helpsvc服务是依靠SVCHOST调用“netsvcs”参数来实现的,而参数的内容则是存放在系统注册表中的。
Svchost进程揭秘出处:中国电脑教育报责任编辑:chenyong[04-9-7 10:06] 作者:尹竹·看奥运竞猜赛果拿iPod大奖·笔记本专家坐镇回答网友问题·喜欢CS的你绝对不能错过的贴·XP命令高手完全集合·推荐六套64位配置并解答问题·惊人发现ATARC完全是个骗局?·看奥运竞猜赛果拿iPod大奖·笔记本专家坐镇回答网友问题·喜欢CS的你绝对不能错过的贴·XP命令高手完全集合·推荐六套64位配置并解答问题·惊人发现ATARC完全是个骗局?·看奥运竞猜赛果拿iPod大奖·笔记本专家坐镇回答网友问题·喜欢CS的你绝对不能错过的贴·XP命令高手完全集合·推荐六套64位配置并解答问题·惊人发现ATARC完全是个骗局?在基于NT内核的Windows操作系统家族中,Svchost.exe是一个非常重要的进程。
很多病毒、木马驻留系统与这个进程密切相关,因此深入了解该进程是非常有必要的。
本文主要介绍Svchost进程的功能,以及与该进程相关的知识。
Svchost进程概述微软对“Svchost进程”的定义是:Svchost.exe是从动态链接库(DLL)中运行的服务的通用主机进程名称。
Svchost.exe文件位于“%System Root%\System32”文件夹中。
当系统启动时,Svchost将检查注册表中的服务部分,以构建需要加载的服务列表。
Svchost的多个实例可以同时运行。
每个Svchost会话可以包含一组服务,以便根据Svchost的启动方式和位置的不同运行不同的服务,这样可以更好地进行控制且更加便于调试。
Svchost组是由注册表[HKEY_LOCAL_MACHINE\ Software\Microsoft\WindowsNT\CurrentVersion\Svchost]项来识别的。
为什么进程里面会出现多个SVCHOST.EXE很多朋友都以一个疑问,为啥进程里面会有好几个SVCHOST.EXE 进程出现?现在我就用比较俗的解释比喻一下:SVCHOST.EXE好比是一头牛,系统服务就像是牛身上的寄生虫,所以牛就是那些寄生虫的宿主。
也就是说服务都依附在SVCHOST.EXE进程后面运行,当然具有交互界面的服务除外(比如:Print Spooler服务)。
那为啥服务不都依附到一个SVCHOST.EXE后面呢?因为不同的服务具有不同的启动参数,参数一样的就会归类到他们共有的一个宿主后面,哪怕是只有一个不同服务启动参数的服务,也要新开一个SVCHOST.EXE宿主,所以说有多少启动参数类型一样的服务,就会出现一个SVCHOST.EXE,哪怕是这种启动参数的服务只有一个,也要新开一个宿主。
也许看着有些糊涂,那就再用俗的解释一下:我们把服务统称为调味品,调味品里面分别有盐、味精、胡椒,你肯定会拿三个瓶子,然后把他们各自放入到一个瓶子里面(这里的瓶子就算是SVCHOST.EXE),如果你再买回辣椒面,你肯定不会把它和别的混合在一个瓶子里面,就会再拿一个新瓶子装,这次就会多出一个瓶子。
以此类推你每增加一个新的调味品,就会再拿出一个瓶子来装它。
上面解释的够通俗吧!所以说每个SVCHOST.EXE都是负责一类启动参数的服务,如果你的进程里面有5个SVCHOST.EXE,那么就可以说你所有的已启动服务使用了五种启动参数,启动参数相同的服务就会在同一个SVCHOST.EXE进程后面。
所以说SVCHOST.EXE进程过多,并不就表示你的系统出了状况,但是可能开启了一些并用不上的服务,可以去服务里禁用掉当前不需要的服务。
如果需要查看系统当前加载了那些服务,每个SVCHOST后面都有那些服务,现推荐两种方法:1、使用微软免费提供的PROCESS EXPLORER工具(我极力推荐使用此款工具,免费、功能强大)2、使用CMD /K TASKLIST /SVC命令这里我还想强调的一点:千万不要为了减少SVCHOST.EXE进程数而去禁用服务,因为每个人的电脑配置设置不同,也不要参考某个人的电脑或者某些优化软件所谓的成品模板来禁用服务,而是要按照自己当前的需求来合理设置。
svchost.exe是什么进程,是病毒吗?一、svchost.exe是什么svchost.exe是windows操作系统一个非常重要的进程模块。
因此很多病毒都利用svchost.exe来迷惑大家。
但是只要我们仔细观察就会知道是不是病毒。
正常的XP操作系统下有五到六个svchost.exe进程,其中SYSTEM用户名下有3个svchost.exe,NETWORK SERVICE用户名下有2个svchost.exe,LOCAL SERVICE用户名下有1个svchost.exe。
其他系统也是大致如此,他们的用户名都是SYSTEM、NETWORK SERVICE、LOCAL SERVICE这三个,如果不是这三个用户名那么就有可能是病毒了。
而且还有非常重要的一点就是正常的svchost.exe这个程序是在windows\system32这个目录下。
如果其它目录下有svchost.exe那肯定就是病毒了。
进程里面的svchost.exe个数不重要,关键看他是什么用户名而且位置是不是在windows\system32这个目录下。
举个例子:木马很喜欢安装在C:\windows\目录下,因为很具有迷惑性哦,其实它就是木马,将它杀掉。
二、SVCHOST.EXE病毒辨别通常情况下svchost.exe不会是病毒的。
病毒程序没有办法覆盖系统的svchost.exe。
他们一般是采用混淆的方式,让用户产生错觉。
一般是把svchost.exe里面的o改成0,注意一个是欧一个是零,改成这样svch0st.exe,让你很难看出来的。
还有一种就是大小写欺骗,木马通常写成SVCHOST.EXE(全大些)或者svchost.EXE(部分大些)等等,而正常的操作系统一般是小写的,所有发现进程里有这些特征的,首先要怀疑是木马,查查毒,分析文件,确认是木马就将其杀掉。
三、SVCHOST.EXE病毒查杀方法SVCHOST.EXE这个病毒一般有以下几种情况1、直接是SVCHOST.EXE这个文件但放在其他目录下。
Svchost.exe进程介绍Svchost病毒清除方法Svchost.exe在windows进程中占据很大一部分的资源,而且这个进程非常容易被病毒所利用。
Svchost.exe被病毒利用之后,系统常会弹出Svchost.exe错误,当然Svchost病毒也有专杀工具。
那么Svchost.exe是什么进程呢?Svchost病毒又该怎么去清除呢?接下来就让我们一起来了解下吧。
很多朋友对Svchost进程都不太了解,有时在工作管理员中一旦看到有多个该进程,就以为自己的电脑中了病毒或木马,其实并非如此!正常情况下,windows中可以有多个Svchost.exe进程同时运行,例如Windows 2000至少有2个Svchost进程,Windows XP中有4个以上,Windows 2003中则有更多,所以当你看到多个Svchost进程时,未必就是病毒!Svchost.exe是什么?Svchost.exe文件存在于“%system root%system32”(例如C:Windowssystem32)目录下,它是Windows NT核心的重要进程(Windows 9X没有该进程),专门为系统启动各种服务的。
例如Svchost.exe调用rpcss.dll档,就会启动rpcss服务(remote procedure call).Svchost.exe实际上是一个服务宿主,它本身并不能给使用者提供任何服务,但是可以用来运行动态连结程式库DLL档,从而启动对应的服务。
Svchost.exe进程可以同时启动多个服务。
Svchost.exe是一个系统的核心进程,并不是病毒进程。
但由于Svchost.exe进程的特殊性,所以病毒也会千方百计的入侵Svchost.exe。
通过查看Svchost.exe进程的执行路径可以确认是否中毒如果你怀疑电脑有可能被病毒感染,Svchost.exe的服务出现异常的话通过搜索Svchost.exe档就可以发现异常情况。
全面认识Svchost.exe进程很多朋友对svchost.exe进程都不太了解,有时在任务管理器中一旦看到有多个该进程(图1中有6个),就以为自己的电脑中了病毒或木马,其实并非如此!正常情况下,windows 中可以有多个svchost.exe进程同时运行,例如Windows2000至少有2个Svchost进程,WindowsXP中有4个以上,Windows2003中则有更多,所以当你看到多个svchost进程时,未必就是病毒!svchost.exe进程是干什么的?svchost.exe文件存在于“%systemroot%\system32”(例如C:\Windows\system32)目录下,它是WindowsNT核心的重要进程(Windows9X没有该进程),专门为系统启动各种服务的。
例如Svchost.exe调用rpcss.dll文件,就会启动rpcss 服务(remoteprocedurecall)。
svchost.exe实际上是一个服务宿主,它本身并不能给用户提供任何服务,但是可以用来运行动态链接库DLL文件,从而启动对应的服务。
Svchost.exe进程可以同时启动多个服务。
svchost是如何启动系统服务的?由于系统服务都是以动态链接库(DLL)形式实现的,它们把可执行程序指向svchost,因此svchost只要调用某个动态链接库,即可启动对应的服务。
那么svchost启动某服务时,又是如何知道应该调用哪个动态链接库?这是由于系统服务在注册表中都设置了相关参数,因此svchost通过读取某服务在注册表中的信息,即可知道应该调用哪个动态链接库,从而启动该服务。
下面我们以svchost启动helpsvc(HelpandSupport)服务为例,介绍其启动服务的方法。
在WindowsXP中点击“开始”“运行”,输入“services.msc”命令,弹出服务对话框,然后双击打开“HelpandSupport”服务属性对话框,可以看到helpsvc服务的可执行文件的路径为“C:\WINDOWS\System32\svchost.exe-knetsvcs”(如图2),说明helpsvc服务是依靠SVCHOST调用“netsvcs”参数来实现的,而参数的内容则是存放在系统注册表中的。
Svchost.exe是什么占用CPU过高怎么办Svchost.exe是一个系统的核心进程,所以病毒也总是会入侵Svchost.exe。
那么Svchost.exe占用CPU过高怎么解决呢?下面,以WinXP系统为例,我们一起来看一下。
方法/步骤1.Svchost.exe进程多不一定是病毒。
很多朋友对Svchost.exe进程都不太了解,偶尔在任务管理器中一旦看到多个同一进程,就以为自己的电脑中了病毒了,其实并非如此!正常情况下,Win OS中可以有多个Svchost.exe进程同时运行,例如Windows 2000至少有2个Svchost进程,Windows XP中有4个以上或更多,Windows 2003中则有更多,所以当你看到多个Svchost进程时,未必就是病毒!svchost.exe通过为一些系统服务调用动态链接库(DLL)的方式来启动系统服务的,所以svchost.exe的出现其实是其它进程的出现。
2.Svchost.exe的键值是在“HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\Curr entVersion\Svchost”,每个键值表示一个独立的Svchost.exe组。
所以可以根据这个位置来判断是否中毒。
3.同样的,正常的Svchost.exe程序在:“C:\Windows\System32”目录下的,如果你在其他目录下发现Svchost.exe程序的话,那很可能就是中毒了。
如果你怀疑计算机有可能被病毒感染,Svchost.exe的服务出现异常的话通过搜索Svchost.exe文件就可以发现异常情况。
4.微软还为我们提供了一种察看系统正在运行在Svchost.exe列表中的服务的方法。
以Win XP为例:在“运行”中输入:cmd,然后在命令行模式中输入:tasklist /svc。
系统列出服务列表。
如果使用的是Windows 2000系统则把前面的“tasklist /svc”命令替换为:“tlist -s”即可,查出来后用taskkill杀掉试试。
svchost 是什么进程? WindowsXP 开机提示svchost.exe 出错怎么办?导读: 电脑系统开机自动运行的进程有很多, 很多人对这些进程都不是很了 解。
有用户在 WindowsXP 开机的时候,会出现 Svchost.exe 进程出错的提示,打 开任务管理器发现有好多个Svchost.exe 进程在运行,那么这个Svchost.exe 是什 么进程呢?遇到Svchost.exe ®程出错要如何解决?Svchost.exe 是一个属于微软 Windows 操作系统的系统程序,微软官方对它 的解释是:Svchost.exe 是从动态链接库(DLL )中运行的服务的通用主机进程名 称。
这个程序对系统的正常运行是非常重要,而且是不能被结束的。
Svchost.exe 文件存在于 “%systemoot% system32”(如 C : \Windows\system32)目录下,它 是Windows 系统中核心的重要进程,对于 Windows 2000、Windows XP 来说, 不可或缺。
不同版本的 Windows 系统,存在不同数量的“svchos 进程,用户使 用任务管理器”可查看其进程数目。
例如Windows 2000操作系统至少有2个Svchost 进程,Windows XP 操作系统中有4个以上,Windows 2003操作系统中则 有更多。
Svchost 实际上是一个服务宿主,Svchost 本身并不能给用户提供任何服 务,但是可以用来运行动态链接库 DLL 文件,从而启动对应的服务。
文件® 匮顷迪)查看圧)关机9 帮肋⑪ 应用程序进程 性能丨联网 用尸映慷名称SogonEuplorer. wxmS<?^uEKplorer.S<-gonE^plorer. asSogcuEsplorer. ex'?0 5Vch.Q st 26Q SETWRK SERVICE svchost556 LOCAL stmcs 0use SYSTEM00 svckost(364 HErtfOBK SERVICE 0svchost6K4IT24 SYSTEM00syst era 3 皿朗System Process 0 SYSTEM 70 t££kmgr exe1152 wpt 02 Torwucw. EXE誚充 wps00 TJP1 wps 00 upsvQ.512 SYSTEM 00 winlogoii.饰* IQQ6 SYSTEM 00wps.3280 wps02 VJI回霊示所有用戶的进徨⑤进程數4Z 匚FU 便用:加第解决电脑开机提示svchost.exe 进程出错的问题 方法一:硬件方面引起的问题1、内存条坏了(二手内存情况居多)。
svchost.exe是什么?我们知道 Windows 和 Windows 的应用软件都要使用大量的 DLL(Dynamic Link Libraries,动态链接库)文件,这些 DLL文件一般都要向Windows申请各种各样的Service(服务),而Svchost. exe 就是其中一些服务的通用管理进程名(Generic Host Process Name),简单的说,Svchost.exe是这些服务的总称。
每一个Svchost. exe进程以一个 Group(组)的方式分组管理各种服务,每一个Svchost.exe服务。
Windows XP 中可以有多个Svchost.exe进程同时运行,之所以这样设计是为了更为方便地分类控制和调试各个进程和服务。
Svchost.exe在Windows XP的系统目录\Windows\System32\ 下,在启动的时候,Svchost.exe 根据注册表中的相关信息建立一个服务列表并根据这个列表加载相关的服务。
一般来说,Svchost.exe总是根据 HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\CurrentVersion\Svchost下面的键值分组管理DLL 申请的服务,这里的每一键值对应一个独立的Svchost.exe进程,也就是说这里的键值就是在任务管理器中我们看到的Svchost.exe进程。
当然,由于这里的键值并不是一次性全部加载,而是根据需要才加载,因此这里的键值数要多于在任务管理器中看到的Svchost.exe进程数,而每个Svchost.exe进程所包含的服务名、参数值和DLL则来自HKEY_LOCAL_MACHINE\System\CurrentControlSet\ Services\ Service这个键值。
在任务管理器中只能看到Svchost.exe进程而看不到该进程所包含的服务,要想了解每个Svchost.exe 进程下到底有什么服务就需要使用别的方法。
svchost是什么CPU是电脑的重要组成部分,是不可缺少的角色。
下面是店铺带来的关于svchost是什么的内容,欢迎阅读!svchost是什么:svchost.exe是一个属于微软Windows操作系统的系统程序,微软官方对它的解释是:Svchost.exe 是从动态链接库 (DLL) 中运行的服务的通用主机进程名称。
这个程序对系统的正常运行是非常重要,而且是不能被结束的。
用途说明svchost.exe可以几个同时存在,windows 2000一般有2个svchost进程,一个是RPCSS(Remote Procedure Call)服务进程,另外一个则是由很多服务共享的一个svchost.exe。
而在windows XP 中,则一般有4个以上的svchost.exe服务进程,在XP之后的系统中则更多(WIN7一般是6个,但所有系统中数目都不是绝对的,有时候多一点少一点也是正常现象,是不是病毒也不能杞人忧天,需要用合理的方法来判断),可以看出把更多的系统内置服务以共享进程方式由svchost启动是ms的一个趋势。
这样做在一定程度上减少了系统资源的消耗,不过也带来一定的不稳定因素,因为任何一个共享进程的服务因为错误退出进程就会导致整个进程中的所有服务都退出。
该进程无法用任务管理器终止,如果用工具强制终止会立刻得到提示并自动关机(如果没有,说明该进程有问题,但不要轻易尝试终止这个进程!)。
另外,有很多的windows7(64位)系统中,系统盘下的SysWOW64文件夹(位于Windows文件夹内)内存在一个svchost.exe,即使有也不必惊慌,没有任何证据表明这是一个可疑的文件,大多安全工具都没有指出它有问题,而且它拥有完整的信息(版本号、公司等等),这应该是一个系统进程,因此不必担心。
文件信息以下信息均来自于文件网,请不要随便添加来自某些下载网站的蹩脚介绍误导他人![1] 注释: svchost.exe是一类通用的进程名称。
svchost命令参数svchost命令参数是指在Windows操作系统上运行的一个系统进程,它负责承载和管理多个系统服务。
通过使用不同的参数,可以对svchost进程进行配置和管理,以满足特定的需求和优化系统性能。
一、-k参数svchost命令中的-k参数用于指定服务组的名称。
服务组是一组具有相同功能的系统服务,它们将由同一个svchost进程承载和管理。
通过使用-k参数,可以指定需要承载和管理的服务组,从而实现对系统服务的灵活配置。
例如,使用以下命令指定服务组为netsvcs:svchost -k netsvcs二、-s参数svchost命令中的-s参数用于指定需要启动的服务名称。
通过使用-s参数,可以直接指定需要启动的系统服务,而不需要通过服务组的方式进行管理。
例如,使用以下命令启动服务名称为wuauserv的系统服务:svchost -s wuauserv三、-p参数svchost命令中的-p参数用于指定进程ID的输出格式。
通过使用-p 参数,可以选择以十进制或十六进制形式输出进程ID。
例如,使用以下命令以十六进制形式输出进程ID:svchost -p hex四、-t参数svchost命令中的-t参数用于指定输出服务的线程数。
通过使用-t 参数,可以查看特定服务所使用的线程数,从而了解系统服务的运行情况。
例如,使用以下命令查看服务名称为wuauserv的系统服务所使用的线程数:svchost -t wuauserv五、-a参数svchost命令中的-a参数用于显示所有正在运行的svchost进程及其相关的服务信息。
通过使用-a参数,可以获取系统当前正在运行的所有svchost进程的信息,包括进程ID、服务组、启动类型等。
六、-m参数svchost命令中的-m参数用于显示特定DLL文件加载的svchost进程信息。
通过使用-m参数,可以查看指定DLL文件加载的svchost 进程的信息,包括进程ID、服务组、启动类型等。
揭开SVCHOST.exe进程之谜svchost.exe是nt核心系统的非常重要的进程,对于2000、xp来说,不可或缺。
很多病毒、木马也会调用它。
所以,深入了解这个程序,是玩电脑的必修课之一。
svchost.exe是nt核心系统的非常重要的进程,对于2000、xp来说,不可或缺。
很多病毒、木马也会调用它。
所以,深入了解这个程序,是玩电脑的必修课之一。
大家对windows操作系统一定不陌生,但你是否注意到系统中“svchost.exe”这个文件呢?细心的朋友会发现windows中存在多个“svchost”进程(通过“ctrl+alt+del”键打开任务管理器,这里的“进程”标签中就可看到了),为什么会这样呢?下面就来揭开它神秘的面纱。
发现在基于nt内核的windows操作系统家族中,不同版本的windows系统,存在不同数量的“svchost”进程,用户使用“任务管理器”可查看其进程数目。
一般来说,win2000有两个svchost进程,winxp中则有四个或四个以上的svchost 进程(以后看到系统中有多个这种进程,千万别立即判定系统有病毒了哟),而win2003 server中则更多。
这些svchost进程提供很多系统服务,如:rpcss服务(remote procedure call)、dmserver服务(logical disk manager)、dhcp 服务(dhcp client)等。
如果要了解每个svchost进程到底提供了多少系统服务,可以在win2000的命令提示符窗口中输入“tlist -s”命令来查看,该命令是win2000 support tools提供的。
在winxp则使用“tasklist /svc”命令。
svchost中可以包含多个服务深入windows系统进程分为独立进程和共享进程两种,“svchost.exe”文件存在于“%systemroot% system32”目录下,它属于共享进程。
windows任务管理器各进程详解Win2000/XP 的任务管理器是一个非常有用的工具,它能提供我们很多信息,比如现在系统中运行的程序(进程),但是面对那些文件可执行文件名我们可能有点茫然,不知道它们是做什么的,会不会有可疑进程(病毒,木马等)。
本文的目的就是提供一些常用的Win2000/XP 中的进程名,并简单说明它们的用处。
在W2K/XP中,同时按下crtl+shift+Esc键,可以打开Windows任务管理器,单击“进程”,可以看到很多正在运行的进程,仔细看看有很多奇怪的EXE文件在运行?下面这些并不是真正的服务,而是在不同情况下运行的程序或进程,很多还是必需的进程。
【Csrss】:这是Windows的核心部份之一,全称为Client Server Process。
我们不能结束该进程。
这个只有4K的进程经常消耗3MB到6MB左右的内存,建议不要修改此进程,让它运行好了。
【Ctfmon】:这是安装了WinXP(尤其是安装ofice XP)后,在桌面右下角显示的“语言栏”,如果不希望它出现,可通过下面的步骤取消:双击“控制面板”,“区域和语言设置”,单击“语言”标签,单击“详细信息”按钮,打开“文字服务和输入语言”对话框,单击下面“首选项”的“语言栏”按钮,打开“语言栏设置”对话框,取消“在桌面上显示语言栏”的勾选即可。
不要小看这个细节,它会为你节省1.5MB到4MB的内存。
【dovldr32】:如果你有一个Creative SBLive系列的声卡,就可能击现这个进程,它占用大约2.3MB到2.6MB的内存。
有些奇怪的是,当我从任务栏禁止了这个进程后,通过DVD实验,并没有发生任何错误。
但如果你将这个文件重新命名了,就会出现windows的文件保护警告窗口,而且Creative Mixer和AudioHQ程序加载出错。
当然你希望节省一些内存,那么可以将它禁止。
【explorer】:这可不是Internet Explorer,explorer.exe总是在后台运行,它控制着标准的用户界面、进程、命令和桌面等,如果打开“任务管理器”,就会看到一个explorer.exe 在后台运行。
Windows操作系统中Svchost进程功能揭秘
南方网讯在基于NT内核的Windows操作系统家族中,Svchost.exe是一个非常重要的进程。
很多病毒、木马驻留系统与这个进程密切相关,因此深入了解该进程是非常有必要的。
本文主要介绍Svchost进程的功能,以及与该进程相关的知识。
Svchost进程概述
微软对“Svchost进程”的定义是:Svchost.exe是从动态链接库(DLL)中运行的服务的通用主机进程名称。
Svchost.exe文件位于“%SystemRoot%\System32”文件夹中。
当系统启动时,Svchost将检查注册表中的服务部分,以构建需要加载的服务列表。
Svchost的多个实例可以同时运行。
每个Svchost会话可以包含一组服务,以便根据Svchost的启动方式和位置的不同运行不同的服务,这样可以更好地进行控制且更加便于调试。
Svchost组是由注册表[HKEY_LOCAL_MACHINE\ Software\Microsoft\Windows
NT\CurrentVersion\Svchost]项来识别的。
在这个注册表项下的每个值都代表单独的Svchost组,并在我们查看活动进程时作为单独的实例显示。
这里的键值均为REG_MULTI_SZ 类型的值,并且包含该Svchost组里运行的服务名称(如图1)。
实际上,Svchost只是作为服务的宿主,本身并不实现什么功能。
如果需要使用Svchost 来启动某个DLL形式实现的服务,该DLL的载体Loader指向Svchost,在启动服务的时候由Svchost调用该服务的DLL来实现启动的目的。
使用Svchost启动某个服务的DLL文件是由注册表中的参数来决定的,在需要启动服务的注册表项下都有一个“Parameters”子项,其中的“ServiceDll”键值表明该服务由哪个DLL文件负责,并且这个DLL文件必须导出一个ServiceMain()函数,为处理服务任务提供支持。
提示:不同版本的Windows系统,存在不同数量的Svchost进程。
一般来说,Windows 2000有两个Svchost进程,而Windows XP则有四个或四个以上的Svchost进程。
Svchost进程实例讲解
要想查看在Svchost中运行服务的列表,可以在Windows XP命令提示符窗口中输入“Tasklist /svc”命令后,回车执行(如果使用的是Windows 2000,可用Support Tools 提供的Tlist工具查看,命令为“Tlist -s”)。
Tasklist命令显示活动进程的列表,/svc 命令开关指定显示每个进程中活动服务的列表。
从图中可以看到,Svchost进程启动很多系统服务,如:RpcSs(Remote Procedure Call)、Dhcp(DHCP Client)、Netman(Network Connections)服务等等(如图2)。
这里我们以RpcSs服务为例,来具体了解一下Svchost进程与服务的关系。
运行Regedit,打开注册表编辑器,依次展开[HKEY_LOCAL_MACHINE\SYSTEM\
CurrentControlSet\Services\RpcSs ]分支,在“Parameters”子项中有个名为“ServiceDll”的键,其值为“%SystemRoot%\system32\rpcss.dll”。
这表示系统启动RpcSs 服务时,调用“%SystemRoot%\system32”目录下的Rpcss.dll动态链接库文件。
接下来,从控制面板中依次双击“管理工具→服务”,打开服务控制台。
在右侧窗格中双击“Remote Procedure Call(RPC)”服务项,打开其属性对话框,可以看到RpcSs服务的可执行文件的路径为“C:\Windows\system32\svchost -k rpcss”,这说明RpcSs服务是依靠Svchost启动的,“-k rpcss”表示此服务包含在Svchost的Rpcss服务组中。
Svchost进程木马浅析
从前面的介绍我们已经知道,在注册表
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\Current- Version\Svchost]分支中,存放着Svchost启动的组和组内的各项服务,很多木马和病毒正是利用这一点来实现自动加载的。
它们通常的方法有:
·添加一个新的组,在组里添加服务名;
·在现有的组里添加服务名或者利用现有组一个未安装的服务;
·修改现有组里的服务,将它的ServiceDll指向自己的DLL文件。
例如PortLess BackDoor就是一款典型的利用Svchost进程加载的后门工具。
那么对于像PortLess BackDoor这样的木马、病毒,该如何检测并清除呢?以Windows XP为例,首先我们可以利用“进程间谍”这样的进程工具查看Svchost进程中的模块信息(如图3),并与之前的模块信息比较,可以发现Svchost进程中有一个可疑的DLL文件“SvchostDLL.dll”。
同时,在“管理工具→服务”列表中会看到一项新的服务“Intranet Services”(显示名称),此服务名称为:Iprip,由Svchost启动,“-k netsvcs”表示此服务包含在Netsvcs服务组中。
提示:在Windows 2000中,系统的Iprip服务侦听由使用Routing Information协议版本1(RIPv1)的路由器发送的路由更新信息,在服务列表中显示的名称为“RIP Listener”。
运行Regedit,打开注册表编辑器,展开
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\
Services\IPRIP]分支,查看其“Parameters”子项,其中“ServiceDll”键值指向调用的DLL文件路径和全称,这正是后门的DLL文件。
知道了这些,就可以动手清除了:在服务列表用右键单击“Intranet Services”服务,从菜单中选择“停止”,然后在上述注册表分支中删除“Iprip”项。
重新启动计算机,再按照“ServiceDll”键值提示的位置删除后门程序主文件即可。
最后需要提醒读者的是,对注册表进行修改前,应做好备份工作,以便出现错误时能够及时还原。
图1 注册表中的Svchost
图2 Svchost的服务列表
图3 Svchost进程中的模块信息。