dc_snoop (1) - Linux Manuals

dc_snoop: Distributed session cache traffic analysis


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_snoop's 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.


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 geoff [at] geoffthorpe.net.

Home Page: http://www.distcache.org


Distributed caching client proxy.
Distributed cache server.
Overview of the distcache architecture.
Distcache home page.