dc_snoop - Distributed session cache traffic analysis
dc_snoop -listen <address> -server <address> [options]
dc_snoop runs as a transparent proxy supporting the distcache(8) protocol and (in theory) should work when inserted between any compliant tools. Ie. this can be used to monitor cache operation requests and responses between applications and dc_client, or between dc_client and dc_server.
This tool is still in early stages of development and is provided very much as-is. It is intended to be used by developers with access to the source code - for now, most configurable behaviour of dc_snoop is set in source code and can not be manipulated on the command-line.
-listen address Configures the address on which dc_snoop should listen for incoming connections. The syntax is that defined by the libnal API. -server address -connect address These flags are identical, and specify the address dc_snoop should transparently proxy all incoming connections to. For each connection accepted by dc_snoop (on the address specified by -listen) a corresponding connection is opened to the address specified by these flags. When either connection is closed, dc_snoop will correspondingly close the other connection. -h, -help, -? Any of these flags will cause dc_snoop to display a brief usage summary to the console and exit cleanly. Any other flags are ignored.
This example demonstrates the use of dc_snoop to monitor communications between an instance of dc_client and dc_server both running on the same machine using only unix domain sockets. Suppose the tools are started and tested using the following commands;
# Start services dc_server -daemon -listen UNIX:/tmp/cacheserver dc_client -deamon -listen UNIX:/tmp/cacheclient \ -server UNIX:/tmp/cacheserver # Run some tests dc_test -connect UNIX:/tmp/cacheclient
The following modification should be functionally equivalent (ignoring the additional latency and overhead of dc_snoops involvement) and should generate a log file of all cache transactions to logfile. Note the change to the -server flag in dc_client;
# Start services dc_server -daemon -listen UNIX:/tmp/cacheserver dc_client -deamon -listen UNIX:/tmp/cacheclient \ -server UNIX:/tmp/cachesnoop # Start dc_snoop logging to logfile in the background dc_snoop -listen UNIX:/tmp/cachesnoop \ -server UNIX:/tmp/cacheserver > logfile & # Run some tests dc_test -connect UNIX:/tmp/cacheclient
This program is incomplete and not at all configurable on the command-line.
dc_client(1) Distributed caching client proxy. dc_server(1) Distributed cache server. distcache(8) Overview of the distcache architecture. http://www.distcache.org/ Distcache home page.
This toolkit was designed and implemented by Geoff Thorpe for Cryptographic Appliances Incorporated. Since the project was released into open source, it has a home page and a project environment where development, mailing lists, and releases are organised. For problems with the software or this man page please check for new releases at the project web-site below, mail the users mailing list described there, or contact the author at email@example.com.
Home Page: http://www.distcache.org