欢迎来到天天文库
浏览记录
ID:6082672
大小:176.50 KB
页数:6页
时间:2018-01-02
《全面认识svchost.exe进程》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Windows2000是WindowsNT4.0的后续,它一共有4个版本,即Windows2000Professional、Windows2000Server、Windows2000AdvancedServer和Windows2000DatacenterServer,t它们的差别在于功能以及支持的CPU、RAM数量上的不同。版本类型支持的CPU数目支持的RAM数目适用的环境Windows2000Professional桌面客户机24GB网络用户端操作平台Windows2000Server网络服务器44GB小型网络服务器操作平台Windows2000Advance
2、dServer网络服务器88GB中型网络服务器操作平台Windows2000DatacenterServer网络服务器3264GB大型资料库、数据存储系统服务器操作平台备注:Windows2000主要支持三种不同的文件系统:FAT(FileAllocationTable)、FAT32和NTFS(NewTechnologyFileSystem),一般建议选择NTFS文件系统。(想想为什么?)全面认识Svchost.exe进程来源:360安全中心 很多朋友对svchost.exe进程都不太了解,有时在任务管理器中一旦看到有多个该进程(图1中有6个),就以为自己的电
3、脑中了病毒或木马,其实并非如此!正常情况下,windows中可以有多个svchost.exe进程同时运行,例如Windows2000至少有2个Svchost进程,WindowsXP中有4个以上,Windows2003中则有更多,所以当你看到多个svchost进程时,未必就是病毒! svchost.exe进程是干什么的?svchost.exe文件存在于“%systemroot%system32”(例如C:Windowssystem32)目录下,它是WindowsNT核心的重要进程(Windows9X没有该进程),专门为系统启动各种服务的。例如Svcho
4、st.exe调用rpcss.dll文件,就会启动rpcss服务(remoteprocedurecall)。svchost.exe实际上是一个服务宿主,它本身并不能给用户提供任何服务,但是可以用来运行动态链接库DLL文件,从而启动对应的服务。Svchost.exe进程可以同时启动多个服务。svchost是如何启动系统服务的?由于系统服务都是以动态链接库(DLL)形式实现的,它们把可执行程序指向svchost,因此svchost只要调用某个动态链接库,即可启动对应的服务。那么svchost启动某服务时,又是如何知道应该调用哪个动态链接库?这是由于系统服务在注册表中都
5、设置了相关参数,因此svchost通过读取某服务在注册表中的信息,即可知道应该调用哪个动态链接库,从而启动该服务。下面我们以svchost启动helpsvc(HelpandSupport)服务为例,介绍其启动服务的方法。在WindowsXP中点击“开始”“运行”,输入“services.msc”命令,弹出服务对话框,然后双击打开“HelpandSupport”服务属性对话框,可以看到helpsvc服务的可执行文件的路径为“C:WINDOWSSystem32svchost.exe-knetsvcs”(如图2),说明helpsvc服务是依靠SVCHOST调用“
6、netsvcs”参数来实现的,而参数的内容则是存放在系统注册表中的。 在运行对话框中输入“regedit.exe”后回车,打开注册表编辑器,找到[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServiceshelpsvc]项,找到类型为“REG_EXPAND_SZ”的键“magePath”,其键值为“%SystemRoot%System32svchost.exe-knetsvcs”(这就是在服务窗口中看到的服务启动命令),另外在“Parameters”子项中有个名为“ServiceDll”的键,其值为“%WIN
7、DIR%PCHealthHelpCtrBinariespchsvc.dll”,其中“pchsvc.dll”就是helpsvc服务要使用的动态链接库文件。这样SVCHOST进程通过读取“helpsvc”服务注册表信息,就能启动该服务了。svchost到底启动了哪些服务?如果你想了解每个SVCHOST进程当前到底提供了哪些系统服务,可以在命令提示符下输入命令来查看。例如在WindowsXP中,打开“命令提示符”,键入tasklist/svc命令查看;在Windows2000中,则输入“Tlist-S”命令来查看。如果你在WindowsXP中,想得到所有进程的
8、详细信息,可以打开“命令
此文档下载收益归作者所有