Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
RWHOD(8)		  BSD System Manager's Manual		      RWHOD(8)

NAME
     rwhod -- system status server

SYNOPSIS
     rwhod [-i]	[-p] [-l] [-m [ttl]]

DESCRIPTION
     The rwhod utility is the server which maintains the database used by the
     rwho(1) and ruptime(1) programs.  Its operation is	predicated on the
     ability to	broadcast or multicast messages	on a network.

     The rwhod utility operates	as both	a producer and consumer	of status in-
     formation,	unless the -l (listen mode) option is specified, in which case
     it	acts as	a consumer only.  As a producer	of information it periodically
     queries the state of the system and constructs status messages which are
     broadcasted or multicasted	on a network.  As a consumer of	information,
     it	listens	for other rwhod	servers' status	messages, validating them,
     then recording them in a collection of files located in the directory
     /var/rwho.

     The following options are available:

     -i	     Enable insecure mode, which causes	rwhod to ignore	the source
	     port on incoming packets.

     -p	     Ignore all	POINTOPOINT interfaces.	 This is useful	if you do not
	     wish to keep dial on demand interfaces permanently	active.

     -l	     Enable listen mode, which causes rwhod to not broadcast any in-
	     formation.	 This allows you to monitor other machines' rwhod in-
	     formation,	without	broadcasting your own.

     -m	[ttl]
	     Cause rwhod to use	IP multicast (instead of broadcast) on all in-
	     terfaces that have	the IFF_MULTICAST flag set in their "ifnet"
	     structs (excluding	the loopback interface).  The multicast	re-
	     ports are sent with a time-to-live	of 1, to prevent forwarding
	     beyond the	directly-connected subnet(s).

	     If	the optional ttl argument is supplied with the -m flag,	rwhod
	     will send IP multicast datagrams with a time-to-live of ttl, via
	     a SINGLE interface	rather than all	interfaces.  ttl must be be-
	     tween 0 and 32 (or	MAX_MULTICAST_SCOPE).  Note that -m 1 is dif-
	     ferent from -m, in	that -m	1 specifies transmission on one	inter-
	     face only.

	     When -m is	used without a ttl argument, the program accepts mul-
	     ticast rwhod reports from all multicast-capable interfaces.  If a
	     ttl argument is given, it accepts multicast reports from only one
	     interface,	the one	on which reports are sent (which may be	con-
	     trolled via the host's routing table).  Regardless	of the -m op-
	     tion, the program accepts broadcast or unicast reports from all
	     interfaces.  Thus,	this program will hear the reports of old,
	     non-multicasting rwhods, but, if multicasting is used, those old
	     rwhods will not hear the reports generated	by this	program.

     The server	transmits and receives messages	at the port indicated in the
     ``who'' service specification; see	services(5).  The messages sent	and
     received, are of the form:

	   struct  outmp {
		   char	   out_line[8];		   /* tty name */
		   char	   out_name[8];		   /* user id */
		   long	   out_time;		   /* time on */
	   };

	   struct  whod	{
		   char	   wd_vers;
		   char	   wd_type;
		   char	   wd_fill[2];
		   int	   wd_sendtime;
		   int	   wd_recvtime;
		   char	   wd_hostname[32];
		   int	   wd_loadav[3];
		   int	   wd_boottime;
		   struct  whoent {
			   struct  outmp we_utmp;
			   int	   we_idle;
		   } wd_we[1024	/ sizeof (struct whoent)];
	   };

     All fields	are converted to network byte order prior to transmission.
     The load averages are as calculated by the	w(1) program, and represent
     load averages over	the 5, 10, and 15 minute intervals prior to a server's
     transmission; they	are multiplied by 100 for representation in an inte-
     ger.  The host name included is that returned by the gethostname(3) sys-
     tem call, with any	trailing domain	name omitted.  The array at the	end of
     the message contains information about the	users logged in	to the sending
     machine.  This information	includes the contents of the entry from	the
     user accounting database for each non-idle	terminal line and a value in-
     dicating the time in seconds since	a character was	last received on the
     terminal line.

     Messages received by the rwho server are discarded	unless they originated
     at	an rwho	server's port or the -i	option was specified.  In addition, if
     the host's	name, as specified in the message, contains any	unprintable
     ASCII characters, the message is discarded.  Valid	messages received by
     rwhod are placed in files named whod.hostname in the directory /var/rwho.
     These files contain only the most recent message, in the format described
     above.

     Status messages are generated approximately once every 3 minutes.	The
     rwhod utility performs an nlist(3)	on /boot/kernel/kernel every 30	min-
     utes to guard against the possibility that	this file is not the system
     image currently operating.

SEE ALSO
     ruptime(1), rwho(1)

HISTORY
     The rwhod utility appeared	in 4.2BSD.

BUGS
     Status information	should be sent only upon request rather	than continu-
     ously.  People often interpret the	server dying or	network	communication
     failures as a machine going down.

BSD			       December	11, 1993			   BSD

NAME | SYNOPSIS | DESCRIPTION | SEE ALSO | HISTORY | BUGS

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=rwhod&sektion=8&manpath=FreeBSD+9.0-RELEASE>

home | help