views:

58

answers:

2

Hi,

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?

Requirements

  1. 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.

  2. Solution should run on the PC that the user is utilising (i.e. not require setup of software on a separate PC)

  3. For Windows PC (e.g. XP, Vista, Windows 7)

  4. Shouldn't cause noticeable performance hit for the users (e.g. slow down internet browsing)

  5. 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.

+1  A: 

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
Lieven
thanks also Lieven - don't suppose you have a comment re WinPcap versus Network Monitor?
Greg
in some distant past I have tried WinPcap. It didn't work for me then (note the then part). Network Monitor worked out of the box. You also should take into account that I was trying these tools merely out of curiousity, not because I strictly needed them to solve a problem. As such, I can not comment on wich one provides you with the better info to debug a problem. That said, just looking at the output of Network Monitor taught me quite a few things. Actually *seeing* an ip packet wrapped in a tcp packet (or is it the other way around :) is enlightening.
Lieven
+1  A: 

For network related stuffs, you should go for Microsoft Network Monitor tools. Also WinPcap and Ethreal are some tools available.

Amit Ranjan
thanks Amit - is there a reason you have in mind re why Network Monitor would be better than WinPcap for my requirements? (noting I was hoping to wrap everything up I needed into the one app)
Greg
Since WinPcap and Network Monitor both are network based also NetWork Monitor is MS Core Product, so you can explore a wide range network related stuffs as compared to Ethreal or WinPcap. Thats what I thought. Also I am agree with Lieven.
Amit Ranjan