Author: theninja

Debugging or Checking Out – Proxy Surfing

Proxy Surfing – Checking the Proxies

Before you trust your data using that nice, new shiny proxy that you found online. You’re going to want to check it out – so what can you do before you start proxy surfing. Well believe it or not every single one of us has the perfect tool on our computer – it’s called telnet. Now you may think this is a little bit basic but you can actually get quite a lot of information on a proxy server just by using this simple program.

HTTP (Hyper Text Transfer Protocol) is the mainstay of our proxy, it’s raison d’etre if you like. Fortunately for us HTTP is a completely ASCII protocol operating in clear text which makes it perfect for using Telnet with. None of that complicated decompiling of binary data for us, all our responses can be read in plain (well a little Geeky) English.

 

Understanding Proxies

So How Do We Use Telnet to Debug Proxies?

It’s actually quite straight forward and uses the standard Telnet Syntax –

Telnet {Proxy Address} (Proxy Port}

So if you wanted to check out your college proxy server then simply –

Telnet collegeproxy.com 8080

This will get the telnet program to attempt to connect to the proxy server (or in fact any web server as well).   If you don’t get blocked by a firewall or restricted by policy you’ll get something like this –

Connected to collegeproxy.com

Escape character is   ‘^]’

Followed by a cursor sign (usually an underscore _).  When you’re at this point anything you’ll type will be sent to the server.

So here you can forward any HTTP requests directly to the server without using a browser.  But it will also allow you to see proper error codes and the responses the server is making.

For instance if you get the response

– telnet: Unable to connect to remote host: Connection refused

This suggests that the server process is not running or it’s not listening on the port you specified (telnet will connect by default on 23 if  you don’t specify).  It’s really great way of troubleshooting issues with web servers, proxies or any web enabled device.  It’s also helpful in determining when problems are occurring in other services,  for instance you can check out problems with Smart DNS  or HTTP services by logging on to their specific ports.