How Proxy Anonymity Works

The exchange of information on the Internet is carried out on a client-server model. The client sends a request (what files he needs) and the server sends a reply (what files he needs). For close cooperation (full understanding) between the client and the server, the client sends additional information about itself: the version and name of the operating system, the configuration of the browser (including its name and version), etc.

This information is required by the server to know which web page to provide to the client. There are several different web page variants for different browser configurations. However, web pages usually do not depend on the browser, so it is quite possible to hide this information from the web server.

proxy

Data that the browser sends to the web server

  • Operating system name and version
  • Browser name and version
  • Browser configuration (display resolution, color depth, java/javascript support)
  • Client IP address
  • Other information

The most important part of such information and not required by the web server is information about the IP address. From the IP, the following information can be obtained:

  • Country where IP originates
  • The city where the IP originated
  • Service provider name and email
  • The physical address of the IP owner

Environment Variables

The information sent by the client to the server can be accessed by the server as environment variables. Each unit of information is the value of some variable. If any unit of information is not passed, then the corresponding variable will be empty (the value is not specified).

The following are some environment variables:

REMOTE_ADDR ? TheIP address of the client

HTTP_VIA ? If it is not empty, then a proxy is used. Value is the address (or addresses) of the proxy server, this variable is added by the proxy server itself if you use it.

HTTP_X_FORWARDED_FOR ? If it is not empty, then a proxy is used. The value is the client’s original IP address (your IP), this variable is also added by the proxy server if you use it.

HTTP_ACCEPT_LANGUAGE ? What language is used in the browser (what language should be displayed on the page)

HTTP_USER_AGENT ? Also called “user agent”. For all browsers, this is Mozilla. In addition, the name and version of the browser (e.g. MSIE 5.5) and operating system (e.g. Windows 10) are also mentioned here.

HTTP_HOST ? is the name of the web server

In addition to the variables mentioned above, there are many other environmental variables such as DOCUMENT_ROOT, HTTP_ACCEPT_ENCODING, HTTP_CACHE_CONTROL, HTTP_CONNECTION, SERVER_ADDR, SERVER_SOFTWARE, SERVER_PROTOCOL, and others. The number of variables depends on server and client settings.

The following are examples of variable values:

REMOTE_ADDR = 194.5.1.1

HTTP_ACCEPT_LANGUAGE = ru

HTTP_USER_AGENT = Mozilla/4.0 (compatible; MSIE 5.0; Windows XP)

HTTP_HOST = www.webserver.ru

HTTP_VIA = 194.5.1.1 (Squid/2.4.STABLE7)

HTTP_X_FORWARDED_FOR = 194.5.5.5

Proxy Anonymity on the Internet

Anonymity on the Internet is determined by environment variables that are hidden from web servers. If a proxy server is not used, then the environment variables will look as follows:

REMOTE_ADDR = Your IP

HTTP_VIA = not specified

HTTP_X_FORWARDED_FOR = not specified

According to how environment variables are “hidden” by proxy servers, there are several types of proxies

Transparent Proxy

This proxy does not hide information about your IP address:

REMOTE_ADDR = proxy IP

HTTP_VIA = proxy IP

HTTP_X_FORWARDED_FOR = Your IP

The function of the proxy server is not to increase your anonymity on the Internet. Its purpose is to monetize information, organize shared access to the Internet from several computers, etc.

Anonymous Proxies

All proxy servers, which hide the IP address of the client in any way are called anonymous proxies.

Simple Anonymous Proxy

This proxy server does not hide the fact that a proxy is used, but replaces your IP with its own:

REMOTE_ADDR = proxy IP

HTTP_VIA = proxy IP

HTTP_X_FORWARDED_FOR = proxy IP

This proxy is the most widely used among other anonymous proxy servers.

Distorting Proxies

As with any simple anonymous proxy server, it does not hide the fact that a proxy server is used. However, the client’s IP address (your IP address) is replaced with another IP (arbitrary, random):

REMOTE_ADDR = proxy IP

HTTP_VIA = proxy IP

HTTP_X_FORWARDED_FOR = random IP address

High Anonymity Proxies

These proxy servers are also called “high anonymity proxies”. Unlike other types of anonymous proxy servers, these proxy servers hide the fact of proxy usage:

REMOTE_ADDR = proxy IP

HTTP_VIA = not specified

HTTP_X_FORWARDED_FOR = not specified

That means that the value of the variable is the same as if the proxy is not used, except for one very important thing. A proxy IP is used instead of your IP address.

Summary

Depending on the purpose, some proxies are transparent and anonymous. However, remember, by using a proxy server you only hide your IP from the web server, but other information (about browser configuration) can be accessed!

Latest Articles