STATNET(1)

NAME
statnet,statnetd - views the statistics of Ethernet and PLIP/PPP/SLIP for TCP, IP, IPX, Appletalk, etc

SYNOPSIS

statnet [ -agipstuh ] [-k key]

statnetd [ -adgipstuh ] [-k key] [-n name] [-w interface]

DESCRIPTION

statnetd is the privileged daemon which collects network data.

statnet views the current usage statistics of your Ethernet and PLIP/PPP/SLIP for TCP, IP, IPX, Appletalk, and more. It is terminated by typing "q".

It shows:
    - kilobytes per second on ethernet, PPP, and other interfaces.
    - the percentage load of ethernet capacity.
    - frames per second.
    - how many frames of each type (like IP, 802.2, and some Appletalk or TCP frames) were seen.

The purpose is to give some idea of the quantity and type of network activity (flashing lights on the hub are minimally informative). Other tools such as tcpdump are needed for detailed analysis.

Only certain frames/packets were shown in the first versions. Now the data for many more packets encountered on your net are shown. Only certain TCP/UDP ports are known (under port 1024 by default), and TCP/UDP traffic to unknown port numbers is not shown, although the presence of the frames are shown in protocol counts.

Note that statnetd uses IPC shared memory so there can be many clients such as statnet running. Other clients, such as an SNMP agent, may also be using the data. The statnetd IPC shared memory is enabled for DIPC, so the data from one copy of statnetd is available to all machines on a DIPC cluster.

OPTIONS

For statnetd, most options select the type of data to be collected. For statnet, most options select the type of data to be displayed. Defaults collect and display most data.

-a  Appletalk protocol

-d  Daemonize ( statnetd only). Run as a background process. Probably should be entered as "/usr/local/bin/statnetd -d" in /etc/rc.d/rc.local.

-g  General statistics

-i  IP Protocols

-k key
    Use key as the shared memory key. Base 16 recognized with '0x' prefix, base 8 with '0' prefix, otherwise key is in base 10.

-n name
    Server or network name ( statnetd only). The label other than uname(2) nodename to label the data with. Often a computer or network name is used.

-p  PLIP/PPP/SLIP statistics

-s  IEEE 802.2 SAP protocol

-t  TCP/IP protocol

-u  UDP/IP protocol

-w interface
    Specify an interface to monitor other than the default "eth0" ( statnetd only). See /proc/net/dev for a list of interfaces.

-h  print a short help message

DISPLAY

The statnet display client appearance will vary depending upon options and display type. It can operate under "curses" or "ncurses" libraries (compile time option). Another popular trick on X-Windows is to open an xterm window which is tall and as narrow as the "General" display, so the subwindows appear below each other.

Totals may vary slightly due to the data being captured as it is being collected, as more packets may arrive while the totals are being prepared for display (fortunately packets arrive slowly compared to the speed of copying the totals).

The percentage numbers are the percent of the total number of frames during the display period.

If the network interface reports errors, a summary is reported near the bottom of the "General" display. Error behavior depends upon your interface and device driver. (Error reporting not working in 3.2)

  SAMPLE TEXT DISPLAY

                           STATISTICS OF NETWORKS
GENERAL  Frame:  341/6  sec  ===== 802.2 SAP =====  ==== TCP/IP PORTS ===
         KB/s Frame/s AvLen                         fragment    18   5.3%
all      5.98      56   107   NetBIOS:  216  63.3%       www:    0   0.0%
eth      5.98      56   107      0xB4:   11   3.2%      echo:    0   0.0%
                                 SNAP:    9   2.6%   NetBIOS:    0   0.0%
                                  RPL:    1   0.3%       ftp:    0   0.0%
                                  SNA:    4   1.2%
                              NetWare:    2   0.6%
                             SpanTree:    3   0.9%
802.2 pkt/sec:     41
 Ethernet Load   0.49%
 490 err/Hr( 0%) 490 drop/Hr ===== PROTOCOLS =====  ==== UDP/IP PORTS ===
                                                     NetB Dg:   56  16.4%
==== IP PROTOCOLS ====       IEEE802.3  246  72.1%      snmp:    0   0.0%
                              Ethernet   77  22.6%  fragment     0   0.0%
    UDP:    58  17.0%              ARP   13   3.8%   NetB NS:    0   0.0%
    TCP:    18   5.3%         HP Probe    3   0.9%    domain:    2   0.6%
   ICMP:     1   0.3%          DEC LAT    2   0.6%       ntp:    0   0.0%
                                Novell    0   0.0%   loc-srv:    0   0.0%
                                                       timed:    0   0.0%
                                                      syslog:    0   0.0%
                             Other:       0   0.0%

FILES

The files /etc/services, /etc/opt/statnet/services, and services in the current directory are read in that order for port number definitions. Later definitions override previous ones. A few names are replaced with shorter or more recognizable names (ie, nameserver is replaced with DNS).

File format:
      telnet           23/tcp    # Telnet
The above line specifies that TCP port 23 is used for the telnet service.

The file /etc/protocols is also read with the getprotoent(3) routine for IP protocol definitions.

PROBLEMS

By default the eth0 ethernet device is monitored. Monitoring SLIP or PPP devices may not work. Data from devices other than the one specified may be shown, depending upon operating system characteristics of a promiscuous socket.

Many networking numbers are compiled within the program and cannot be updated without altering a source file. But this is still more informative than a flashing light on the hub.

AUTHOR

Jeroen Baekelandt is the original author.
    jeroenb@igwe.vub.ac.be
    we47143@vub.ac.be

Scot E. Wilcoxon is present maintainer of Statnet. Made numerous alterations to the original. Generalized to tally arbitrary packet types rather than specific ones, changed to use daemon and shared memory instead of coroutines. Modified for glibc2(libc6) under 2.1.1* kernels.
    sewilco@fieldday.mn.org

Philip Hands maintains Debian netdiag packaging, and added glibc2(libc6) alterations.
    phil@hands.com

Christoph Lameter wrote the first version of this man page, and did Debian netdiag packaging.
    chris@waterf.org

COPYRIGHT GPL
Copyright 21DEC2002 Scot E. Wilcoxon All Rights Reserved