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