- Sysinternals 提供高級實用程序,用於分析 Windows 中的進程、檔案、註冊表和網絡,其細節遠超標準工具。
- Process Explorer 和 Process Monitor 能夠深入查看進程、DLL、句柄和事件,因此是調查效能、錯誤和惡意軟體的關鍵工具。
- Autoruns、TcpView、Sysmon 和 PsTools 等工具完善了整個生態系統,可控制自動啟動、網路連接以及本地或遠端管理。
- 透過 Sysinternals Live 運行並頻繁更新,該套件成為管理員、開發人員和高級用戶的重要資源。

如果您在使用 Windows 系統一段時間後發現任務管理器不足以讓您全面了解系統運作狀況,那麼 Sysinternals 正是您一直在尋找的工具。這套進階 Microsoft 實用程式可讓您詳細查看哪些進程正在運作、它們正在存取哪些檔案、它們正在修改哪些註冊表項,甚至它們正在開啟哪些網路連線。
這些工具早在微軟採用它們之前就已經存在,雖然許多工具鮮為人知,但它們卻是分析 Windows 進程、偵測錯誤和搜尋惡意軟體的真正瑞士軍刀。我們將詳細介紹如何利用 Process Explorer、Process Monitor 和其他 Sysinternals 進程管理工具,並以清晰易懂的語言和實際範例進行解說。
Sysinternals是什麼?為什麼它在分析流程方面如此有用?
Sysinternals 是Mark Russinovich 和 Bryce Cogswell於 1996 年創建的項目,旨在託管小型、高級的診斷工具,最初專注於 Windows NT、Windows 2000 和 Windows XP。最初的網站名為 NTinternals,旨在展示作業系統的內部運作機制,以便管理員和開發人員能夠了解「底層」發生的事情。
十年後,也就是 2006 年,微軟收購了這個專案並將其整合到自己的網站中:自此以後,sysinternals.com 重新導向到微軟的官方頁面。即便如此,其精神依然不變:小巧輕便、大多可移植的實用程式(只需複製、運行即可),並且持續進行更新、擴展和改進。
這些工具主要針對系統管理員、IT 專業人員和開發人員,但任何進階使用者都能從中受益匪淺。它們可以幫助您了解、配置和管理 Windows 的各個方面:從啟動時運行的程式到佔用 CPU 的進程、載入的 DLL 檔案以及使用的網路連接埠等等。
完整的套件包含 70 多個實用程序,也可在Microsoft Store 中以 Sysinternals Suite 的名稱購買。從應用程式商店安裝後,不會出現任何「應用程式」圖示;取而代之的是,您將獲得一系列可執行文件和文檔,您可以透過搜尋工具名稱或導航到其所在位置來啟動它們。
Sysinternals Live:無需安裝即可運行工具
該系列實用程式的主要優勢之一是Sysinternals Live,這項服務允許您直接從網路運行工具,而無需手動下載和解壓縮任何內容到磁碟。
要從檔案總管中使用它,只需使用 Sysinternals Live 網域名稱輸入工具路徑,例如: live.sysinternals.com/<toolname> 或北卡羅來納大學教堂山分校的路線 \\live.sysinternals.com\tools\<toolname>這樣,Windows 將直接從 Microsoft 共用資料夾開啟可執行檔。
如果您喜歡使用控制台,可以使用類似的路徑啟動任何實用程式: \\live.sysinternals.com\tools\<toolname>這樣可以省去管理本地版本的麻煩,並確保您始終使用每個工具的最新版本。
要探索所有可用功能,您可以在瀏覽器或 Windows 資源管理器中開啟https://live.sysinternals.com/,在那裡您將看到所有可供使用的Sysinternals Live 工具的完整目錄。
進程瀏覽器:“超級任務管理器”
就Windows 流程而言,Process Explorer 可以說是 Sysinternals 最知名的工具。它的目的是比任務管理器更詳細地顯示系統正在運行的程序、進程之間的交互方式以及它們在任何給定時間使用的資源,以便優化效能。
進程資源管理器介面分為兩個主要子視窗。頂部始終顯示所有活動進程的列表,通常以樹狀結構組織,顯示父進程和子進程,以及程式描述、所屬公司、進程標識符 (PID)、CPU 使用率、記憶體使用率等資料。每個行程所屬的使用者帳號名稱也會顯示。
下方視窗有兩種模式:句柄模式和 DLL 模式。在句柄模式下,您可以看到所選程序開啟的句柄(檔案、登錄項目、系統物件等)。在 DLL 模式下,它會顯示已載入的動態連結程式庫和記憶體映射檔。這對於定位應用程式鎖定的檔案或向合法進程注入的可疑模組至關重要。
Process Explorer 還包含強大的搜尋功能,可讓您尋找哪個進程正在開啟特定檔案或 DLL。您只需輸入檔案名稱或部分檔案名,即可立即獲得相關進程清單——當 Windows 不允許您刪除檔案(因為檔案正在使用中)而您又想知道是哪個進程佔用了該檔案時,此功能非常有用。
另一項優勢是數位簽章驗證。使用「驗證」選項,您可以檢查載入到記憶體中的可執行檔和 DLL 是否具有其製造商提供的有效簽章。這有助於區分合法進程和可能被篡改或未簽署的二進位文件,後者在惡意軟體或不再維護的舊程式中非常常見。
該工具還使用顏色來直觀地描述進程:系統服務、Windows 資源管理器中的進程、打包應用程式等等。只需快速瀏覽名稱和顏色列,即可了解每個元素的外觀,而無需一開始就深入了解太多細節。
此外,進程資源管理器還提供時間軸視圖,以圖形方式顯示每個進程的啟動時間。在安全事件或異常行為分析中,此功能有助於精確定位可疑活動的開始時間,以及它與同一時間段內啟動的其他進程之間的關係。
該實用程式非常適合用於追蹤DLL 版本問題、句柄洩漏(永遠不會釋放的句柄),以及更好地了解 Windows 內部如何運作以及您的應用程式實際執行的操作。
進程監控器:即時剖析文件、日誌和進程
進程監視器 (Procmon) 是 Sysinternals 生態系統的另一個關鍵元件。它是一款進階監控工具,可以即時顯示所有檔案系統活動、Windows 註冊表活動以及正在運行的進程或執行緒。
它融合並超越了舊版 Filemon 和 Regmon 工具的功能,新增了一系列旨在實現全面可追溯性且不遺失任何資訊的改進。其最顯著的特點之一是高度靈活且無損的過濾系統:您可以隨時套用、調整和移除過濾器,而不會遺失任何已捕獲的事件。
每個已記錄的事件都會顯示全面的屬性,包括會話 ID、使用者名稱、進程映像路徑、啟動事件的命令列、進程和執行緒 ID 等等。對於每個操作,都可以使用內建的符號支援捕獲線程堆疊,這有助於精確定位給定呼叫的根本原因。
內部日誌架構的設計使其即使在高負載下也能很好地擴展:它能夠處理數千萬個事件和數 GB 的日誌資料而不會出現故障,這對於在系統完全啟動期間或發生難以重現的間歇性故障時持續捕獲資訊至關重要。
進程監視器可讓您將活動直接以原生日誌格式記錄到檔案中,保留所有詳細信息,以便稍後載入到該工具的另一個實例中。這在取證或技術支援環境中非常有用:您可以擷取使用者電腦上的問題,然後稍後在自己的電腦上分析結果。
此介麵包含可配置和可捲動的列,幾乎可以用於任何事件屬性。使用者還可以基於任何字段創建篩選器,即使是那些未配置為可見列的字段,從而提供高度的自訂功能,精確篩選出所需內容。
在輔助工具中,進程樹特別突出,它顯示了追蹤中所有進程之間的關係;進程工具提示和詳細資訊允許在彈出視窗中查看大量字段,而不會使主視圖飽和;以及可取消的日誌搜索,用於查找特定字串而不會阻塞介面。
進程監視器還包含啟動時間日誌記錄模式,可以擷取 Windows 啟動初始階段的操作。對於那些排查啟動問題、診斷應用程式故障或尋找惡意軟體的用戶來說,進程監視器通常會成為他們工具箱中不可或缺的工具。
在取證分析和惡意軟體搜尋中,可以使用進程資源管理器和進程監視器。
當我們懷疑系統已被入侵,並想了解惡意軟體使用的進程以及它們如何與系統互動時, Sysinternals 工具尤其有用。這並非總是為了收集審判證據;很多時候,我們只是想立即了解機器上發生了什麼,以便迅速採取行動。
第一步通常是確保您已安裝或可以存取 Sysinternals 套件,可以透過本地下載或使用 Sysinternals Live 來實現。安裝完成後,您會在相應的資料夾中找到諸如 Process Explorer (procexp.exe) 和 Process Monitor (procmon.exe) 之類的可執行文件,無需複雜的安裝即可啟動。
使用進程資源管理器,您可以查看所有活動進程和執行緒、它們的 CPU 和記憶體使用情況、進程 ID (PID)、描述以及其他關聯進程。如果您懷疑系統感染了病毒,通常會看到一些明顯的跡象:例如名稱奇怪的進程、位置異常的進程、未簽署的可執行文件,或依賴可疑父進程的進程。
在取證領域,Process Explorer 是 Sysinternals 最有價值的工具之一。例如,您可以分析某個特定進程,例如您懷疑已被入侵的瀏覽器外掛程式(Flash 曾經是典型的攻擊目標)。開啟其屬性後,您會看到一個包含眾多資訊的面板:可執行檔案的路徑、啟動命令、資源消耗、已載入的模組、權限等等。
在「權限」標籤中,您可以查看哪些使用者有權存取該進程。如果除了預期的帳戶(系統、本機使用者、標準服務)之外,您還看到未知或不尋常的帳戶,則可能是系統遭到篡改或惡意持久化的跡象。
另一個關鍵功能是「字串」選項卡,它允許您提取進程中嵌入的所有 ASCII 字串。這些字串可能包括開發人員留下的註解、檔案路徑、網址、命令、錯誤訊息以及其他對分析被分析二進位檔案的行為非常有用的資料。
進程監視器透過提供詳細的進程對檔案、註冊表和網路執行的每項操作,來補充此分析。您可以篩選追蹤訊息,專注於可疑進程,並觀察它存取了哪些鍵、讀取或寫入了哪些檔案以及傳回了哪些錯誤。通常,結合這兩個工具可以提供足夠清晰的視圖,從而識別惡意軟體的攻擊途徑或持久化方法。
Process Explorer 詳解:安裝、使用和符號
安裝 Process Explorer 非常簡單:只需執行 procexp.exe 檔案即可。作為一個便攜式實用程序,它無需安裝嚮導,也不會對您的系統進行任何重大修改。內建的說明文件對各種選項和使用模式進行了非常詳細的解釋。
如果您在使用 Process Explorer 時遇到疑問或問題,微軟在其問答 (Microsoft Q&A) 平台上專門設立了一個版塊來介紹此工具,其他用戶和專家會在那裡分享解決方案、技巧以及不同使用場景下的實際經驗。
為了充分利用偵錯訊息,進程資源管理器可以使用偵錯符號。設定 DBGHELP.DLL 和符號伺服器(例如 Microsoft 公用伺服器)的路徑時,請務必確保包含 DBGHELP.DLL 的資料夾也包含 SYMSRV.DLL,該程式庫用於存取這些伺服器。
SymSrv 文件更詳細地解釋如何設定這些符號路徑以及如何使用符號伺服器。正確配置的符號可以顯著提高呼叫堆疊的質量,並改善有關進程和 DLL 的內部資訊顯示。
Process Explorer 的更新頻率相對較高。在最近的版本中,例如 v16.43,它保持了用戶端對 Windows 8.1 及更高版本以及伺服器端對 Windows Server 2012 及更高版本的兼容性。這使其成為一款適用於不同 Windows 版本混合環境的多功能工具。
進程監視器詳解:篩選、列和使用場景
Process Monitor 也以獨立可執行檔的形式分發。啟動後,它幾乎立即開始捕獲事件,因此最好儘早設定過濾器,以免最終得到難以管理的大量資料。
主視圖中的每一行代表一個事件:它是由哪個進程發起的,在什麼時間發起的,它執行了什麼操作(文件讀取、註冊表寫入、進程創建等),在什麼路徑上執行的,它返回了什麼結果,以及其他詳細信息,例如該調用的具體參數。
該工具會顯示每個事件的大量資訊:進程名稱、確切時間、完整資源路徑、結果和具體資料。如此豐富的資訊使得診斷各種問題成為可能,從權限錯誤到路徑配置錯誤或 DLL 檔案位置錯誤,無所不包。
Procmon 整合了一系列進階篩選器,您可以根據幾乎任何欄位定義篩選器,並將條件與邏輯運算子結合使用。例如,這使得您可以專門關注存取被拒絕錯誤、單一進程寫入操作或對特定註冊表項的讀取。
在惡意軟體攻擊場景中,進程監視器可以幫助您準確了解可疑程式正在執行的操作:它嘗試寫入哪些文件、使用哪些註冊表項在啟動時保持活動狀態、下載或修改了哪些文件,以及它在系統中造成了哪些錯誤。所有這些操作都會被記錄下來,以便日後分析或用於記錄安全事件。
此外,符號支援的執行緒堆疊還提供了有關每個事件是由哪個模組的哪個特定函數發起的上下文,使您能夠在調查應用程式或系統元件的內部行為時達到非常精細的細節等級。
其他與流程和系統相關的 Sysinternals 工具
雖然 Process Explorer 和 Process Monitor 是分析 Windows 進程的明星工具,但 Sysinternals 套件還包含許多其他實用程序,可以補充該視圖並幫助進行診斷、安全性和效能分析。
Handle是一個命令列句柄檢視器,可以列出每個程序正在使用的系統檔案和物件。它是進程資源管理器中句柄資訊的控制台版本,對於腳本編寫和自動化非常有用。
ListDLLs還可以從命令列顯示每個進程加載了哪些 DLL,這對於檢測合法執行檔中註入的模組或意外的程式庫非常有用。
PsList和PsKill是 PsTools 套件的一部分,它們允許您列出和終止本地及遠端進程。對於在控制台工作的管理員來說,這類命令列工具至關重要。
Sysmon(系統監視器)是一項系統服務,安裝後即使重新啟動系統也能保持運行,專門用於詳細監控和記錄系統活動。它可以記錄進程建立、網路連接、檔案修改、進程間記憶體存取、遠端執行緒建立等活動,並與 Windows 事件日誌整合。
TcpView可以即時顯示所有網路連接埠活動,包括已開啟的 TCP 和 UDP 連接,並指示本機和遠端位址、連接狀態,以及(在現代 Windows 版本中)所屬進程的名稱。它類似於增強版的圖形化 Netstat,非常適合檢測惡意軟體或未經授權的軟體產生的可疑網路活動。
Sysinternals 套件的自動運行和其他關鍵實用程序
雖然這裡的重點是進程,但談到 Sysinternals 就不能不提及一些工具,這些工具雖然不是純粹的進程工具,但對於控制Windows 上運行什麼以及如何運行至關重要。
Autoruns是檢視和管理所有隨系統或使用者會話自動啟動的程式的終極工具。它的功能遠超 MSConfig:它還能顯示啟動資料夾中的程式、運行和執行一次註冊表項、自動啟動服務、資源管理器外殼擴充功能、工具列、瀏覽器幫助物件、Winlogon 通知等等。
資訊以主題標籤頁(Office、印表機、Winlogon 等)進行組織,方便您查看每個自動運行條目的來源。每一行都包含條目名稱(自動運行條目)、簡要描述、發布者(發布者)、映像路徑(映像路徑)、安裝日期和時間(時間戳記)以及 VirusTotal 掃描指示器等欄位。
在介面中,粉紅色條目通常對應於沒有數位簽名或簽名無法驗證的文件:這可能是由於證書過期、程式過於老舊、文件損壞或可疑修改造成的。黃色條目表示檔案已不存在或工具無法存取,即使系統在啟動時仍會嘗試載入它們。在這種情況下,建議在刪除任何內容之前仔細檢查條目,並且為了安全起見,通常最好取消選取該條目而不是刪除它。
Autoruns 還可讓您比較不同時間擷取的數據,以查看兩次分析之間發生了哪些變化,這對於偵測程式或惡意軟體新增的新啟動項目非常有用。
其他流行的 Sysinternals 工具包括AccessEnum(用於列出與其父資料夾不同的文件、資料夾和登錄項目權限)、BGInfo(直接在桌面背景上顯示技術系統資料)、Contig(用於在不觸及整個磁碟的情況下對特定檔案進行碎片整理)、Desktops(也適用於舊版 Windows 中的虛擬磁碟機、,後者廣泛用於技術演示中,可透過鍵盤快捷鍵在螢幕上進行縮放和繪圖。
在高階管理領域,PsTools提供了一套用於本機和遠端管理的命令列公用程式:密碼變更、檢查已登入使用者、管理進程和服務、遠端命令執行 (PsExec) 以及系統關機。在需要透過命令列管理大量電腦的企業環境中,其中許多工具都至關重要。
Sysinternals生態系統的最新發展
微軟持續維護和擴展 Sysinternals,並定期進行更新。近期,針對直接或間接影響流程和系統分析的多種工具,微軟都推出了重大改進。
例如,ZoomIt 已更新至 10.0 版本,新增了視訊剪輯編輯器,用於在儲存前修剪錄製內容,並支援擷取系統音訊。 ZoomIt 也已整合到 Microsoft PowerToys 中,同時仍作為獨立實用程式在 Sysinternals 上發布,並已開源。
在監控領域,Sysmon for Linux不斷發展,加入了 EbpfEvent 等事件來監控 eBPF 程式的載入情況,將 Sysinternals 的焦點從 Windows 擴展到了 Linux 環境,這對於混合團隊來說尤其有趣。
其他值得注意的更新包括:Coreinfo,它提供了一個圖形介面,用於可視化 CPU 拓撲結構、NUMA 記憶體和處理器特性;RDCMan,它增強了安全性並支援現代遠端桌面;以及Ctrl2Cap,這是一個無需額外驅動程式即可在 Windows 10 和 11 中將 Caps Lock 鍵重新映射到 Ctrl 鍵的工具。
甚至還有一個Azure DevOps 擴展,可以將 Sysinternals 工具整合到建置和部署管道中,從而更容易直接在 CI/CD 環境中排查建置和版本問題,以及支援 ARM64 等架構的 Linux 適配版 ProcDump 和 Sysmon。
總而言之,整個生態系統意味著,一旦你習慣了使用 Sysinternals,它們就會成為Task Manager 和 PowerToys 不可或缺的伙伴,尤其是如果你是高級用戶或管理多台電腦的話。
Process Explorer 和 Process Monitor,再加上 Autoruns、Sysmon 和 TcpView 等工具,能讓你從「出了點問題,但我不知道是什麼問題」的迷茫狀態,轉變為對正在運行的進程、它們如何與 Windows 交互、它們訪問哪些資源以及它們留下哪些痕跡,都有非常精確的了解。理解並熟練這些實用程式不僅能幫助你解決特定問題,還能提升你優化服務和效能的能力,並幫助你日常掌控系統運作狀況。