svchost.exe

進程文件: svchost or svchost.exe

進程名稱: Microsoft Service Host Process

進程類別:其他進程

英文描述:

svchost.exe is a system process belonging to the Microsoft Windows Operating System which handles processes executed from DLLs. This program is important for the stable and secure running of your computer and should not be terminated. Note: svchost.

中文參考:

svchost.exe是一個屬於微軟Windows操作系統的系統程序,用於執行DLL文件。這個程序對你係統的正常運行是非常重要的。注意:svchost.exe也有可能是W32.Welchia.Worm病毒,它利用Windows LSASS漏洞,製造緩衝區溢出,導致你計算機關機。更多詳細信息參考:http://www.microsoft.com/technet/security/bulletin/ms04-011.mspx   ,該進程的安全等級是建議立即刪除。

出品者:Microsoft Corp.

屬於:Microsoft Windows Operating System

系統進程:Yes

後臺程序:Yes

網絡相關:Yes

常見錯誤:N/A

內存使用:N/A

安全等級 (0-5): 0

間諜軟件:No

廣告軟件:No

病毒:No

***:No

發現

在基於nt內核的windows操作系統家族中,不同版本的windows系統,存在不同數量的“svchost”進程,用戶使用“任務管理器”可查看其進程數目。一般來說,win2000有兩個svchost進程,winxp中則有四個或四個以上的svchost進程(以後看到系統中有多個這種進程,千萬別立即判定系統有病毒了喲),而win2003server中則更多。這些svchost進程提供很多系統服務,如:rpcss服務(remoteprocedurecall)、dmserver服務(logicaldiskmanager)、dhcp服務(dhcpclient)等。

如果要了解每個svchost進程到底提供了多少系統服務,可以在win2000的命令提示符窗口中輸入“tlist-s”命令來查看,該命令是win2000supporttools提供的。在winxp則使用“tasklist/svc”命令。

svchost中可以包含多個服務

深入

windows系統進程分爲獨立進程和共享進程兩種,“svchost.exe”文件存在於“%systemroot%system32”目錄下,它屬於共享進程。隨着windows系統服務不斷增多,爲了節省系統資源,微軟把很多服務做成共享方式,交由svchost.exe進程來啓動。但svchost進程只作爲服務宿主,並不能實現任何服務功能,即它只能提供條件讓其他服務在這裏被啓動,而它自己卻不能給用戶提供任何服務。那這些服務是如何實現的呢?

原來這些系統服務是以動態鏈接庫(dll)形式實現的,它們把可執行程序指向svchost,由svchost調用相應服務的動態鏈接庫來啓動服務。那svchost又怎麼知道某個系統服務該調用哪個動態鏈接庫呢?這是通過系統服務在註冊表中設置的參數來實現。下面就以rpcss(remoteprocedurecall)服務爲例,進行講解。

從啓動參數中可見服務是靠svchost來啓動的。

實例

以windowsxp爲例,點擊“開始”/“運行”,輸入“services.msc”命令,彈出服務對話框,然後打開“remoteprocedurecall”屬性對話框,可以看到rpcss服務的可執行文件的路徑爲“c:\windows\system32\svchost-krpcss”,這說明rpcss服務是依靠svchost調用“rpcss”參數來實現的,而參數的內容則是存放在系統註冊表中的。

在運行對話框中輸入“regedit.exe”後回車,打開註冊表編輯器,找到[hkey_local_machinesystemcurrentcontrolsetservicesrpcss]項,找到類型爲“reg_expand_sz”的鍵“magepath”,其鍵值爲“%systemroot%system32svchost-krpcss”(這就是在服務窗口中看到的服務啓動命令),另外在“parameters”子項中有個名爲“servicedll”的鍵,其值爲“%systemroot%system32rpcss.dll”,其中“rpcss.dll”就是rpcss服務要使用的動態鏈接庫文件。這樣svchost進程通過讀取“rpcss”服務註冊表信息,就能啓動該服務了。

解惑

因爲svchost進程啓動各種服務,所以病毒、***也想盡辦法來利用它,企圖利用它的特性來迷惑用戶,達到感染、***、破壞的目的(如衝擊波變種病毒“w32.welchia.worm”)。但windows系統存在多個svchost進程是很正常的,在受感染的機器中到底哪個是病毒進程呢?這裏僅舉一例來說明。

假設windowsxp系統被“w32.welchia.worm”感染了。正常的svchost文件存在於“c:\windows\system32”目錄下,如果發現該文件出現在其他目錄下就要小心了。“w32.welchia.worm”病毒存在於“c:\windows\system32wins”目錄中,因此使用進程管理器查看svchost進程的執行文件路徑就很容易發現系統是否感染了病毒。windows系統自帶的任務管理器不能夠查看進程的路徑,可以使用第三方進程管理軟件,如“windows優化大師”進程管理器,通過這些工具就可很容易地查看到所有的svchost進程的執行文件路徑,一旦發現其執行路徑爲不平常的位置就應該馬上進行檢測和處理。

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
=========================================================
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Svchost.exe說明解疑對Svchost的困惑
---------------
2006年12月21日
Svchost.exe文件對那些從動態連接庫中運行的服務來說是一個普通的主機進程名。Svhost.exe文件定位在系統的%systemroot%\system32文件夾下。在啓動的時候,Svchost.exe檢查註冊表中的位置來構建需要加載的服務列表。這就會使多個Svchost.exe在同一時間運行。每個Svchost.exe的回話期間都包含一組服務,以至於單獨的服務必須依靠Svchost.exe怎樣和在那裏啓動。這樣就更加容易控制和查找錯誤。
.
Svchost.exe 組是用下面的註冊表值來識別。
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Svchost
每個在這個鍵下的值代表一個獨立的Svchost組,並且當你正在看活動的進程時,它顯示作爲一個單獨的例子。每個鍵值都是REG_MULTI_SZ類型的值而且包括運行在Svchost組內的服務。每個Svchost組都包含一個或多個從註冊表值中選取的服務名,這個服務的參數值包含了一個ServiceDLL值。
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Service
.
.
更多的信息
.
爲了能看到正在運行在Svchost列表中的服務。
開始-運行-敲入cmd
然後在敲入 tlist -s (tlist 應該是win2k工具箱裏的東東)
Tlist 顯示一個活動進程的列表。開關 -s 顯示在每個進程中的活動服務列表。如果想知道更多的關於進程的信息,可以敲 tlist pid。
Tlist 顯示Svchost.exe運行的兩個例子。
0 System Process
8 System
132 smss.exe
160 csrss.exe Title:
180 winlogon.exe Title: NetDDE Agent
208services.exe
Svcs: AppMgmt,Browser,Dhcp,dmserver,Dnscache,Eventlog,lanmanserver,LanmanWorkst
ation,LmHosts,Messenger,PlugPlay,ProtectedStorage,seclogon,TrkWks,W32Time,Wmi
220 lsass.exe Svcs: Netlogon,PolicyAgent,SamSs
404 svchost.exe Svcs: RpcSs
452 spoolsv.exe Svcs: Spooler
544 cisvc.exe Svcs: cisvc
556 svchost.exe Svcs: EventSystem,Netman,NtmsSvc,RasMan,SENS,TapiSrv
580 regsvc.exe Svcs: RemoteRegistry
596 mstask.exe Svcs: Schedule
660 snmp.exe Svcs: SNMP
728 winmgmt.exe Svcs: WinMgmt
852 cidaemon.exe Title: OleMainThreadWndName
812 explorer.exe Title: Program Manager
1032 OSA.EXE Title: Reminder
1300 cmd.exe Title: D:\WINNT5\System32\cmd.exe - tlist -s
1080 MAPISP32.EXE Title: WMS Idle
1264 rundll32.exe Title:
1000 mmc.exe Title: Device Manager
1144 tlist.exe
在這個例子中註冊表設置了兩個組。
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Svchost:
netsvcs: Reg_Multi_SZ: EventSystem Ias Iprip Irmon Netman Nwsapagent RasautoRa
sman Remoteaccess SENS Sharedaccess Tapisrv Ntmssvc
rpcss :Reg_Multi_SZ: RpcSs
smss.exe
csrss.exe
這個是用戶模式Win32子系統的一部分。csrss代表客戶/服務器運行子系統而且是一個基本的子系統必須一直運行。csrss 負責控制windows,創建或者刪除線程和一些16位的虛擬MS-DOS環境。
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章