You have several options:
1) There is the API of Microsoft Network Monitor (
Network Monitor API[
^])that you could use. It is installed as part of the application and there is a
NetmonAPI.cs
also, that contains all definitions. You might find some samples out there.
2) If you are interested in http traffic only, you can build a http proxy. Start here: http://www.codeproject.com/Articles/93301/Implementing-a-Multithreaded-HTTP-HTTPS-Debugging
3) You can access process data via WMI:
http://msdn.microsoft.com/en-us/library/windows/desktop/aa394323(v=vs.85).aspx
4) You can also use
performance counters, start here:
http://www.codeproject.com/Articles/29986/A-Simple-Performance-Counter-Application