TCP Viewer is a TCP tunnel. It is an intermediary program which acts as a blind relay. It is protocol agnostic. TCP Viewer captures and displays the data that it passes from clients to the intended server and vice-versa.
For a client to connect to a server, it must know the name or IP address of the machine that the server is running on, and which port number the server has established. The name or IP address of a machine is like the zip code of a mailing address. The port number is like the street address. You may be unaware of port numbers because most protocols have a default port number that is usually used. For example, HTTP's default port number is 80. Telnet's is 23.
To use TCP Viewer, TCP Viewer needs to be configured to communicate with the intended server and the client needs to be reconfigured to communicate with TCP Viewer. Another option is for the intended server to listen on a different port number than originally configured, and for TCP Viewer to run on the same machine as the intended server at the port number that the intended server was listening on. In the latter, the client configuration does not change. This is easier than it sounds. An example of the first will follow.
TCP Viewer works great with protocols, such as Telnet, that have a constant connection. For HTTP, use HTTP Recorder.
The following is an example on how to use TCP Viewer with HTTP.
1. Provide TCP Viewer with the name or IP address of the machine that the intended server is running on (Remote Host), and the port number that the intended server has established (Remote Port). For example, Remote Host=www.yahoo.com, Remote Port=80.
2. Provide TCP Viewer with a arbitrary port number to establish (Local Port). If 0 is provided, TCP Viewer will ask the OS for an available port number and display it. For example, Local Port=9000.
3. Click TCP Viewer's Start button.
4. Configure a client to connect to TCP Viewer instead of the intended server. This involves providing a client with the name or IP address of the machine that TCP Viewer is running on, instead of the machine that the intended server is running on, and the port number that TCP Viewer has established, instead of the port number that the intended server has established. For example, http://127.0.0.1:9000. Substitute 127.0.0.1 with the IP address of the machine that TCP Viewer is running on. TCP Viewer shows this IP address on its status bar.
TCP Viewer displays its output in a scrollable text box. This data may additionally be sent to a file as text or HTML. By default, only 32KB of data is kept in the scrollable text box. Higher data limits may be selected, including unlimited. It handles more than one connection.
Based upon the first transferred message, TCP Viewer will determine if the protocol is text based. If so, TCP Viewer will test each following message for text. If a message contains only text, TCP Viewer will display it as such. Else, TCP Viewer will show the message in hexadecimal and ASCII. If the protocol is HTTP, the HTTP headers will be displayed as text.