Click here to Skip to main content
15,890,527 members
Articles / Desktop Programming / MFC
Article

TrafficWatcher

Rate me:
Please Sign up or sign in to vote.
3.62/5 (24 votes)
15 Nov 2002CPOL2 min read 485.5K   18.7K   153   160
A tool to measure network traffic by service (FTP, mail, news, web, UDP etc)

Sample Image

Description

TrafficWatch is a small utility to get information about the amount of data transferred to and from the internet. It uses the WinPcap library from http://winpcap.polito.it/docs/default.htm. Network traffic inside a LAN is ignored - only IP packets going through the standard gateway are measured. Traffic is also measured by service: FTP, mail, news, web, UDP and others. So you can see for what you need your internet connection.

Why?

Flat rates are getting more common these days. ISPs often offer them only up to a specified amount of traffic - additional transferred data must be paid extra. So I wanted to know exactly how much traffic I use/need to decide which ISP and which offer I wanted. And of course I'm curious :)

Sample Image

Implementation

To gather only the internet traffic and ignore traffic inside LAN I needed a way to analyse every IP data packet entering or leaving the network interface. The WinPcap library is used to catch all these packets. Then the program analyses the captured packets by source and destination IP and port. With these data the program builds the statistics.

Other tools

There are other tools in this utility: Ping, Traceroute, Connection Information and Whois. The Whois-utility uses a text file to determine which server to ask for specific TLD's. The one offered with this utility is far from complete. If someone wants to complete it, please send me a copy!

Installation

An installer is provided. If you don't have WinPcap already installed, you must either download it from http://winpcap.polito.it/docs/default.htm or let the installer install it for you. After installation you should maybe restart your computer to proper initialize the WinPcap drivers - otherwise the program may crash.

Notes

For this tool I used many classes and tips from this website. Some of them are unchanged, some of them I changed a little or more. This tool is also kind of a try out project for me - whenever I want to try out some API's or functions I add them to this tool. An example of that you can see in the "About" pane. So please don't blame me if some things are not perfectly coded.

Update

16.11.02 fixed several bugs where the prog crashed on startup (I hope :). Also the statistics page now shows a red line in the bars to separate up from downloads.

22.6.02 corrected a bug where the statistics weren't correctly cleaned up. Fixed a bug where the program crashed when more than 10 adapters were found. Also fixed missing files in source.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Software Developer
Switzerland Switzerland
---

Comments and Discussions

 
GeneralRe: How can i create the exe? Pin
SteveKing25-Jul-02 11:04
SteveKing25-Jul-02 11:04 
GeneralIt works!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Pin
The Ironduke27-Jun-02 21:20
The Ironduke27-Jun-02 21:20 
GeneralRe: It works!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Pin
Anonymous10-Jun-03 23:39
Anonymous10-Jun-03 23:39 
General100MBit/s Pin
Thomas Freudenberg27-Jun-02 4:19
Thomas Freudenberg27-Jun-02 4:19 
GeneralRe: 100MBit/s Pin
SteveKing27-Jun-02 4:30
SteveKing27-Jun-02 4:30 
GeneralRe: 100MBit/s Pin
Thomas Freudenberg27-Jun-02 4:55
Thomas Freudenberg27-Jun-02 4:55 
GeneralRe: 100MBit/s Pin
SteveKing27-Jun-02 6:55
SteveKing27-Jun-02 6:55 
GeneralStill crashes Pin
Thomas Freudenberg26-Jun-02 12:22
Thomas Freudenberg26-Jun-02 12:22 
GeneralRe: Still crashes Pin
SteveKing27-Jun-02 0:40
SteveKing27-Jun-02 0:40 
GeneralRe: Still crashes Pin
Thomas Freudenberg27-Jun-02 0:44
Thomas Freudenberg27-Jun-02 0:44 
GeneralRe: Still crashes Pin
SteveKing27-Jun-02 2:22
SteveKing27-Jun-02 2:22 
GeneralRe: Still crashes Pin
Thomas Freudenberg27-Jun-02 2:24
Thomas Freudenberg27-Jun-02 2:24 
QuestionMaybe he should rename this app Traffic Crash? Pin
The Ironduke26-Jun-02 7:18
The Ironduke26-Jun-02 7:18 
AnswerRe: Maybe he should rename this app Traffic Crash? Pin
SteveKing26-Jun-02 7:32
SteveKing26-Jun-02 7:32 
GeneralRe: Maybe he should rename this app Traffic Crash? Pin
The Ironduke26-Jun-02 7:47
The Ironduke26-Jun-02 7:47 
GeneralRe: Maybe he should rename this app Traffic Crash? Pin
SteveKing27-Jun-02 0:38
SteveKing27-Jun-02 0:38 
GeneralCrushs on Windows 2000 Pin
Nir Dremer25-Jun-02 6:41
Nir Dremer25-Jun-02 6:41 
GeneralRe: Crushs on Windows 2000 Pin
SteveKing25-Jun-02 6:59
SteveKing25-Jun-02 6:59 
GeneralRe: Crushs on Windows 2000 Pin
Nir Dremer25-Jun-02 7:02
Nir Dremer25-Jun-02 7:02 
Generalwin98-me Pin
23-Jun-02 18:53
suss23-Jun-02 18:53 
GeneralRe: win98-me Pin
SteveKing24-Jun-02 2:50
SteveKing24-Jun-02 2:50 
Generalupdate Pin
SteveKing22-Jun-02 10:06
SteveKing22-Jun-02 10:06 
GeneralRe: update Pin
Mario M.22-Jun-02 11:45
Mario M.22-Jun-02 11:45 
GeneralRe: update Pin
SteveKing22-Jun-02 21:30
SteveKing22-Jun-02 21:30 
GeneralRe: update Pin
Mario M.23-Jun-02 1:50
Mario M.23-Jun-02 1:50 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.