tcpmon is used to monitor the data flowing on a TCP connection. tcpmon is used by placing it in-between a client and a server. The client is made to connect to tcpmon, and tcpmon forwards the data to server along-with displaying it in its GUI.
We use tcpmon for testing if repository sources are cached properly: Instead of connecting the site to the repository on a specific port, we connect to localhost on a port tcpmon listens to. Tcpmon forwards the request to the repository server. If sources are cached well, then after the first hit, NO tcpmon data transfer must be visible when refreshing the page!
You can find it here:
https://tcpmon.dev.java.net/
A sample test script for the CMS is available on the hippocms-dev mailing list: http://lists.hippo.nl/pipermail/hippocms-dev/2007-October/003771.html