Gostaria de obter uma quantidade total de bytes enviados e recebidos por um programa específico.
Sei que obtenho os totais de toda a máquina selecionando Status no menu de contexto da placa de rede, mas não por aplicativo.
Isso é possível?
Responder1
Com issoMark RussinovichFerramenta Microsoft
https://docs.microsoft.com/en-us/sysinternals/downloads/procmon
Você pode criar um filtro para o nome do seu processo ou PID emFiltrocardápio. Então vá paraFerramentascardápio eResumo da rede.
Ou com
https://docs.microsoft.com/en-us/sysinternals/downloads/tcpview
Se você tem noção de PowerShell e deseja escrever sua própria ferramenta:
Francês:
get-counter "\Processus(firefox*)\Nombre d’octets lus/s" -Continuous | foreach {
[math]::round((($_.countersamples.cookedvalue | measure -sum).sum / 1KB), 2)
}
Inglês
get-counter "\Process(firefox*)\IO Read Bytes/sec" -Continuous | foreach {
[math]::round((($_.countersamples.cookedvalue | measure -sum).sum / 1KB), 2)
}
Trabalhe com este código e este loop. Crie uma variável total e atribua a soma calculada em cada iteração. Ajuste KB, pode ser MB, GB...
Salve este script em um arquivo .ps1, abraprompt de comandoe execute este script, (CTRL+C para parar)
$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
RESULTADO (AO VIVO igual ao Linux Watch, por exemplo)
FOGO: 3.256 KB
Referência: