特定のアプリによって送受信されるデータの量を測定する方法は?

特定のアプリによって送受信されるデータの量を測定する方法は?

特定のプログラムによって送受信されるバイトの合計量を取得したいと思います。

ネットワーク カードのコンテキスト メニューから [ステータス] を選択すると、マシン全体の合計を取得できることはわかっていますが、アプリごとには取得できません。

これは可能ですか?

答え1

これとともにマーク・ルシノビッチMicrosoft ツール

https://docs.microsoft.com/en-us/sysinternals/downloads/procmon

プロセス名またはPIDのフィルターを以下で作成できます。フィルターメニューに進みますツールメニューとネットワーク概要

または

https://docs.microsoft.com/en-us/sysinternals/downloads/tcpview

PowerShell Notion をお持ちで、独自のツールを作成したい場合は、次の手順に従ってください。

フランス語:

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 と同じライブ)

ファイアフォックス: 3256 KB

参照:

https://blogs.technet.microsoft.com/heyscriptingguy/2011/01/31/use-powershell-to-simplify-collecting-performance-information/

関連情報