如何计算特定应用程序一段时间内的总网络流量?

How to calculate total network traffic for a period of time for a specific application?

我正在 Windows 上对本机应用程序进行性能测试,我需要计算新应用程序版本与以前版本相比产生了多少互联网流量。因为应用程序应该在互联网连接受限的环境中工作。

Fiddler 仅显示 HTTP 和 FTP 请求,并且仅显示通过代理发送的请求。理论上应用程序可以忽略代理并使用其他协议或套接字。

Resource Monitor 似乎只包含最后一分钟的平均网络 activity(总计 B/sec)。这对我来说还不够,因为应用程序产生的网络流量不是恒定的。

Network-related performance counters 不包含任何相关的计数器。

TCPView 由于某些原因不显示某些进程的信息。它显示特定连接而非应用程序的流量,并且当连接关闭时信息丢失。

经过更详细的研究后,我发现 Sysinternals Process Explorer 看起来是互联网流量估算的合适工具。您可以将 Network Send Bytes 和 Network Recieve Bytes 列添加到进程 table 并在您感兴趣的时间范围边界手动计算它们的值差异。为了使其正常工作,您需要以管理员身份启动 Process Explorer。