我想獲取特定程式發送和接收的位元組總數。
我知道我可以透過從網卡的上下文選單中選擇「狀態」來取得整台電腦的總計,但不是每個應用程式的總計。
這可能嗎?
答案1
有了這個馬克魯西諾維奇微軟工具
https://docs.microsoft.com/en-us/sysinternals/downloads/procmon
您可以為您的進程名稱或 PID 建立過濾器篩選菜單。然後去工具菜單和網路摘要。
或與
https://docs.microsoft.com/en-us/sysinternals/downloads/tcpview
如果您有 powershell 概念並且想編寫自己的工具:
法語:
get-counter "\Processus(firefox*)\Nombre d’octets lus/s" -Continuous | foreach {
[math]::round((($_.countersamples.cookedvalue | measure -sum).sum / 1KB), 2)
}
英語
get-counter "\Process(firefox*)\IO Read Bytes/sec" -Continuous | foreach {
[math]::round((($_.countersamples.cookedvalue | measure -sum).sum / 1KB), 2)
}
使用此程式碼和此循環。調整KB,可以是MB、GB...
將此腳本儲存到檔案 .ps1 中,開啟命令提示符並執行此腳本(CTRL+C 停止)
$process="firefox"
$totalKB = 0
while($true){
get-counter "\Process($process*)\IO Read Bytes/sec" | foreach {
$totalKB += [math]::round((($_.countersamples.cookedvalue | measure -sum).sum / 1KB), 2)
}
Write-Host -NoNewline -ForegroundColor Yellow ("`r"+$process.ToUpper()+": "+([string]$totalKB)+" KB ")
Start-Sleep -Milliseconds 500
}
write-host
結果(例如與 Linux Watch 相同的 LIVE)
火狐:3256 KB
參考: