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

FreeBSD Manual Pages

  
 
  

home | help
RWHOD(8)		     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  abil-
     ity to broadcast or multicast messages on a network.

     The rwhod utility operates as both a producer and consumer of status infor-
     mation,  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  infor-
	     mation.   This allows you to monitor other machines' rwhod informa-
	     tion, 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  reports
	     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 between 0
	     and  32 (or MAX_MULTICAST_SCOPE).	Note that -m 1 is different from
	     -m, in that -m 1 specifies transmission on one interface only.

	     When -m is used without a ttl argument, the program accepts  multi-
	     cast rwhod reports from all multicast-capable interfaces.	If a ttl
	     argument  is  given, it accepts multicast reports from only one in-
	     terface, the one on which reports are sent (which may be controlled
	     via the host's routing table).  Regardless of the	-m  option,  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 re-
     ceived, 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 av-
     erages  over  the 5, 10, and 15 minute intervals prior to a server's trans-
     mission; they are multiplied by 100 for representation in an integer.   The
     host name included is that returned by the gethostname(3) system call, with
     any trailing domain name omitted.	The array at the end of the message con-
     tains  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 indicating 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.

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.

FreeBSD ports 15.quarterly	 August 8, 2017 			RWHOD(8)

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

home | help