.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.13 .\" .\" Standard preamble: .\" ======================================================================== .de Sh \" Subsection heading .br .if t .Sp .ne 5 .PP \fB\\$1\fR .PP .. .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. | will give a .\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to .\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C' .\" expand to `' in nroff, nothing in troff, for use with C<>. .tr \(*W-|\(bv\*(Tr .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' 'br\} .\" .\" If the F register is turned on, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . nr % 0 . rr F .\} .\" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .hy 0 .if n .na .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "DC_SNOOP 1" .TH DC_SNOOP 1 "2004.03.23" "1.4.5" "distcache" .SH "NAME" dc_snoop \- Distributed session cache traffic analysis .SH "SYNOPSIS" .IX Header "SYNOPSIS" \&\fBdc_snoop\fR \-listen
\-server
[options] .SH "DESCRIPTION" .IX Header "DESCRIPTION" \&\fBdc_snoop\fR runs as a transparent proxy supporting the \fIdistcache\fR\|(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 \fBdc_client\fR, or between \fBdc_client\fR and \fBdc_server\fR. .PP 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 \fBdc_snoop\fR is set in source code and can not be manipulated on the command\-line. .SH "OPTIONS" .IX Header "OPTIONS" .IP "\fB\-listen\fR address" 4 .IX Item "-listen address" Configures the address on which \fBdc_snoop\fR should listen for incoming connections. The syntax is that defined by the \fIlibnal\fR \s-1API\s0. .IP "\fB\-server\fR address" 4 .IX Item "-server address" .PD 0 .IP "\fB\-connect\fR address" 4 .IX Item "-connect address" .PD These flags are identical, and specify the address \fBdc_snoop\fR should transparently proxy all incoming connections to. For each connection accepted by \fBdc_snoop\fR (on the address specified by \fB\-listen\fR) a corresponding connection is opened to the address specified by these flags. When either connection is closed, \fBdc_snoop\fR will correspondingly close the other connection. .IP "\fB\-h\fR, \fB\-help\fR, \fB\-?\fR" 4 .IX Item "-h, -help, -?" Any of these flags will cause \fBdc_snoop\fR to display a brief usage summary to the console and exit cleanly. Any other flags are ignored. .SH "EXAMPLES" .IX Header "EXAMPLES" This example demonstrates the use of \fBdc_snoop\fR to monitor communications between an instance of \fBdc_client\fR and \fBdc_server\fR both running on the same machine using only unix domain sockets. Suppose the tools are started and tested using the following commands; .PP .Vb 6 \& # Start services \& dc_server -daemon -listen UNIX:/tmp/cacheserver \& dc_client -deamon -listen UNIX:/tmp/cacheclient \e \& -server UNIX:/tmp/cacheserver \& # Run some tests \& dc_test -connect UNIX:/tmp/cacheclient .Ve .PP The following modification should be functionally equivalent (ignoring the additional latency and overhead of \fBdc_snoop\fR's involvement) and should generate a log file of all cache transactions to \fIlogfile\fR. Note the change to the \fB\-server\fR flag in \fBdc_client\fR; .PP .Vb 9 \& # Start services \& dc_server -daemon -listen UNIX:/tmp/cacheserver \& dc_client -deamon -listen UNIX:/tmp/cacheclient \e \& -server UNIX:/tmp/cachesnoop \& # Start dc_snoop logging to logfile in the background \& dc_snoop -listen UNIX:/tmp/cachesnoop \e \& -server UNIX:/tmp/cacheserver > logfile & \& # Run some tests \& dc_test -connect UNIX:/tmp/cacheclient .Ve .SH "BUGS" .IX Header "BUGS" This program is incomplete and not at all configurable on the command\-line. .SH "SEE ALSO" .IX Header "SEE ALSO" .IP "\fIdc_client\fR\|(1)" 4 .IX Item "dc_client" Distributed caching client proxy. .IP "\fIdc_server\fR\|(1)" 4 .IX Item "dc_server" Distributed cache server. .IP "\fIdistcache\fR\|(8)" 4 .IX Item "distcache" Overview of the distcache architecture. .IP "\fIhttp://www.distcache.org/\fR" 4 .IX Item "http://www.distcache.org/" Distcache home page. .SH "AUTHOR" .IX Header "AUTHOR" 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 \fIgeoff@geoffthorpe.net\fR. .PP Home Page: \fIhttp://www.distcache.org\fR