1 wmnet -- network monitor for WindowMaker using kernel IP accounting
2 for Linux, FreeBSD, and OpenBSD. version 1.06
4 Jesse B. Off <joff@iastate.edu> 8/9/1998
5 Katharine Osborne <kaos@digitalkaos.net> 4/5/2000
8 This little program polls network statistics and does a few things with
9 the data it gets. It has small blinking lights for the rx and tx of IP
10 packets, a digital speedometer of your polled stat's current
11 speed and a bar graph like xload et. al which has a
12 tx speed graph from bottom-up and rx speed graph from the top-down.
13 The speedometer keeps track of the current speed per second and shows
14 it in a color corresponding to which of rx or tx that has the highest
15 speed at the moment. Also, the graph is drawn in a way that the highest
16 speed is drawn on top of the other while the other is in the background.
17 Depending on whether you are running ppp or ethernet
18 connections, you should set the -x parameter to about 1.5 times the
19 high speed of your connection... the default is 6000 which will be
20 stupid if you're on a ethernet line with a max of about 800 kb/sec.
21 I've found the best for an ethernet line is '-x 10000000 -l' Having
22 the logarithmic scale lets you see any speed of traffic from a telnet
23 session to downloadeding something from across the hall at 600 kb/sec.
25 I tried to keep this is as small and efficient as possible CPU time on my
26 K5 PR100 with the default poll time of 25000 microseconds (1 microsecond
27 == 1 millionth of a second.) is less than 20 seconds per 24 hours
28 Which is less than even wmmixer uses for me.
30 wmnet now uses drivers to get stats. The existing stat driver from previous
31 versions has been moved to the ipfwadm driver. To get some generic IP
32 accounting rules using ipfwadm:
34 ipfwadm -A in -i -S 0.0.0.0/0
35 ipfwadm -A out -i -D 0.0.0.0/0
38 I have also included a couple drivers for Linux 2.1. You can either use
39 ipchains or general device stats received from /proc/net/dev. If you don't
40 want to fool around with IP chains, use the devstats driver and specify the
41 interface to monitor useing the --device option. To get a generic set of ip
42 chains rules for the ipchains driver:
46 ipchains -I input 1 -j acctin
47 ipchains -I output 1 -j acctout
51 There is also the pppstats driver available for both Linux 2.0 and 2.1.
52 If you just want general monitoring of your ppp devices, use this driver.
54 In version 1.04+ I have added (among others) the --promisc option.
55 This makes your IP accounting rules apply across the whole of your
56 network segment. This could be useful for monitoring your whole subnet
57 traffic bandwidth. However, using this option as a normal user requires
58 wmnet to be suid root, which is something many people dispise so it is
59 not suid by default. To make wmnet suid, as root:
61 chmod u+s /usr/X11R6/bin/wmnet
63 Please only do this if you need to. I did write this program with it
64 possibly being suid in mind so I am fairly confident that this can be
65 suid without any security concerns. But then again, thats what they all
66 say. Read the code then judge for yourself if need be, I WONT have
67 it done automatically for you. Really the only 'if' is the GNU libc
68 getopt_long() function.
70 For those afterstep users out there using wmnet, you may have noticed that
71 when wmnet is swallowed, the whole thing is not visible. This is due to
72 the afterstep wharf's inability to swallow a dock.app as large as wmnet.
73 (Sorry guys, theres nothing I can do about that!) Theres supposedly an
74 unofficial patch around for afterstep that allows it to fully display,
75 consult your local afterstep guru on the what and where.
77 Much thanks goes to Vladimir Popov for writing the OpenBSD patch.
79 Consult the man page for additional documentation.
82 http://www.digitalkaos.net/linux/wmnet/
86 TO INSTALL from tar.gz:
87 tar xfzv wmnet-1.06.tar.gz
95 NOTE: you may wanna change config.h to change the compiled in drivers.
98 ideas/comments/bug reports -----> kaos@digitalkaos.net
99 http://www.digitalkaos.net/linux/wmnet/