WatchConnect

What It Does

WatchConnect lets you look at what is being sent between real clients and servers. It is a simple but powerful tool for diagnosing "Connection failed" messages, especially between smaller clients like smart phones and tablet PCs which have minimal error reporting, logging, and debugging aids. Seeing the actual communications between systems is oftentimes more useful than error messages or log entries on either the client or the server.

How It Does It

Using WatchConnect is a two step process: one, tell WatchConnect about the client and server; and two, reconfigure the client to talk to WatchConnect instead of the server. This inserts WatchConnect between the client and the server, so all traffic flows thru it. The same communication happens between the client and the server as without WatchConnect in the middle, but with WatchConnect in the middle the communication is now visible.

The first step creates what we call a "connector". A connector links the IP address of your client to the IP address of the right server. In the second step, you redirect your client to WatchConnect instead of the original server, so you have to give WatchConnect the original server addressing info so it can make the connection. You create, view, and manage connectors from the WatchConnect webpage WatchConnect.

Input Parameters

Client (source) IP:
The IP address from which the test will originate
for example the IP address of your touchpad PC
Server (destination) IP:
The IP address to which the test should connect
for example the IP address of the email server
Server (destination) Port:
The port to which the test should connect

After filling in these fields, click Create Connector. The contents of your connector's log file will appear (it should be empty).

Output

Once you've created the WatchConnect connector, tell your client to connect to WatchConnect instead of the real server. Change the IP address and port on the client (which you should have replicated in the WatchConnect connector) to watchconnect.checktls.com (address) and 1025 (port).

Now every time your client tries to connect to the server, to get or send email, to sync data, whatever the client/server application, the entire conversation will be logged in your connector. Click the Refresh Log button to after a connection to view the conversation.

The output shows everything sent and received between the two systems. New connections are indicated with a header line showing date, time, from IP, and to IP. Data sent from the client is prefixed with "C:", and data sent from the server is prefixed with "S:". Other than that, no annotation or formatting is added, and no data is deleted or suppressed. For example:

Use the Clear Log button to delete previous conversations.

When you are finished testing, use the Delete Connector button to delete the connector.

You can leave your connector running for several days. To return to it, enter the exact same Input Parameters and click Create Connector. This is effectively a user/password authentication to return you to the connector. Your existing conversations log will display and you can continue to manage the connector.

Notes

We recommend using test data rather than real, high security data when using WatchConnect. While we maintain high security standards, we will not assume responsibility to protect your client/server data. If you do use real data, you should copy the results and clear your log or delete your connector promptly.

WatchConnect works on binary data as well as pure text. Among other things, this means it works with encrypted client/server communications too. It (obviously!) cannot show the unencrypted data, but it does show what comes before and/or after the encryption as well as the raw encrypted data stream.

The core of WatchConnect is a java application that we make available for custom use. This includes watching private connections that are not Internet accessible, long term visibility into client/server communications, watching very sensitive data, etc. Contact us for more information.