TCP Viewer Intro
TCP Viewer captures and displays all data that is transferred between client processes and a server process communicating through TCP/IP. The processes can be running on the same machine or different machines located anywhere on a network or the Internet. TCP Viewer can run on a machine different than the machine(s) that the processes are running on. An example of a client and server is a web browser and web server.

TCP Viewer can be used by a developer to debug protocol problems or by anyone who is curious about what data is passed between processes.


TCP Viewer License Agreement
By installing and using TCP Viewer you are agreeing to be bound by the terms of this Agreement.

License Code

You are provided with a license code when you register. You may not distribute the license code outside of your company.

Distribution of Software

You may make as many copies of the software as you wish; give exact copies of it to anyone; and distribute the software in its unmodified form via electronic means. There is no charge for any of the above.

Prohibition on Reverse Engineering, Decompilation, and Disassembly

You may not reverse engineer, decompile, or disassemble TCP Viewer or any of its components.

Governing Law

This agreement shall be governed by the laws of the State of Florida.

Disclaimer of Warranty

THIS SOFTWARE AND THE ACCOMPANYING FILES ARE SOLD "AS IS" AND WITHOUT WARRANTIES AS TO PERFORMANCE OF MERCHANTABILITY OR ANY OTHER WARRANTIES WHETHER EXPRESSED OR IMPLIED. Because of the various hardware and software environments into which TCP Viewer may be put, and the warranty disclaimers of the software used to create TCP Viewer and the software used when it runs, NO WARRANTY OF FITNESS FOR A PARTICULAR PURPOSE IS OFFERED.

Good data processing procedure dictates that any program be thoroughly tested with non-critical data before relying on it. The user must assume the entire risk of using the program. ANY LIABILITY OF THE SELLER WILL BE LIMITED EXCLUSIVELY TO PRODUCT REPLACEMENT OR REFUND OF PURCHASE PRICE.


TCP Viewer Registering
The registration fee for TCP Viewer is $20 and licenses everyone in your company to use it. If your company resides in Florida and you will not be registering TCP Viewer through the ShareIt! Registration Service, add 6.5% for sales tax.

When payment is received, you will be sent a code. When this code is provided to TCP Viewer, it will enable the additional features. The addtional features are that data can be logged to a file, a data limit higher than 32KB can be selected for the scrollable text box, and there can be more than four simultaneous connections.

All orders are subject to the License Agreement.

Check
Send this registration form and a check payable to the author. Payment must be in US dollars drawn on a US bank.

Purchase Order
Purchase orders are accepted, provided that they are submitted on purchase order forms with a purchase order number. Include this registration form with your purchase order and send it to the author.

Additional payment options are provided by ShareIt! Registration Service.
To pay with a credit card securely over the Internet, go to http://www.shareit.com and enter 134102 for the program ID. Else, call ShareIt! at 1-800-903-4152. Europen customers, call +49-221-2407278. When calling, refer to program ID 134102.

Registration Fee:                     ________$20

Florida Residents add 6.5% sales tax: ___________

Total payment:                        ___________

   Name: ________________________________________

Company: ________________________________________

Address: ________________________________________

         ________________________________________

   City: ______________ State: __ Zip: __________

Country: ______________ Day Phone: ______________

 E-Mail: ________________________________________


TCP Viewer Details
A program that is similar to TCP Viewer is TCP Spy. TCP Spy works much differently than TCP Viewer. TCP Spy captures and displays all sockets calls that an application makes and the data that is sent on the application's sockets. After TCP Spy's Start button is clicked, the next application that makes a socket call will be spyed. For more information on TCP Spy, visit http://www.westbrooksoftware.com.

TCP Viewer is a gateway. It is a server which acts as an intermediary for some other server. Unlike a proxy, a gateway receives requests as if it were the intended server and is protocol agnostic. The client is unaware that it is communicating directly with a gateway and indirectly with the intended server. 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 and an example of the first will follow.

TCP Viewer works great with protocols, such as Telnet, that have a constant connection. For other protocols, such as HTTP, a proxy should be used and TCP Viewer should be the gateway between the client and the proxy. This is discussed later. And, a link to a free proxy is provided.

The following is an example on how to use TCP Viewer with HTTP, without considering whether a proxy is being used.

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.

Despite the example, a proxy should be used for protocols such as HTTP. For a free proxy, go to: http://www.analogx.com/contents/download/network/proxy.htm. Consult your client software's documentation on how to configure your client to use a proxy. You will need to configure the client software to communicate with TCP Viewer as its proxy, and configure TCP Viewer to communicate with the real proxy. Make sure the proxy is running before the proxy settings are altered.

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.

The unregistered version does not provide the option of sending data to a file, only keeps 32KB of data in the scrollable text box and handles a maximum of four simultaneous connections. When you register TCP Viewer, you will be sent a code that enables the additional features.


TCP Viewer Requirements
· Windows 9X/ME/NT/2000/XP

· 2MB RAM

· 1MB hard disk space


Contact Information
Name

David Westbrook

Electronic Mail Address

david@westbrooksoftware.com

Phone

1-877-634-6754 (Toll Free)

World Wide Web

http://www.westbrooksoftware.com

Postal Address

11129 Harbour North Lane

Jacksonville, FL 32225-1088


TCP Viewer Command-line Parameters
No command-line parameters need to be provided to TCP Viewer. If provided, it must conform to the following Usage statement:

Usage: TCPVIEWR <remote host> <remote port> <local port> [-file <log file>] [-size 32KB|128KB|512KB|2MB|Unlimited] [-detail LOw|Medium|High] [-auto]

-auto causes TCP Viewer to 'Start' automatically. And, it will not prompt for confirmation, when closing, if the local port is still opened.