I would appreciate any advice from experience from the community regarding the following challenge I've given myself - i.e. any pointers re best approach / direction here?
Allow collection / real-time-monitoring of network usage from a users Windows PC to a specific set of IP addresses (or DNS names), on a per application/process running on the PC point of view, differentiating between "up" and "down" traffic. For example: show how much network traffic has been used (sending to the configured set of IP addresses/DNS names) for each PC process/application for the day so far.
Solution should run on the PC that the user is utilising (i.e. not require setup of software on a separate PC)
For Windows PC (e.g. XP, Vista, Windows 7)
Shouldn't cause noticeable performance hit for the users (e.g. slow down internet browsing)
Would want the data collected stored on the PC in a manner that a GUI program (e.g. C# WPF app) could access for displaying to user.