# $Id: README,v 1.3 2008/08/05 22:47:04 ksb Exp $ This is the dead-drop code I use to collect some stats from hosts when they don't fit in a single UDP datagram. It is kind of like TFTP in write mode, but more clever about the incoming filename. We don't let the client pick any name, we filter the data for a filename, but fall back to the client's IP address a lot. We really want the filename to me a FQDN or an IP address. Install the program in /usr/local/libexex/recvmux, put a mortal account up like "diag" (I used group "sample" for the primary login group), then make a directory in /var/ like "/var/diag" and add this service to tcpmux.conf or to your inetd's configuration file: tcpmux/diag stream tcp nowait diag:sample /usr/local/libexec/recvmux recvmux -D /var/diag Now reload or HUP inetd to make the service active. That should add the service "diag" to port 1 (tcpmux's) help list: $ telnet localhost 1 ... Connected to localhost. Escape character is '^]'. help ... help diag ... $ If that worked you can send a stream to the service with "muxsend" as: df | muxsend localhost diag Which should show up as a file named "127.0.0.1" in /var/diag. If that works you can tinker with the parameters (see the man page). If you tune the regexp in the service line (viz. -R #\s*(.*) ) then you can send the name of the host as a third parameter to the service (it will map non-hostname or address characters to a single underscore). So for example: date |muxsend localhost '# myself' results in a file name "myself" with an inital line of # myself then the present date. -- ksb, Aug 2008