簡體   English   中英

監視Windows系統按進程進行讀/寫操作?

[英]Monitoring Windows system Read/Write operations by process?

我一直在搜索System.Diagnostics命名空間,以尋找一種方法來監視由不同進程完成的讀寫操作而沒有任何運氣。

有誰知道用於獲取此信息的類或接口? 我嘗試了Process類,Event Trace類等,但沒有找到任何東西。 關於SO的文章很少,但沒有具體答案,或者該文章來自5年前。 我正在Win7 / Win8上執行此操作。

我基本上需要跟蹤某個進程從特定文件讀取的總位。

我想創建一個C / C#/ C ++應用程序來執行此操作,或者如果可以的話,直接將信息放入PowerShell腳本中。

您可以為此使用WMI,例如,可以對進程Notepad.exe使用:

Get-WmiObject -Class "WIN32_Process" -Filter "name='notepad.exe'"

然后看看:

ReadOperationCount
ReadTransferCount 
WriteOperationCount
WriteTransferCount

您也可以使用C#訪問WMI。

您可以嘗試從SysInternals中找到Filemon工具。 他們當時提供了下載源,但已將其刪除。 可能是您仍然可以通過Google找到它。

基本上,這是通過驅動程序完成的,因此您必須將其實現為設備驅動程序,並在文件系統頂部使用過濾器驅動程序。 它是針對NT / XP的,但是基本思想仍然可以使用。

但是,這並不完全是瑣碎的,所以我不知道這是否真的是您想要的。

我看不到有從用戶空間執行此操作的方法,因為如果可以輕松地進行操作,這將帶來很大的安全風險。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM