TCP/IP High-level protocol debugging - Part 2
How come TCP/IP Builder idea?
We have talked about high-level protocol debugging in Part 1 of this article. We have
described steps to debug a server application using TCP/IP Builder open source tool. In this
part we will describe how to use it for debugging a client application.
This time I will try to focus on how to use TCP/IP Builder and not in the high-level
protocol's facts. Therefore, I have chosen a simpler application case.
Using TCP/IP Builder for client debugging
Assume we have a mail client application (i.e.: Outlook Express) configured for
downloading mail from a POP3 account. This account is working normally and we are able to
receive mail for this mailbox address but we do not have the password for this account. We can
receive mail because our mail client holds our passwords in its database but we can't recover
it because it is encrypted.
Well, we can use TCP/IP Builder to act as POP3 server in our own workstation, then
configure our mail client to download mail for this account from our own IP address. When our
client tries to authenticate, it will send username and password to the server (actually to
TCP/IP Builder). All we have to do is send messages to our client application as if we were a
- Start TCP/IP Builder.
- Fill in your local IP in the 'Local IP' field and Local port with a 110 value. (110 is
the standard port for POP3 protocol)
- Chose TCP and then, Create Socket.
- To make TCP/IP Builder to 'listen' for connections click 'Listen' button.
- Your receive data section will show this message: 'Listening for connections...' if all
- Start your mail client. (I will assume you already have an account, if not please configure an
- Change your client configuration to make it use your local IP address as the POP3 server
- Make you client to check for new messages.
- By this time, your mail client should be connected to TCP/IP Builder. You will see:
'Listening for connections...Connected'
- The POP3 client will wait for the server greeting message: Write '+OK FAKE POP3 server
ready' followed by Enter key, then click Send button.
- The client application will send username upon +OK message reception. The username comes
in the following format: USER <username>
- We must reply with '+OK User name accepted, password please' in order to receive the
password. It will come in the PASS <password> format.
- At this time we have got the password for this mail account. Usually a POP3 server will
send the '+OK Mailbox open, 0 messages' message where 0 will be the number of messages in
If you want to know about the Post Office Protocol Version 3 (POP3) you can get the full
specification at http://rfc.net/rfc1939.html
If you found this to be an useful document, don't forget to share it.