real time network usage statistics monitoring/capture?
I would appreciate any advice from experience from the community regarding the following challenge I've given mysel开发者_JAVA百科f - i.e. any pointers re best approach / direction here?
Requirements
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.
Microsoft Network Monitor can do all that.
A new high performance capturing feature allows you to capture on faster networks without dropping frames. Parser profiles provide a simple way to increase filtering/parsing speed and allow you to switch quickly between various parser sets. And UI updates like Color Rules, Windows Layouts and Column Management give you flexibility to do cool customizations to help you work the way you want.
and
- Script-based parser model with frequent updates
- Concurrent live capture sessions Support for Windows Vista
- Support for 32-bit platforms and for 64-bit platforms
- Support for network conversations and process tracking API to access capture and parsing engine
- Wireless Monitor Mode Capturing
For network related stuffs, you should go for Microsoft Network Monitor tools. Also WinPcap and Ethreal are some tools available.
精彩评论