Click here to Skip to main content
15,889,863 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.3K   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: Crashes XP Pro...! Pin
Mario M.22-Jun-02 7:20
Mario M.22-Jun-02 7:20 
GeneralRe: Crashes XP Pro...! Pin
SteveKing22-Jun-02 8:08
SteveKing22-Jun-02 8:08 
GeneralRe: Crashes XP Pro...! Pin
Mario M.22-Jun-02 8:10
Mario M.22-Jun-02 8:10 
GeneralRe: Crashes XP Pro...! Pin
SteveKing22-Jun-02 10:08
SteveKing22-Jun-02 10:08 
GeneralRe: Crashes XP Pro...! Pin
Mario M.22-Jun-02 11:14
Mario M.22-Jun-02 11:14 
GeneralRe: Crashes XP Pro...! Pin
SteveKing22-Jun-02 21:09
SteveKing22-Jun-02 21:09 
GeneralRe: Crashes XP Pro...! Pin
Paolo Messina23-Jun-02 22:19
professionalPaolo Messina23-Jun-02 22:19 
GeneralRe: Crashes XP Pro...! Pin
Mario M.24-Jun-02 7:02
Mario M.24-Jun-02 7:02 
Thanks, but I am always Administrator when I my computer Cool | :cool:
GeneralAlso Crashes Under NT 4.0 (EOM) Pin
Fred21-Jun-02 8:54
Fred21-Jun-02 8:54 
GeneralAlso Crashes Under NT 4.0 (EOM Pin
Fred21-Jun-02 8:54
Fred21-Jun-02 8:54 
GeneralCrashes Under W2K Pin
Fred20-Jun-02 6:45
Fred20-Jun-02 6:45 
GeneralRe: Crashes Under W2K Pin
Florian Heidenreich20-Jun-02 6:51
Florian Heidenreich20-Jun-02 6:51 
GeneralRe: Crashes Under W2K Pin
SteveKing20-Jun-02 8:33
SteveKing20-Jun-02 8:33 
GeneralRe: Crashes Under W2K Pin
gordingin20-Jun-02 9:05
gordingin20-Jun-02 9:05 
GeneralRe: Crashes Under W2K Pin
SteveKing20-Jun-02 9:19
SteveKing20-Jun-02 9:19 
GeneralDoesn't work for me Pin
benjymous20-Jun-02 6:35
benjymous20-Jun-02 6:35 
GeneralRe: Doesn't work for me Pin
Fred20-Jun-02 6:46
Fred20-Jun-02 6:46 
GeneralRe: Doesn't work for me Pin
SteveKing20-Jun-02 8:25
SteveKing20-Jun-02 8:25 
GeneralRe: Doesn't work for me Pin
benjymous20-Jun-02 23:31
benjymous20-Jun-02 23:31 
GeneralRe: Doesn't work for me Pin
SteveKing22-Jun-02 4:56
SteveKing22-Jun-02 4:56 
GeneralRe: Doesn't work for me Pin
Mario M.22-Jun-02 8:17
Mario M.22-Jun-02 8:17 
GeneralRe: Doesn't work for me Pin
Thomas Freudenberg20-Jun-02 22:33
Thomas Freudenberg20-Jun-02 22:33 
Generalafxdhtml.h Pin
Fred20-Jun-02 6:28
Fred20-Jun-02 6:28 
GeneralRe: afxdhtml.h Pin
SteveKing20-Jun-02 8:33
SteveKing20-Jun-02 8:33 
GeneralRe: afxdhtml.h Pin
Fred21-Jun-02 3:05
Fred21-Jun-02 3:05 

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.