wmnet(1x)

πŸ“¦
version 1.06+git20250815 Β· 2 versions
  • 1.06+git20250815 Β· debian bookworm, debian trixie, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking (latest)
  • 1.06 Β· ubuntu jammy
, in debian bookworm, debian trixie, ubuntu noble, ubuntu questing, ubuntu resolute, ubuntu stonking

πŸ’– wmnet(1x) πŸ’–

okay so bestie, pull up a chair, we're talking about wmnet β€” an IP accounting monitoring tool β€” from section 1x of the manual, no cap. it's giving tiny-desktop-toy-with-a-serious-job and honestly? iconic.


✨ SYNOPSIS ✨

like, here's the whole summoning ritual, verbatim:

wmnet [-h,--help] [-v,--version] [-T,--txrule=NUM] [-R,--rxrule=NUM]
[-l,--logscale] [-t,--txcolor=COLOR] [-r,--rxcolor=COLOR] [-d DELAY]
[-x,--maxrate=BYTES] [-F,--labelfg=COLOR] [-B,--labelbg=COLOR]
[-L,--label=LABEL] [-e,--execute=COMMAND] [-p,--promisc=DEVICE]
[-u,--unpromisc=DEVICE] [-w,--withdrawn | -n,--normalstate]
[-D,--driver=DRIVER] [-W,--device=DEVICE]

🌸 DESCRIPTION 🌸

so wmnet polls network statistics and then does a few things with the data it gets. literally a whole personality built on packet numbers. πŸ¦‹

here's the vibe check on what it gives you:

  • small blinking lights for the rx and tx of IP packets ✨
  • a digital speedometer of your network's current speed
  • a bar graph</> like xload plotting your throughput

the graph situation is chef's kiss: it's got a tx speed graph that draws bottom-up and an rx speed graph that draws top-down</>. the speedometer keeps track of the current speed per second and shows it in a color that corresponds to whichever of rx or tx has the highest speed at that moment. periodt.

also, the graph is drawn in a way where the highest speed is drawn on top of the other, while the other one hangs out in the background. main character energy for whoever's faster, honestly. πŸ’…


πŸŽ€ OPTIONS πŸŽ€

one bullet per flag, no skips, we're thorough in this house:

  • -h, --help β€” displays a brief help message
  • -v, --version β€” displays version information
  • -T, --txrule=NUM or NAME β€” in the case of the ipfwadm driver, this is the accounting rule number to monitor for tx. For the ipchains driver, this is the chain name to watch.
  • -R, --rxrule=NUM or NAME β€” in the case of the ipfwadm driver, this is the accounting rule number to monitor for rx. For the ipchains, this is the chain name to watch.
  • -t, --txcolor=COLOR β€” specifies the tx color
  • -r, --rxcolor=COLOR β€” specifies the rx color
  • -x, --maxrate=BYTES β€” maximum transfer rate for graph scale. Defaults to 6000, which should be in the right area for modem connections. The key is to experiment with this setting and the --logscale option to get the kind of graph that fits your connection type. A general rule of thumb is to set this to 4 to 5 times greater than your maximum throughput. The author finds using --logscale and --maxrate=10000000 to work nicely for the entire range of his dorm's ethernet based connection to the internet.
  • -l, --logscale β€” sets logarithmic scale, which is good for fast connections. This will allow, for example, the graph still being informative at extremely low speeds (telnet), and extremely fast speeds (local FTP) simultaneously without the scale constantly being blank or solid at those respective extremes.
  • -L, --label=LABEL β€” prints a given text label on the bottom of the window
  • -F, --labelfg=COLOR β€” specifies the color for the text of the label
  • -B, --labelbg=COLOR β€” specifies the color for the background of the label text
  • --withdrawn
  • --normalstate β€” sets the initial state of wmnet. WMnet tries to automatically determine which state to start up in by starting up in withdrawn state if a WindowMaker defined atom is present, and in normalstate otherwise. This behavior is overridden by specifying one of these options.
  • -e, --execute=COMMAND β€” executes COMMAND on a single click from button 1 (left mouse button).
  • -u, --unpromisc=DEVICE
  • -p, --promisc=DEVICE β€” put DEVICE in promiscuous mode to start applying accounting rules to all network packets on your network segment. You either need to be root or have the wmnet binary suid root to use this feature. This option may be given more than once on the command line to specify more than one device.
  • -d DELAY β€” delay time for polling /proc/net/ip_account (in microseconds). Defaults to 25000, that is 0.025 seconds, or 40 Hz
  • -D, --driver=DRIVER β€” use DRIVER to get the stats we monitor. Compiled in drivers can be listed with the -h switch.
  • -W, --device=DEVICE β€” watch statistics for DEVICE . This option is only used for certain stat drivers, namely: kmem, devstats, and pppstats. The ipchains and ipfwadm stat drivers do not use this parameter.
  • -X, --display=ISPLAY β€” X display to use.
heads up bestie: -p, --promisc=DEVICE needs you to be root or to have the wmnet binary suid root. no shortcuts, that's just the rules. πŸ’€

🌈 STAT DRIVERS 🌈

wmnet uses different stat drivers to get the stats it needs to monitor your network. Exactly what drivers are available is determined at compile time. The driver wmnet ultimately uses at runtime is dependent on your system. There are 4 drivers specific to Linux and 1 to BSD. The driver used can be overridden by the --driver option. The available drivers are pppstats, devstats, ipfwadm, ipchains and kmem.

🫢 pppstats

this driver works on Linux 2.0 or Linux 2.1 for ONLY ppp type devices. Specify the --device option for the interface to monitor. By default it uses interface ppp0. Please note, that if the ppp device is not available or active, wmnet will continue to try in the hopes that it is only temporarily offline.

🫢 devstats

use this driver on Linux 2.1 kernels for any interface. Pass the --device option for the device you want monitored, otherwise, the default is eth0. This will be available for ONLY Linux 2.1 kernels and will always be there on those kernels.

🫢 ipfwadm

use this driver on Linux 2.0 kernels compiled with IP accounting. It won't work on Linux 2.1. You'll also need to specify the --txrule and --rxrule options. By default, wmnet uses the first two rules it finds.

🫢 ipchains

this driver will only work in Linux 2.1 kernels with IP chains compiled in. You'll want to also specify the --txrule and --rxrule options and specify the chain names. By default it uses the chains "acctin" and "acctout" There must be at least one rule on the named ipchain, if there is more than one rule in the specified chain, it uses the first. The chain must not immediately return to the parent chain, it has to pass through a rule first. Otherwise, the kernel will not collect the stats we need.

🫢 kmem

this driver is available on FreeBSD and OpenBSD systems and must be passed a device through the --device option. By default, it uses ec0 but will accept any valid device name.


πŸ“ FILES πŸ“

  • /proc/net/ip_acct /proc/net/dev /proc/net/ipchains β€” kernel net accounting information

πŸ‘‘ AUTHORS πŸ‘‘

wmnet was created by Jesse B. Off <joff@iastate.edu> and is maintained by Katharine Osborne <kaos@digitalkaos.net>.

This manpage was originally written by Marcelo Magallon <mmagallo@debian.org> for the Debian Project, and is GNU Copyright 1998 Marcelo Magallon and later modified by Jesse Off and Katharine Osborne for WMnet versions 1.05 and above.


πŸ”₯ SEE ALSO πŸ”₯

  • wmaker(1x)

and that's the whole page, bestie!! this one's from the wmnet(1x) manual, dated 4 May 2000, and it's wmnet(1x) all the way down at the bottom too. go forth and monitor those packets, you absolute icon πŸ’–βœ¨πŸŽ€πŸ¦‹

πŸ“¦ where this page comes from