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系統服務不斷增多,為了節省系統資源,微軟把很多服務做成共享方式,交由 svchost.exe進程來啟動。但svchost進程只作為服務宿主,并不能實現任何服務功能,即它只能提供條件讓其他服務在這里被啟動,而它自己卻不能給用戶提供任何服務。那這些服務是如何實現的呢?
原來這些系統服務是以動態鏈接庫(dll)形式實現的,它們把可執行程序指向 svchost,由svchost調用相應服務的動態鏈接庫來啟動服務。那svchost又怎么知道某個系統服務該調用哪個動態鏈接庫呢?這是通過系統服務在注冊表中設置的參數來實現。下面就以rpcss(remote procedure call)服務為例,進行講解。
從啟動參數中可見服務是靠svchost來啟動的。
實例
以windows xp為例,點擊“開始”/“運行”,輸入“services.msc”命令,彈出服務對話框,然后打開“remote procedure call”屬性對話框,可以看到rpcss服務的可執行文件的路徑為“c:\windows\system32\svchost -k rpcss”,這說明rpcss服務是依靠svchost調用“rpcss”參數來實現的,而參數的內容則是存放在系統注冊表中的。
在運行對話框中輸入“regedit.exe”后回車,打開注冊表編輯器,找到[hkey_local_machine systemcurrentcontrolsetservicesrpcss]項,找到類型為“reg_expand_sz”的鍵“magepath”,其鍵值為“%systemroot%system32svchost -k rpcss”(這就是在服務窗口中看到的服務啟動命令),另外在“parameters”子項中有個名為“servicedll”的鍵,其值為“% systemroot%system32rpcss.dll”,其中“rpcss.dll”就是rpcss服務要使用的動態鏈接庫文件。這樣 svchost進程通過讀取“rpcss”服務注冊表信息,就能啟動該服務了。
解惑
因為svchost進程啟動各種服務,所以病毒、木馬也想盡辦法來利用它,企圖利用它的特性來迷惑用戶,達到感染、入侵、破壞的目的(如沖擊波變種病毒“w32.welchia.worm”)。但windows系統存在多個svchost進程是很正常的,在受感染的機器中到底哪個是病毒進程呢?這里僅舉一例來說明。
假設windows xp系統被“w32.welchia.worm”感染了。正常的svchost文件存在于“c:\windows\system32”目錄下,如果發現該文件出現在其他目錄下就要小心了。“w32.welchia.worm”病毒存在于“c:\windows\system32wins”目錄中,因此使用進程管理器查看svchost進程的執行文件路徑就很容易發現系統是否感染了病毒。windows系統自帶的任務管理器不能夠查看進程的路徑,可以使用第三方進程管理軟件,如“windows優化大師”進程管理器,通過這些工具就可很容易地查看到所有的svchost進程的執行文件路徑,一旦發現其執行路徑為不平常的位置就應該馬上進行檢測和處理。
由于篇幅的關系,不能對svchost全部功能進行詳細介紹,這是一個windows中的一個特殊進程,有興趣的可參考有關技術資料進一步去了解它
-----------------------------------------------------
Shutdown
Shutdown使您能夠一次關閉或重新啟動一臺本地或遠程計算機。Windows XP的關機是由Shutdown.exe程序來控制的,位于Windows\System32文件夾中
。在Windows 2000中是沒有該程序的,如果想讓Windows 2000也實現同樣的效果,可以把Shutdown.exe復制到系統目錄下。使用方法:比如你的電腦要在22:00關機,可以選擇“開始→運行”,輸入“at 22:00 Shutdown -s”,這樣,到了22點電腦就會出現“系統關機”對話框,默認有30秒鐘的倒計時并提示你保存工作。如果你想以倒計時的方式關機,可以輸入 “Shutdown.exe -s -t 3600”,這里表示60分鐘后自動關機,“3600”代表60分鐘。
語法:
shutdown [/i | /l | /s | /r | /a | /p | /h | /e] [/f] [/m \\ComputerName] [/t XXX] [/d [p:]XX:YY/c"Comment"]
參數
/i : 顯示“遠程關機對話框”。/i 選項必須是鍵入的第一個參數,之后的所有參數都將被忽略。
/l : 立即注銷當前用戶,沒有超時期限。不能將 /l 與 /m \\ComputerName 或 /t 一起使用。
/s : 關閉計算機。
/r : 關機后重新啟動計算機。
/a : 取消關機操作(僅在超時期限內有效)。a 參數僅可以與 /m \\ComputerName 一起使用。
/p : 僅關閉本地計算機(而不是遠程計算機),沒有超時期或警告。/p 只能和 /d 一起使用。如果您的計算機不支持關閉電源功能,使用 /p 將關閉系統但不會切斷您的計算機電源。
/h : 使本地計算機處于休眠狀態(如果已啟用休眠)。僅可將 h 與 /f 一起使用。
/e : 允許在目標計算機上記錄意外關機原因。
/f : 強制關閉正在運行的應用程序而不提前警告用戶。
警告
• 使用 /f 選項可能導致未保存的數據丟失。
•/m \\ComputerName :指定目標計算機。不能與 /l 選項一同使用。
/t XXX : 將重新啟動或關機前超時期限或延遲設置為 XXX 秒會使得在本地控制臺顯示一條警告信息。您可以指定的范圍為 0 - 600 秒。如果省略 /t,則默認超時期限為 30 秒。
/d [p:]XX:YY : 列出系統重新啟動、關機或關閉電源的原因。下表描述了參數值。
說明:
p: 表示重新啟動或關機是已計劃的。如果您不使用 p:選項,關機事件跟蹤程序假設未計劃重新啟動或關機。
XX: 指定主要原因代碼 (0-255)。
YY: 指定次要原因代碼 (0-65535)。
/c"Comment" :使您可以對關機原因做出詳細注釋。必須首先使用 /d 選項提供一個原因。必須將注釋引在引號中。最多可以使用 511 個字符。
/? :在命令提示符下顯示幫助,包括在本地計算機上定義的主要原因和次要原因的列表。只鍵入 shutdown 而不帶任何參數也可以顯示幫助。
注釋
• 必須為用戶授予關閉系統的用戶權利,該用戶才能使用 shutdown 命令關閉本地或遠程管理的計算機。詳細信息,請參閱“相關主題”中的“訪問控制概述”和“特權”。
• 用戶必須是 Administrators 組的成員才能對本地或遠程管理的計算機的意外關機進行批注。如果目標計算機已加入某個域,則 Domain Admins 組的成員可能會執行該過程。詳細信息,請參閱默認本地組和默認組。
• 如果希望一次關閉多臺計算機,可針對每臺計算機使用腳本來調用 shutdown,或者可使用 shutdown /i 顯示遠程關機對話框。
• 一旦指定了主要和次要原因代碼,您必須首先為計劃使用某種特定原因的每個計算機定義那些原因代碼。如果目標計算機上沒有定義原因代碼,關閉事件跟蹤程序將無法記錄正確的原因文本。
• 切記使用 p: 參數指出關機是計劃關機。省略 p:表示關機是非計劃關機。如果鍵入 p:,后面跟著非計劃關機的原因代碼,命令將不會執行關機。相反,如果省略 p:并為計劃關機鍵入原因代碼,命令也不會執行關機。
示例
要強制讓應用程序在一分鐘延遲后關閉并重新打開本地計算機,并注明原因是“應用程序:維護(計劃內)”,注釋內容為“重新配置 myapp.exe”,請鍵入:
shutdown /r /t 60 /c "Reconfiguring myapp.exe" /f /d p:4:1
要使用相同的參數重新啟動遠程計算機 \\ServerName,請鍵入:
shutdown /r /m \\servername /t 60 /c "Reconfiguring myapp.exe" /f /d p:4:1
柴油發電機
發電機
柴油機
柴油發電機
13636374743(上海)
13291526067(嘉興)
大家對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系統服務不斷增多,為了節省系統資源,微軟把很多服務做成共享方式,交由 svchost.exe進程來啟動。但svchost進程只作為服務宿主,并不能實現任何服務功能,即它只能提供條件讓其他服務在這里被啟動,而它自己卻不能給用戶提供任何服務。那這些服務是如何實現的呢?
原來這些系統服務是以動態鏈接庫(dll)形式實現的,它們把可執行程序指向 svchost,由svchost調用相應服務的動態鏈接庫來啟動服務。那svchost又怎么知道某個系統服務該調用哪個動態鏈接庫呢?這是通過系統服務在注冊表中設置的參數來實現。下面就以rpcss(remote procedure call)服務為例,進行講解。
從啟動參數中可見服務是靠svchost來啟動的。
實例
以windows xp為例,點擊“開始”/“運行”,輸入“services.msc”命令,彈出服務對話框,然后打開“remote procedure call”屬性對話框,可以看到rpcss服務的可執行文件的路徑為“c:\windows\system32\svchost -k rpcss”,這說明rpcss服務是依靠svchost調用“rpcss”參數來實現的,而參數的內容則是存放在系統注冊表中的。
在運行對話框中輸入“regedit.exe”后回車,打開注冊表編輯器,找到[hkey_local_machine systemcurrentcontrolsetservicesrpcss]項,找到類型為“reg_expand_sz”的鍵“magepath”,其鍵值為“%systemroot%system32svchost -k rpcss”(這就是在服務窗口中看到的服務啟動命令),另外在“parameters”子項中有個名為“servicedll”的鍵,其值為“% systemroot%system32rpcss.dll”,其中“rpcss.dll”就是rpcss服務要使用的動態鏈接庫文件。這樣 svchost進程通過讀取“rpcss”服務注冊表信息,就能啟動該服務了。
解惑
因為svchost進程啟動各種服務,所以病毒、木馬也想盡辦法來利用它,企圖利用它的特性來迷惑用戶,達到感染、入侵、破壞的目的(如沖擊波變種病毒“w32.welchia.worm”)。但windows系統存在多個svchost進程是很正常的,在受感染的機器中到底哪個是病毒進程呢?這里僅舉一例來說明。
假設windows xp系統被“w32.welchia.worm”感染了。正常的svchost文件存在于“c:\windows\system32”目錄下,如果發現該文件出現在其他目錄下就要小心了。“w32.welchia.worm”病毒存在于“c:\windows\system32wins”目錄中,因此使用進程管理器查看svchost進程的執行文件路徑就很容易發現系統是否感染了病毒。windows系統自帶的任務管理器不能夠查看進程的路徑,可以使用第三方進程管理軟件,如“windows優化大師”進程管理器,通過這些工具就可很容易地查看到所有的svchost進程的執行文件路徑,一旦發現其執行路徑為不平常的位置就應該馬上進行檢測和處理。
由于篇幅的關系,不能對svchost全部功能進行詳細介紹,這是一個windows中的一個特殊進程,有興趣的可參考有關技術資料進一步去了解它
-----------------------------------------------------
Shutdown
Shutdown使您能夠一次關閉或重新啟動一臺本地或遠程計算機。Windows XP的關機是由Shutdown.exe程序來控制的,位于Windows\System32文件夾中
。在Windows 2000中是沒有該程序的,如果想讓Windows 2000也實現同樣的效果,可以把Shutdown.exe復制到系統目錄下。使用方法:比如你的電腦要在22:00關機,可以選擇“開始→運行”,輸入“at 22:00 Shutdown -s”,這樣,到了22點電腦就會出現“系統關機”對話框,默認有30秒鐘的倒計時并提示你保存工作。如果你想以倒計時的方式關機,可以輸入 “Shutdown.exe -s -t 3600”,這里表示60分鐘后自動關機,“3600”代表60分鐘。
語法:
shutdown [/i | /l | /s | /r | /a | /p | /h | /e] [/f] [/m \\ComputerName] [/t XXX] [/d [p:]XX:YY/c"Comment"]
參數
/i : 顯示“遠程關機對話框”。/i 選項必須是鍵入的第一個參數,之后的所有參數都將被忽略。
/l : 立即注銷當前用戶,沒有超時期限。不能將 /l 與 /m \\ComputerName 或 /t 一起使用。
/s : 關閉計算機。
/r : 關機后重新啟動計算機。
/a : 取消關機操作(僅在超時期限內有效)。a 參數僅可以與 /m \\ComputerName 一起使用。
/p : 僅關閉本地計算機(而不是遠程計算機),沒有超時期或警告。/p 只能和 /d 一起使用。如果您的計算機不支持關閉電源功能,使用 /p 將關閉系統但不會切斷您的計算機電源。
/h : 使本地計算機處于休眠狀態(如果已啟用休眠)。僅可將 h 與 /f 一起使用。
/e : 允許在目標計算機上記錄意外關機原因。
/f : 強制關閉正在運行的應用程序而不提前警告用戶。
警告
• 使用 /f 選項可能導致未保存的數據丟失。
•/m \\ComputerName :指定目標計算機。不能與 /l 選項一同使用。
/t XXX : 將重新啟動或關機前超時期限或延遲設置為 XXX 秒會使得在本地控制臺顯示一條警告信息。您可以指定的范圍為 0 - 600 秒。如果省略 /t,則默認超時期限為 30 秒。
/d [p:]XX:YY : 列出系統重新啟動、關機或關閉電源的原因。下表描述了參數值。
說明:
p: 表示重新啟動或關機是已計劃的。如果您不使用 p:選項,關機事件跟蹤程序假設未計劃重新啟動或關機。
XX: 指定主要原因代碼 (0-255)。
YY: 指定次要原因代碼 (0-65535)。
/c"Comment" :使您可以對關機原因做出詳細注釋。必須首先使用 /d 選項提供一個原因。必須將注釋引在引號中。最多可以使用 511 個字符。
/? :在命令提示符下顯示幫助,包括在本地計算機上定義的主要原因和次要原因的列表。只鍵入 shutdown 而不帶任何參數也可以顯示幫助。
注釋
• 必須為用戶授予關閉系統的用戶權利,該用戶才能使用 shutdown 命令關閉本地或遠程管理的計算機。詳細信息,請參閱“相關主題”中的“訪問控制概述”和“特權”。
• 用戶必須是 Administrators 組的成員才能對本地或遠程管理的計算機的意外關機進行批注。如果目標計算機已加入某個域,則 Domain Admins 組的成員可能會執行該過程。詳細信息,請參閱默認本地組和默認組。
• 如果希望一次關閉多臺計算機,可針對每臺計算機使用腳本來調用 shutdown,或者可使用 shutdown /i 顯示遠程關機對話框。
• 一旦指定了主要和次要原因代碼,您必須首先為計劃使用某種特定原因的每個計算機定義那些原因代碼。如果目標計算機上沒有定義原因代碼,關閉事件跟蹤程序將無法記錄正確的原因文本。
• 切記使用 p: 參數指出關機是計劃關機。省略 p:表示關機是非計劃關機。如果鍵入 p:,后面跟著非計劃關機的原因代碼,命令將不會執行關機。相反,如果省略 p:并為計劃關機鍵入原因代碼,命令也不會執行關機。
示例
要強制讓應用程序在一分鐘延遲后關閉并重新打開本地計算機,并注明原因是“應用程序:維護(計劃內)”,注釋內容為“重新配置 myapp.exe”,請鍵入:
shutdown /r /t 60 /c "Reconfiguring myapp.exe" /f /d p:4:1
要使用相同的參數重新啟動遠程計算機 \\ServerName,請鍵入:
shutdown /r /m \\servername /t 60 /c "Reconfiguring myapp.exe" /f /d p:4:1
柴油發電機
發電機
柴油機
柴油發電機
13636374743(上海)
13291526067(嘉興)