Monitoring network traffic per program in Windows

Resource Monitor

Currently I have to use a pretty slow mobile internet connection. And sometimes a program is using a lot of my bandwidth. This means that I am unable to open websites or I have to wait very long. This is annoying. So I was searching for a method to monitor the network traffic per program.

Netstat and CurrPorts

It is possible to use the netstat command on the command line. This lists the open TCP /UDP connections including info.  A more detailed program, which is more luxury than netstat is CurrPorts. But like netstat it does not show the network traffic, only the open ports and the destination port. You can download CurrPorts for free.

MS Process Explorer

Microsoft also delivers a tool which shows per program all processes and in detail the usage of cpu, memory, open tcp/udp ports etc. Great too, but this still does not show the network traffic per program. You can download Process Explorer for free.


Another great tool is Wireshark. But for my purpose this shows to much in detail the network messages. It is more practical to have a more abstract view of the network traffic per program. You can download Wireshark for free.

Windows 7 Resource Monitor

After a while I found in Windows 7 the possibility to monitor the network traffic per program! But it is a little bit hidden.

To start this, press Ctrl-Alt-Del and click on “Start Task Manager”. Now click on the tab “Performance” and click on the button “Resource Monitor”. In the tab “Overview” you can click on the “Network” bar and this will show exactly what I wanted.  Per running program the amount of bytes transmitted, received and total.

Let me know if you have a better idea or a way to monitor the network traffic in older Windows versions.