A proxy is a server that serves as a middle-man for users connecting to other servers. The user submits a request and the proxy communicates with the website or resource to fulfill that request on the user's behalf. By doing this, the server or resource identifies the proxy's IP address instead of that of the user. The proxy can also allow the user to bypass filters. For instance, a server that restricts its use based on location only allows requests from IP addresses within that location. By using a proxy within that location, the server can be tricked into granting access to the user.
There are many different types of proxies. For our purposes, we will be discussing Forward, Open, Reverse, Transparent/Forced/Intercept and Web proxies. I will attempt to write all of the computer-speak in terms that may be understood by the computer-illiterate.
Step 1: Types of Proxies
An open proxy is accessible to anyone on the internet. It is usually in the form of a web browser or website. The user can surf the web using the open proxy, and conceal their IP address from the servers and sites they visit.
A reverse proxy appears to be a normal server. Requests sent by the user to the proxy are forwarded to a hidden internal web server that processes the user's request. These are most commonly used at libraries and workplaces, to monitor user activity.
A transparent proxy intercepts the user's network communication without his knowledge and without any user configuration. There are two methods used in transparent proxy implementation: GRE Tunneling aka OSI Layer 3 and MAC rewrites aka OSI Layer 2. Generic Routing Encapsulation Tunneling was developed by Cisco Systems to encapsulate network layer protocols within point-to-point links. GRE is used to send IP packets between networks without having them sniffed. This allows the user to surf the web without revealing his IP, and provides encryption on any packets sent by the user. GRE is done using OSI Layer 3. The network layer, known as OSI 3, is the third layer of the seven layer OSI model of computer networking. MAC rewriting is a protocol that allows for rewriting your MAC address for Layer 2 tunneling.
A web proxy is the most common form of proxy, and is a subset of the open proxy. It allows users to input a website's URL, and it subsequently opens that website in the user's browser window.
As far as proxies go, there are typically 4 levels of user anonymity. Level 1 provides no anonymity: The remote host knows the user's IP address, and is aware that the user is using a proxy. Level 2 (low): The remote host does not know the user's IP address, but is aware that the user is using a proxy. Level 3 (medium): The remote host does not know the user's true IP address, but is aware that the user is using a proxy. Inbound interface is displayed as "REMOTE_ADDR" for the remote host. Level 4 (high): The remote host does not know the user's IP address, and is unaware that the user is using a proxy. Below are instructions for using a proxy IP with your web browser: