Mutt
Professional
- Messages
- 1,459
- Reaction score
- 1,251
- Points
- 113
Proxy
Good day, in this article we will talk about what types of proxies are, how to use them and how to check the quality of the proxy.
What are proxies, how they differ, types of proxies
In this article we will consider all the most important about proxies: what is a proxy, what types of proxies are, how they differ. We will take a look inside their work: we will see how these proxies reveal our real IP in their headers and learn how to independently double-check the anonymity of the proxy.
A proxy is a program that performs an action for another program, that is, it is an intermediary. This whole process is called proxying.
A web proxy is a type of proxy that is designed to make requests to websites and web applications.
Web proxies can be used for the following purposes:
Since sometimes proxies are used to anonymize and hide the real IP address, it is necessary to clearly understand how they work and the options for their configuration in order to accurately understand the possible risks.
Let's ask ourselves a question: does the use of a web proxy mean that our IP address is necessarily hidden from the site we are accessing? We will answer this question a little later.
Let's consider the types of proxies from a technical point of view, namely, by the types of protocols:
HTTP proxies: allow you to visit websites and download files over the HTTP protocol (requests are sent in plain text, no encryption).
HTTPS proxies: (also called SSL proxies): With these proxies, you can browse websites using HTTP and HTTPS protocols (data is encrypted). With special software, they can be used with any protocol such as SOCKS proxy.
It should be noted that the proxies discussed above do not hide from the third party (to which they are making a request) the fact that the proxy is accessing it. Quite often they add proxy-specific HTTP headers, and sometimes (depending on the settings) they can show in the headers the IP address of the host for which they are making a request. That is, using a proxy does not mean that your IP address is reliably hidden from the site you are accessing!
SOCKS 4 proxy: can be used with any TCP / IP protocol, with any destination address and port. Unlike HTTP proxy servers, SOCKS transmits all data from the client without adding anything from itself, that is, from the point of view of the final server, the data received by it from the SOCKS proxy is identical to the data that the client would send directly, without proxying ... SOCKS is more versatile, it does not depend on specific application layer protocols and operates at the TCP connection level. On the other hand, the HTTP proxy caches data and can filter the content of the transmitted data more thoroughly.
SOCKS 5: In addition to SOCKS 4 capabilities, it can also use UDP protocol, make DNS queries and use BIND port forwarding function, supports domain names and IPv6 addresses. And, perhaps, the main difference is the support for authentication. That is, you can set a username and password, without which it is impossible to use a proxy.
What type of proxy should you choose? First of all, it depends on what types of proxies are supported by the program you are going to use. If it only supports one kind of proxy, then the answer is obvious. If several types of proxies are supported, then preference can be given to SOCKS 5 as the most versatile option.
Proxy anonymity
Anonymity is an interesting question, in this case we are talking about anonymity for the site to which the request is made. The proxy owner sees the IP anyway. But the proxy itself can transmit the IP address to the site for which the request is made. Consider the following classification of proxies based on anonymity:
No anonymity: the remote host knows your IP address and knows that you are using a proxy.
Low anonymity (also called transparent, transparent proxies): the remote host does not know your IP, but knows that you are using a proxy.
Medium anonymity: the remote host knows that you are using a proxy and thinks it knows your IP, but this IP is not yours (these are usually multihomed proxies that show their incoming interface as REMOTE_ADDR to the target host).
Highly Anonymous: The remote host does not know your IP and has no direct evidence of a proxy being used (HTTP header lines that proxies like to send). If such hosts do not send additional header lines, then they can be considered highly anonymous. If an anonymous proxy supports keep-alive, then it can be considered extremely anonymous. Nevertheless, such hosts are most likely honey-pots (decoys for monitoring user actions and identifying new methods of attacks and hacks made).
It should be noted that this division by types of anonymity is applicable only to HTTP proxies . And this division is based only on whether these proxies add headers to your request or not - then we can see these headers with our own eyes.
SOCKS4 / 5, in principle, cannot add anything to the HTTP protocol headers, since they operate at a different level (at the TCP protocol level).
HTTPS (SSL) proxies also cannot add any headers, since HTTPS traffic passes through them in encrypted form. Nevertheless, usually HTTPS proxies also support working with HTTP - and if a request comes from a site using this protocol, then the proxy can send your IP address in the header. Let's remember this - this information will be useful to us very soon: that is, headers can only be added to HTTP traffic, but an HTTPS proxy is not a guarantee of anonymity, since the site can send a request via the HTTP protocol and we do not know how the proxy will behave.
You can also mention other properties of proxies: uptime (how much of the time they are available, that is, they work), their bandwidth, country affiliation, and other characteristics.
How to enable proxy
Proxies can be enabled at the application level or at the operating system level.
When you enable a proxy in a certain program, only it will access the Internet through the proxy, and other applications will connect directly.
When proxy is enabled at the operating system level, this does not guarantee that all programs will access the Internet through the proxy - some programs ignore the proxy system settings.
Enabling proxies in web browsers
Google Chrome, Opera and Internet Explorer browsers use the same settings. Those. the changes made will apply immediately to all three browsers. In any of them, go to the Proxy settings, the following window will open:
In the window, click "Network Settings". In the new window that opens, check the box " Use a proxy server for local connections ... ":
The "Advanced" button will become active, press it. Select the required proxy type and enter its IP and port:
Click OK in all windows to save the settings.
To change settings in Firefox go to Settings -> Advanced -> Network -> Customize. In the window that opens, set the switch to Manual proxy server settings . Enter the IP and port of the proxy server. Click OK to save the settings.
How to check proxy anonymity yourself
We do not have to trust the information about the level of anonymity of the proxy - we can perform an independent check.
The circuit is pretty simple:
For implementation, you need hosting sites - any, the main thing is that there is support for PHP. We upload a file with the content to this hosting:
Now turn on the proxy and open this file in a web browser.
There is also a small service that will help determine the level of proxy anonymity - http://suip.biz/?act=proxy-checker
It is important to open the address using the HTTP protocol, not HTTPS.
The page will show all HTTP headers that came from your side, if there are proxy specific headers, they will be highlighted in red:
Other ways to identify proxies
There are other ways to indirectly confirm that the remote user is using anonymization tools. You can get acquainted with them on the corresponding online services that are trying to find gaps in your proxies:
Many methods are tied to the browser and JavaScript: DNS leaks, different IP time zones and in the browser, and so on.
A more or less universal way is to scan the ports of a remote user.
Tor browser request headers
Tor is also a SOCKS5 proxy. But SOCKS5 doesn't add any headers. True, the Tor browser itself removes (more precisely, does not send) some headers to increase anonymity. This behavior issues requests from the Tor browser.
Port scans can also give hints of using Tor.
Conclusion
There is nothing difficult in checking the anonymity of a proxy - just look at the headers that come to the remote server.
SOCKS proxies do not add anything and do not give out the user's IP addresses, but when using a proxy, you should always remember about HoneyPots.
You also need to understand that the proxy server can keep a log in which the IP addresses of users are stored.
An example of a site for obtaining a proxy: https://proxy-daily.com
Good day, in this article we will talk about what types of proxies are, how to use them and how to check the quality of the proxy.
What are proxies, how they differ, types of proxies
In this article we will consider all the most important about proxies: what is a proxy, what types of proxies are, how they differ. We will take a look inside their work: we will see how these proxies reveal our real IP in their headers and learn how to independently double-check the anonymity of the proxy.
A proxy is a program that performs an action for another program, that is, it is an intermediary. This whole process is called proxying.
A web proxy is a type of proxy that is designed to make requests to websites and web applications.
Web proxies can be used for the following purposes:
- speed up website loading;
- testing online services;
- bypassing the restrictions of the Local Network Administrator on access to certain website addresses;
- hiding the real IP address and anonymous access to websites;
- gaining access to websites closed for viewing by users of certain countries;
- and many other purposes.
Since sometimes proxies are used to anonymize and hide the real IP address, it is necessary to clearly understand how they work and the options for their configuration in order to accurately understand the possible risks.
Let's ask ourselves a question: does the use of a web proxy mean that our IP address is necessarily hidden from the site we are accessing? We will answer this question a little later.
Let's consider the types of proxies from a technical point of view, namely, by the types of protocols:
HTTP proxies: allow you to visit websites and download files over the HTTP protocol (requests are sent in plain text, no encryption).
HTTPS proxies: (also called SSL proxies): With these proxies, you can browse websites using HTTP and HTTPS protocols (data is encrypted). With special software, they can be used with any protocol such as SOCKS proxy.
It should be noted that the proxies discussed above do not hide from the third party (to which they are making a request) the fact that the proxy is accessing it. Quite often they add proxy-specific HTTP headers, and sometimes (depending on the settings) they can show in the headers the IP address of the host for which they are making a request. That is, using a proxy does not mean that your IP address is reliably hidden from the site you are accessing!
SOCKS 4 proxy: can be used with any TCP / IP protocol, with any destination address and port. Unlike HTTP proxy servers, SOCKS transmits all data from the client without adding anything from itself, that is, from the point of view of the final server, the data received by it from the SOCKS proxy is identical to the data that the client would send directly, without proxying ... SOCKS is more versatile, it does not depend on specific application layer protocols and operates at the TCP connection level. On the other hand, the HTTP proxy caches data and can filter the content of the transmitted data more thoroughly.
SOCKS 5: In addition to SOCKS 4 capabilities, it can also use UDP protocol, make DNS queries and use BIND port forwarding function, supports domain names and IPv6 addresses. And, perhaps, the main difference is the support for authentication. That is, you can set a username and password, without which it is impossible to use a proxy.
What type of proxy should you choose? First of all, it depends on what types of proxies are supported by the program you are going to use. If it only supports one kind of proxy, then the answer is obvious. If several types of proxies are supported, then preference can be given to SOCKS 5 as the most versatile option.
Proxy anonymity
Anonymity is an interesting question, in this case we are talking about anonymity for the site to which the request is made. The proxy owner sees the IP anyway. But the proxy itself can transmit the IP address to the site for which the request is made. Consider the following classification of proxies based on anonymity:
No anonymity: the remote host knows your IP address and knows that you are using a proxy.
Low anonymity (also called transparent, transparent proxies): the remote host does not know your IP, but knows that you are using a proxy.
Medium anonymity: the remote host knows that you are using a proxy and thinks it knows your IP, but this IP is not yours (these are usually multihomed proxies that show their incoming interface as REMOTE_ADDR to the target host).
Highly Anonymous: The remote host does not know your IP and has no direct evidence of a proxy being used (HTTP header lines that proxies like to send). If such hosts do not send additional header lines, then they can be considered highly anonymous. If an anonymous proxy supports keep-alive, then it can be considered extremely anonymous. Nevertheless, such hosts are most likely honey-pots (decoys for monitoring user actions and identifying new methods of attacks and hacks made).
It should be noted that this division by types of anonymity is applicable only to HTTP proxies . And this division is based only on whether these proxies add headers to your request or not - then we can see these headers with our own eyes.
SOCKS4 / 5, in principle, cannot add anything to the HTTP protocol headers, since they operate at a different level (at the TCP protocol level).
HTTPS (SSL) proxies also cannot add any headers, since HTTPS traffic passes through them in encrypted form. Nevertheless, usually HTTPS proxies also support working with HTTP - and if a request comes from a site using this protocol, then the proxy can send your IP address in the header. Let's remember this - this information will be useful to us very soon: that is, headers can only be added to HTTP traffic, but an HTTPS proxy is not a guarantee of anonymity, since the site can send a request via the HTTP protocol and we do not know how the proxy will behave.
You can also mention other properties of proxies: uptime (how much of the time they are available, that is, they work), their bandwidth, country affiliation, and other characteristics.
How to enable proxy
Proxies can be enabled at the application level or at the operating system level.
When you enable a proxy in a certain program, only it will access the Internet through the proxy, and other applications will connect directly.
When proxy is enabled at the operating system level, this does not guarantee that all programs will access the Internet through the proxy - some programs ignore the proxy system settings.
Enabling proxies in web browsers
Google Chrome, Opera and Internet Explorer browsers use the same settings. Those. the changes made will apply immediately to all three browsers. In any of them, go to the Proxy settings, the following window will open:
In the window, click "Network Settings". In the new window that opens, check the box " Use a proxy server for local connections ... ":
The "Advanced" button will become active, press it. Select the required proxy type and enter its IP and port:
Click OK in all windows to save the settings.
To change settings in Firefox go to Settings -> Advanced -> Network -> Customize. In the window that opens, set the switch to Manual proxy server settings . Enter the IP and port of the proxy server. Click OK to save the settings.
How to check proxy anonymity yourself
We do not have to trust the information about the level of anonymity of the proxy - we can perform an independent check.
The circuit is pretty simple:
- we make a request to our script through a proxy
- the script checks what headers came to it
For implementation, you need hosting sites - any, the main thing is that there is support for PHP. We upload a file with the content to this hosting:
Code:
<? php
foreach (getallheaders () as $ name => $ value) {
echo "$ name: $ value <br>";
}
Now turn on the proxy and open this file in a web browser.
There is also a small service that will help determine the level of proxy anonymity - http://suip.biz/?act=proxy-checker
It is important to open the address using the HTTP protocol, not HTTPS.
The page will show all HTTP headers that came from your side, if there are proxy specific headers, they will be highlighted in red:
Other ways to identify proxies
There are other ways to indirectly confirm that the remote user is using anonymization tools. You can get acquainted with them on the corresponding online services that are trying to find gaps in your proxies:
Many methods are tied to the browser and JavaScript: DNS leaks, different IP time zones and in the browser, and so on.
A more or less universal way is to scan the ports of a remote user.
Tor browser request headers
Tor is also a SOCKS5 proxy. But SOCKS5 doesn't add any headers. True, the Tor browser itself removes (more precisely, does not send) some headers to increase anonymity. This behavior issues requests from the Tor browser.
Port scans can also give hints of using Tor.
Conclusion
There is nothing difficult in checking the anonymity of a proxy - just look at the headers that come to the remote server.
SOCKS proxies do not add anything and do not give out the user's IP addresses, but when using a proxy, you should always remember about HoneyPots.
You also need to understand that the proxy server can keep a log in which the IP addresses of users are stored.
An example of a site for obtaining a proxy: https://proxy-daily.com