您的位置:網(wǎng)站首頁(yè) > 電器維修資料網(wǎng) > 正文 >
認(rèn)識(shí)什么是svchost.exe
★★★★★【文章導(dǎo)讀】:認(rèn)識(shí)什么是svchost.exe具體內(nèi)容是:發(fā)現(xiàn)在基于nt內(nèi)核的windows操作系統(tǒng)家族中,不同版本的windows系統(tǒng),存在不同數(shù)量的“svchost”進(jìn)程,用戶使用“任務(wù)管理器”可查看其進(jìn)程數(shù)目。一般來(lái)說(shuō),win2000有兩個(gè)svchost進(jìn)程,winxp中則…
來(lái)源: 日期:2013-12-23 23:43:15 人氣:標(biāo)簽:
發(fā)現(xiàn)
在基于nt內(nèi)核的windows操作系統(tǒng)家族中,不同版本的 windows系統(tǒng),存在不同數(shù)量的“svchost”進(jìn)程,用戶使用“ 任務(wù)管理器”可查看其進(jìn)程數(shù)目。一般來(lái)說(shuō),win2000有兩個(gè) svchost進(jìn)程,winxp中則有四個(gè)或四個(gè)以上的svchost進(jìn)程,而 win2003 server中則更多。這些svchost進(jìn)程提供很多系統(tǒng)服務(wù),如: rpcss服務(wù)(remote procedure call)、dmserver服務(wù)(logICal disk manager)、dhcp服務(wù) (dhcp client)等。
如果要了解每個(gè)svchost進(jìn)程到底提供了多少系統(tǒng)服務(wù), 可以在win2000的命令提示符窗口中輸入“tlist -s”命令來(lái)查 看,該命令是win2000 support tools提供的。在winxp則使用“tasklist /svc”命令 。
svchost中可以包含多個(gè)服務(wù)
深入
windows系統(tǒng)進(jìn)程分為獨(dú)立進(jìn)程和共享進(jìn)程兩種, “svchost.exe”文件存在于“%systemroot% system32”目錄下,它屬于共享進(jìn)程。隨著windows系統(tǒng)服務(wù)不 斷增多,為了節(jié)省系統(tǒng)資源,微軟把很多服務(wù)做成共享方式, 交由 svchost.exe進(jìn)程來(lái)啟動(dòng)。但svchost進(jìn)程只作為服務(wù)宿主,并 不能實(shí)現(xiàn)任何服務(wù)功能,那這些服務(wù)是如何實(shí)現(xiàn)的呢?
原來(lái)這些系統(tǒng)服務(wù)是以動(dòng)態(tài)鏈接庫(kù)(dll)形式實(shí)現(xiàn)的 ,它們把可執(zhí)行程序指向 svchost,由svchost調(diào)用相應(yīng)服務(wù)的動(dòng)態(tài)鏈接庫(kù)來(lái)啟動(dòng)服務(wù)。 那svchost又怎么知道某個(gè)系統(tǒng)服務(wù)該調(diào)用哪個(gè)動(dòng)態(tài)鏈接庫(kù)呢? 這是通過(guò)系統(tǒng)服務(wù)在注冊(cè)表中設(shè)置的參數(shù)來(lái)實(shí)現(xiàn)。下面來(lái)說(shuō)說(shuō) rpcss(remote procedure call)服務(wù)的例子吧。
從啟動(dòng)參數(shù)中可見服務(wù)是靠svchost來(lái)啟動(dòng)的。
實(shí)例
以windows xp為例,點(diǎn)擊“開始”/“運(yùn)行”,輸入 “services.msc”命令,彈出服務(wù)對(duì)話框,然后打開“remote procedure call”屬性對(duì)話框,可以看到rpcss服務(wù)的可執(zhí)行文件的路徑為 “c:windowssystem32svchost -k rpcss”,這說(shuō)明rpcss服務(wù)是依靠svchost調(diào)用“rpcss”參數(shù) 來(lái)實(shí)現(xiàn)的,而參數(shù)的內(nèi)容則是存放在系統(tǒng)注冊(cè)表中的。
在運(yùn)行對(duì)話框中輸入“regedit.exe”后回車,打開注 冊(cè)表編輯器,找到[hkey_LOCal_machine systEMCurreNTControlsetservicesrpcss]項(xiàng),找到類型為 “reg_expand_sz”的鍵“magepath”,其鍵值為“% systemroot%system32svchost -k rpcss”(這就是在服務(wù)窗口中看到的服務(wù)啟動(dòng)命令),另 外在“parameters”子項(xiàng)中有個(gè)名為“servicedll”的鍵,其 值為“% systemroot%system32rpcss.dll”,其中“rpcss.dll”就是 rpcss服務(wù)要使用的動(dòng)態(tài)鏈接庫(kù)文件。這樣 svchost進(jìn)程通過(guò)讀取“rpcss”服務(wù)注冊(cè)表信息,就能啟動(dòng)該 服務(wù)了。
解惑
因?yàn)閟vchost進(jìn)程啟動(dòng)各種服務(wù),所以病毒、木馬也想 盡辦法來(lái)利用它,企圖利用它的特性來(lái)迷惑用戶,達(dá)到感染、 入侵、破壞的目的(如沖擊波變種病毒“w32.welchia.worm” )。但windows系統(tǒng)存在多個(gè)svchost進(jìn)程是很正常的,在受感 染的機(jī)器中到底哪個(gè)是病毒進(jìn)程呢?這里僅舉一例來(lái)說(shuō)明。
假設(shè)windows xp系統(tǒng)被“w32.welchia.worm”感染了。正常的svchost文件存 在于“c:windowssystem32”目錄下,如果發(fā)現(xiàn)該文件出現(xiàn)在其 他目錄下就要小心了。“w32.welchia.worm”病毒存在于 “c:windowssystem32wins”目錄中,因此使用進(jìn)程管理器查看 svchost進(jìn)程的執(zhí)行文件路徑就很容易發(fā)現(xiàn)系統(tǒng)是否感染了病毒 。
windows系統(tǒng)自帶的任務(wù)管理器不能夠查看進(jìn)程的路徑,可以使 用第三方進(jìn)程管理軟件,如“windows優(yōu)化大師”進(jìn)程管理器, 通過(guò)這些工具就可很容易地查看到所有的svchost進(jìn)程的執(zhí)行文 件路徑,一旦發(fā)現(xiàn)其執(zhí)行路徑為不平常的位置就應(yīng)該馬上進(jìn)行 檢測(cè)和處理。
【看看這篇文章在百度的收錄情況】