Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

TCPMon is a tool that can be used to view and monitor the messages passed along a TCP-based conversation. Therefore, this is a convenient tool, particularly useful for debugging when you develop Web services. TCPMon is an Apache project distributed under Apache 2.0 LicenseThis tool is not dependent on any third party libraries. Its user interface is based on a swing UI and works on almost all platforms that support Java.

The most common usage of TCPMon is as an intermediary, which monitors the communication between the client (front end) and the back end server. That is, the messages sent from the client are received by the intermediary instead of the back end server. 

Table of Contents
maxLevel3
minLevel3

Starting TCPMon

TCPMon is available in the <PRODUCT_HOME>/bin directory of any WSO2 Carbon based product distribution. Alternatively, you can download TCPMon from Apache and run the tool.

Running TCPMon (from Carbon product pack)

Ensure that the following prerequisites are fulfilled in order to run TCPMon.

...

  1. Go to <AS_HOME>/bin directory of your product pack.
  2. Execute the following command to run the tool.

    For Windows

    Code Block
    tcpmon.bat

    For Linux

    Code Block
    ./tcpmon.sh

Running TCPMon (downloaded from Apache)

To download TCPMon from Apache and run the tool: 

  1. Download TCPMon from the following location: http://archive.apache.org/dist/ws/tcpmon/1.0/tcpmon-1.0-bin.zip.
  2. Extract tcpmon-1.0-bin.zip archive.
  3. Go to the build of the extracted directory to find the execution script.
  4. Execute the following command to run the tool.

    For Windows

    Code Block
    tcpmon.bat

    For Linux

    Code Block
    ./tcpmon.sh

Monitoring Messages between Client and Server

The following diagram depicts a typical communication between the front end client and the back end server. 80 is the listening port of the back end server which receives the messages from the client

 

The following diagram depicts how TCPMon is placed between the client and the server in order to monitor the messages. 8081 is the listening port in TCPMon which receives the messages from the client instead of the back end server: 

...

  1. Start TCPMon. Follow the instructions on Message Monitoring with Starting TCPMon
  2. Give 8081 (the listening port of TCPMon) in the Listen Port field (This could be any unused port in your local machine).
  3. Give the address of the back end server as the target hostname. For example, if you are monitoring messages sent to  www.apache.org, enter this web address as the hostname.
  4. Give 80 as the target port, which is the listening port of www.apache.org.
  5. Click Add to save the setting.
  6. Now, point the browser to 'localhost:8081' instead of www.apache.org.
  7. A new tab in TCPMon will indicate the 8081 port. You can view the requests and responses passing through TCPMon as shown below.
  8. The options at the bottom of the screen can be used to have the messages in XML format (useful in debugging Web services), to save and resend the messages and also to switch the layout of the message windows.

...