|
Russian
Proxy servers advanced FAQ.
http://www.spszone.com/articles/proxy_faq_en.htm
Before reading this guide on proxy servers' work, I'd recommend you to download the
following programs:
"Anonymous Guest Professional"
http://www.spszone.com/download/AnGuestPro2.00.zip
and "Socks Cap"
http://www.spszone.com/thirdparty/sc32r234.exe
We will need them in the third and the fourth parts of the guide when we get down to work
with proxy servers.
Contents
Part 1. What is an IP-address? What is a port and what is a
protocol?
IP-addresses,
ports, protocols - everything is very simple.
Experiments with IP-addresses.
Part 2. Proxy server.
What is a proxy server?
How does proxy work?
What is a proxy used for?
Types of proxy
servers: SOCKS4, SOCKS5, HTTP, HTTPS proxy types.
You have to know it to work
with a proxy server.
Part 3. Working with a proxy server.
Definition of the type of a proxy
server.
How to start a program through a proxy?
Starting the programs through a proxy.
How to start ICQ through a proxy?
Part 4. Let's make our lives easier!
There is a rescue!
Why you need a SocksCap.
How does SocksCap work?
The chain "SocksCap" -
"Anonymous Guest" or how to change the proxy in 3 mouse clicks.
Working through the chain of proxy
servers.
Part 5. Your safety.
What is an anonymous proxy server?
Checking the anonymity of a proxy
server.
Advantages of working
through the chain of proxy servers.
Part 6. Miscellaneous.
Finding lists of proxy servers.
Steps
that you should take when the program is not working through the proxy server.
Your actions if it still is not
working.
This is where you
can find the guide on proxy servers' work.
All rights reserved.
PART 1. WHAT IS AN IP-ADDRESS, WHAT IS A PORT
AND WHAT IS A PROTOCOL?
IP-addresses,
ports, protocols - everything is very simple.
Let's talk a little about computer networks and cars. What do they have in common? Every
day we use a car to reach our workplace or to get home. We know that each car has its own
registration number. The same goes for every computer in the network. Every computer in
the network has its own unique number. This number is called the IP-address.
IP-address is the number of the computer in
the network. It is used to find the computer that you need among the others.

On the pictures computers have IP-addresses: 1, 2, 3, 4.
On the parking place we can find our car if we know its registration number. The same goes
for every computer - to find a computer in the network we will need to command to connect
to the computer that has the registration number XXXX (or the IP-address, which is the
same).
In the Internet there are too many computers and the IP-addresses are usually long, such
as 64127244101, 64127244102, 64127244103. It is useless to try to bear in mind such
addresses and people agreed on dividing it by dots, like: 64.172.244.101, 64.127.244.102,
64.127.244.103.
To feel even more conveniences it was agreed to use domain names (www.yahoo.com) which is
not problematic to remember. When we type a domain name in the browser, the computer
interprets it into the IP-address (the number of the computer in the network) and proceeds
to work with its IP-address. For an example the domain name www.google.com will be
interpreted into the number 66.102.11.104, www.yahho.com will be interpreted into the
number 216.109.118.74 and www.yandex.ru will be interpreted into 213.180.194.129. This is
the way the computers find each other in the network.

Let's now take a closer look at one separate computer and talk about ports.
Let my computer have the IP-address 192.168.0.2 and I have a web-server, mail server and
ICQ server installed on it. And you have your lovely Internet Explorer. You command it to
connect to the computer with the IP-address 192.168.0.2 if you want to take a look at the
web-site that it has. Your Internet Explorer will surely find my computer but there will
be a kind of mess because I have 3 servers on my computer and your computer does not know
which one to choose.

To avoid it, I will give a certain number to each of the servers. And this number will be
called a port.

On my computer the mail server will have the number 1, ICQ server - 2 and web-server - 3.
You command to your browser to connect to the 3rd port of the computer 192.169.0.2 to see
the web-site that it has and the Internet Explorer will find it on my computer.

Then you may command to connect to the computer 192.168.0.2 to the port 1 to see if you
have new mail. There will be no mess again your mail program will directly connect to the
mail server on my computer.
The program that expects to be connected to by
another program is called a server program. The program that connects to the server
program and commands it to make some functions is called client program.
Port is the number that correctly indicates
the server program on a chosen computer. Client program uses the port to specify to what
server on a chosen computer it wants to be connected.
We know now that to be connected to a certain computer we need to know its IP-address (to
find computer in the network). We need to know the port to connect to the server we need
in chosen computer. In short it looks like: "IP-address:port". Here are some
examples:
192.168.0.2:1 (IP-address is equal to 192.168.0.2, and the port is - 1)
66.102.11.104:80 (IP-address is equal to 66.102.11.104, and the port is equal to 80)
216.109.118.74:316 (IP-address is equal to 216.109.118.74, and the port is - 316)
When a computer owner installs server programs he himself appoints ports to these
programs. What is the way to find out the port of the WEB-server on www.yahoo.com (IP
216.109.118.74)? Fortunately all administrators agreed to appoint certain ports to
servers. It was made to avoid mess.
It was agreed that web-servers will have the port number "80"
FTP server will have the port "21"
SMTP-server usually has port "25" (for sending mail)
POP-server to receive mail usually has port "110"
ICQ server has the port 5190.
This is why the search machine on www.yahoo.com (IP 216.109.118.74) will have the port
"80".
And now let's say some words about protocols and then make some experiments with
ports.
I have a friend speaking Japanese. Want to talk to him? I can give you a telephone number
but hardly you will understand each other if you don't know Japanese. The same goes for
programs that use different languages (protocols) to communicate to each other.
Consequently we conclude that if one program does not know the language of the other, they
won't be able work with one another.
The set of rules of communication between
programs is called a protocol. Different programs use different protocols.
Internet Explorer perfectly understands the language of WEB-servers and displays us sites
in the Internet. But let's try to make it connect to the ICQ-server and see what will
happen. Let's command to Internet Explorer to connect to the server
"login.icq.com" using the port 5190. The reply will be "OK". Explorer
will interpret "login.icq.com" into IP 205.188.179.233 and will connect to the
server through the port 5190. The ICQ-server will reply to this connection attempt saying
"Hi! I am the ICQ-server!". Explorer will not understand it because it does not
know the protocol of the ICQ-server, it will say: "What are you trying to say? I
don't understand you!" In its turn, ICQ does not understand what Explorer is trying
to say. ICQ can't identify Explorer and understand what it is trying to ask. It can't
communicate to Explorer on these terms. After all that ICQ terminates connection to
Internet Explorer and Explorer informs us about the connection mistake. However your
ICQ-pager easily connects to ICQ every time you need it and you can communicate to your
friends.
We can conclude now that a mail program must communicate to a mail server, a WEB-browser
must communicate to a web-server, FTP-clients must connect to FTP-server and that is the
only correct way.
Experiments with IP-addresses.
When reading the previous chapter you might be asking yourselves one question: "how
the computer does interprets domain names, like www.google.com, into IP-addresses, like
66.102.11.104?" Let's pretend to be a "Windows" and define the IP address
for www.google.com. It will not demand any extra forces. Let's first initiate the command
line. Here is the way it looks:

Now let's type the line "ping www.google.com" and press "enter"
button.

Here is what you approximately will see:

The figures in the brackets [66.102.11.104] is the IP-address of the computer that has the
search server www.google.com in it. If you received another address, do not be upset: for
different countries the name www.google.com different computers may be indicated.
Here is the way www.e-gold.com looks: it has the IP-address [63.24.230.10]

And here is what we have for www.petsmart.com: [66.77.62.4].

Now we will try to connect Internet Explorer directly to the WEB-server [66.77.62.4].
Surely you remember that we also will need a port for it. If you forgot the number of
ports for web-servers, take a look above and you will see that it is the port
"80".
Let's type http://161.114.87.252:80 in your browser and press "Enter". Here is
what we see after:

All is working!
Let's try to do the same for www.compaq.com. We define its IP as it has been described
above. I have [161.114.87.252]. We remember about port "80". In the browser we
enter: "http://161.114.87.252:80" and press "Enter". The result is:

PART 2. PROXY SERVER.
What is a proxy server?
When we know definitions for IP, ports and protocols, it is time to try to understand what
a proxy server is.
Last year New Year I decided to visit my friends in France and chose to go by train to get
there. I telephoned the railway station to book tickets from Moscow to Paris but I found
out that the tickets were all sold out. I booked tickets from Moscow to Berlin and from
Berlin to Paris and in two days, just before Christmas, I was in France. All this
situation reminds much about the way proxy servers work. If we imagine that Moscow is my
computer and Paris is the computer that I want to reach, Berlin will be the proxy server.
Direct connection of computer "A" to computer "B":

Connection of computer "A" to computer "B" through the proxy server:

An intermediate computer that helps one
computer to get connected to another is called a proxy server.
How does proxy work?
All is very simple. Your program connects to the proxy server and commands it to connect
to the computer with you need using a certain IP and a certain port. If the proxy can do
it, it will say "All is OK! Connection is installed!" After that the program
starts sending and receiving the data to and from the proxy, and the proxy sends and
receives the data to and from the server it got connected to.

What is a proxy used for?
Proxy servers are used for many reasons. Here are some of them:
- To hide the real IP address of the computer.
When you get connected to a computer in the internet, this computer can see your
computer's IP-address. If you don't like it, you should use the proxy server. In this case
the computer you want to connect to will see the IP of the intermediate computer (proxy
server) that you are using in your work.
- You can not get connected to a certain computer in the Internet.
Let's imagine that you are denied access to ICQ by your administrator because you have
been using ICQ too much during your business hours. Don't be upset! You can get connected
to ICQ through the proxy and continue talking to your friends in the ICQ until your
administrator denies you access to the proxy server.
- To avoid hackers' attacks and control of your Internet connections
When you need to administer the computer network, you can let your employees work with
Internet only through the proxy server. In this case you will need to control only one
program and it will save your work time.
Types of
proxy servers: SOCKS4, SOCKS5, HTTP, HTTPS proxy types.
You understand that your program must be able to work with proxy servers. It can be done
with the help of protocols. There are 4 types of most widely used protocols for a proxy:
SOCKS4, SOCKS5, HTTP, HTTPS.
Proxy servers that understand protocol SOCKS4 are called SOCKS4 proxy servers, proxy
servers that understand protocol SOCKS5 are called SOCKS5 proxy servers. Proxy servers
that understand protocol HTTP are called HTTP proxy servers, proxy servers that understand
protocol HTTPS are called HTTPS proxy servers. Sometimes SOCKS 4- and SOCKS5 proxy servers
are called just "SOCKS".
ATTN: If your program can work with
HTTP proxy, it is not permitted to connect it to SOCKS5 proxy server. The same goes for
SOCKS4 proxy server and SOCKS5 proxy server. If you still want to try to do it, do not be
surprised that your programs will not work. It is the law!
HTTP and HTTPS there are two different
types of proxy servers. They also not a compatible one to other. The "Anonymous
Guest" software can work only with HTTPS and SOCKS proxy servers, not with HTTP.
You have to know it to
work with a proxy server.
So, for your program to start working through the proxy, you will need the following:
1. The program should be able to work through the proxy. If it is not so,
it won't be able to make such a program work through the proxy.
2. You must know IP-address and Port of the proxy server to get connected
to it.
3. You must know the protocol (type of proxy) for the chosen proxy to
communicate to the program you want. When setting your program, you should clearly define
the type of proxy you will be working with.
PART 3. WORKING WITH A PROXY
SERVER.
Definition of the type of a
proxy server.
It is now time to start working with proxy servers. First, let's install "Anonymous
Guest Professional" and copy the list of "fresh" proxy servers. It can be
done with the help of the item of the menu "Tools -> Download Proxy List".

After that a browser window will be displayed and you will see the list of proxy servers
in the format "IP-address: port"

Save this list to disk under the name "proxy_list.txt" and proceed to
"Anonymous Guest", item "Proxy Manager" and download it with the
button "Load".

Now we will test out these servers and define their types. To do it, you should click
"Test".

After the test is over, we will see the proxies working (marked in green color) and in the
field "Type" there will appear types of these servers: HTTPS, SOCKS4 or SOCKS5.
The proxies that will not work will be marked in red color.

How to start a program through a
proxy?
For your program to start working with a
proxy, it is necessary to know the IP-address, port and type of a proxy server. If at
least one of these parameters is not correct, the program will not be able to work with
the Internet.
ATTN: In each program the setting for
the proxy server are located in different places. You have to find it on your own. If
there are no settings for a proxy in the program, it will be impossible to start it
through the proxy server.
Starting the programs through a
proxy.
Let's choose any of the working proxies from the example. I like the proxy under the
number 5. It has the IP 216.3.82.43, port 80 and type SOCKS4. Now I can make programs
start working through it.
I will show you how to do it for some of them.
Let's start with GetRight. Let's start it and proceed with the following steps:
"Tools -> GetRight Configurations -> Options -> Internet ->Proxy ->
Use Proxy Servers -> SOCKS Proxy".

Let's enter in the field the server 216.3.82.43, specify the port 80 and choose the type
"SOCKS4". Now "GetRight" will be working through our proxy server.
Let's do the same for &RQ.
Start &RQ, choose "Preferences > Connection > Use Proxy"

Now define Host 216.3.82.43, Port 80, Protocol SOCKS4.
Now &RQ works through the proxy server.
How to start ICQ through a proxy?
To make ICQ work through the proxy it is necessary to start ICQ and proceed with the
following steps: "Main -> Preferences -> Connections -> Server -> Using
Firewall -> Using Proxy" and define proxy SOCKS4.

Now follow to "Firewall" and define type, address and port of the proxy:
Proxies/Firewall Socks4, Host 216.3.82.43, Port 80.

After these manipulations ICQ will start working through the proxy server.
PART 4. LET'S MAKE OUR LIVES
EASIER!
There is a rescue!
When reading the previous article, one can think that programmers always hide settings of
their programs. What shall we do if we want to change the proxy server? Shall we have to
visit dozens of windows, typing addresses, port s and protocols? Many programs can not
work with proxy servers. Well
it all is not very much encouraging
No panic! There is a rescue! It is called "SocksCap"!
Why you need a SocksCap.
SocksCap is the program that helps any other program to work through the proxy server.
Even if your program can't work with the proxy, SocksCap will teach it to do this!
How does SocksCap work?
It is the easiest you can do! You just can add programs into SocksCap window and they will
start working through the proxies themselves! Let's do it and start with Internet
Explorer. Start SocksCap:

Now click "New":

Now "Browse" and choose Internet Explorer (C:\Program Files\Internet
Explorer\Iexplore.exe)

Click OK

With the same method we add other programs that must work through proxies to SocksCap. In
my case it is The Bat, Outlook Express, ICQ.

And finally we will choose the proxy server these programs will be working with. Choose
menu: "File > Settings"

In the appeared window we enter the address, port and type of our proxy (let it be the
same proxy from the previous chapter, the address is 216.3.82.43, port 80 type SOCKS4).

Click OK.
From the window SocksCap we start Internet Explorer by double click.

All is done! Now the Internet Explorer will be working through the proxy. To start ICQ or
Outlook Express through the proxy it will be enough to double click their symbols in the
SocksCap window.
ATTN: You might have noticed that
SocksCap can work only with SOCKS4 and SOCKS5 and it will not be able to work with HTTP
and HTTPS.
To make the long story short we will take a general look at work with proxies through
SocksCap and proceed to the following chapter. We will make our life even easier and will
learn to work through the chain of proxy servers.
This is the way the program work looks without using SocksCap. Each program connects to
the proxy itself.

And this is what is happening when we start programs through SocksCap.

Programs work with SocksCap and it works with the proxy server. The advantage is that we
have to type the proxy data in the only place. Besides, SocksCap will teach the program to
work with the proxy server.
The chain "SocksCap" -
"Anonymous Guest" or how to change the proxy in 3 mouse clicks.
This chapter is for the most coward and the laziest, for those who want to change the
proxy in 3 mouse clicks instead of working with settings and entering data on each proxy
server in many windows. Let's get down to it if this all is about you! This chapter must
be a jumping-off place for future work with chain of proxy servers.
This is what we have:

All programs work through SocksCap and SocksCap connects to the proxies.
Now we will change the chain a little bit. Let "SocksCap" connect to
"Anonymous Guest" and let "Anonymous Guest" connect to the proxy
server we need.

This is where the most interesting things start. First we set SocksCap to work with
"Anonymous Guest". You can start SocksCap and choose menu: "File ->
Settings".

This is the place where you must type the address of a proxy, its port and type.

We enter the address 127.0.0.1, port 5050 and type of proxy SOCKS4. Click OK.
127.0.0.1 is a pseudo IP of the computer you
are sitting at. Certainly this IP is not real, but if I type 127.0.0.1 the system will
understand that I want to work with the computer I am sitting at.
What we have as a result? SocksCap wants to get connected to your computer using port
5050. Let's help it. Start "Anonymous Guest" and proceed to "Service
Manager".

Click "Add Service".

Enter the name of the service "SocksCap Service", define port 5050 and uncheck
"Auto creating Proxy Chain". Make sure SOCKS4 Client is chosen and click
"OK".
Now, from the window SocksCap we start Internet Explorer and try to visit any Internet
site. I chose www.yahoo.com . This is the way "Anonymous Guest" looks:

In the field "Destination" "Anonymous Guest" shows IP-address and port
of the computer to which we connect (here it is the IP-address for the search machine
www.yahoo.com). In the field "Sent" the quantity of sent bites is marked for
each connection. The field "Received" shows the quantity of received bites.
"Time" stands for the time of connection and "Speed" - for the speed
of connection.
There is also field "Proxy Chain" but it is empty as you have noticed. This
field is empty now because "Anonymous Guest" is directly connected to
www.yahoo.com.
Lets get connected to it through the proxy. To do it you have to double click the name of
the service and drag any working proxy from the right window to the left one. I did it for
the proxy undead number 6 (IP-address 210.153.68.60, port 3128).

Click OK and again type www.yahoo.com in the Internet Explorer. The address and the port
of our proxy is now seeing in the field "Proxy Chain". It means that we
connected to www.yahoo.com through it.

To change this proxy for another it will be enough to open the properties of the service.
To delete the unnecessary proxy from the left window and fill with the proxy that you like
from the right window. This is the way to change the working proxy in a couple of double
clicks. When you need to change proxy servers too often, these steps will allow you to
save your time and nerves. Besides, at "Log Window" in "Anonymous
Guest", you will always see a detailed information on your present connection.
Here is the full description of the work of our programs:

Through SocksCap programs connect to "Anonymous Guest". Further, it connects to
the computer (proxy) we have chosen and the latter connects to the computer we really
need.
Working through the chain of
proxy servers.
If you were attentive enough in the previous chapter, it won't be difficult for you to
work through the chain of proxy servers. Just enter in the properties of the service in
the "Anonymous Guest" and in the left window choose the chain of proxies that
you want to use to work in the Internet:

In my example I made a chain of 3 proxy servers.

What is the purpose of working through the chain of proxy servers? You can read about it
in the following chapter of the guide which explains a lot about the safety of your work
in the Internet.
PART 5. YOUR SAFETY.
What is an anonymous proxy server?
When you get connected to any remote computer, be it a mail-server or a web-server, you
always leave your steps. The remote computer can identify you and your connection to it
and save your IP-address in own log files. We will now take a closer look at the processes
taking place when we work through the proxy server. You get connected to the proxy server
and the proxy, in its turn, makes connection to the computer you have chosen.

Under these circumstances the computer can identify only the IP-address of your proxy
server and saves no information about your computer. But not all is so easy. You must know
that many of the proxy servers save IP-addresses of the client computers that connect to
them. The computer you are trying to connect to may ask the proxy to get the info about
your computer and it will be done immediately.
There is a possibility to avoid it. There are lots of proxies that do not save your
computer's data. These proxies are called anonymous.
ATTN: If you found the list of
"anonymous" proxies in the open sources of the Internet, it is almost for sure
that these proxies do save and do give information about your IP-address to the computers
you are trying to connect to. The anonymity of the proxies can be checked only through the
owner of the proxy.
Checking the anonymity of a
proxy server.
To find out if your computer's IP-address is being given or not during the work with a
proxy server you should start a browser through a proxy server and visit the following
pages:
http://www.all-nettools.com/pr.htm
http://www.leader.ru/secure/who.html
These are the places to check if the IP of your computer is being given but it will not be
a guarantee that the proxy does not save data about your IP-address in own log files. You
will need to ask the owner of the proxy to find really anonymity of proxy.
Advantages of
working through the chain of proxy servers.
If you can't sleep well, thinking that your computer is being watched, if you are afraid
of national safety special agents each time you are sending an e-mail - you are a
paranoiac! You have 2 choices in this case:
1. Call for a doctor
2. Work through the chain of proxy servers. The more computers will be in
this chain, the harder it will be to determine your computer's IP
But there is another side of the medal also - the longer the chain is, the lower will be
the speed to transfer the data.
PART 6. MISCELLANEOUS.
Finding lists of proxy servers.
The lists of proxy servers can be found here:
http://www.spszone.com/anguest/proxy_links.htm
Steps
that you should take when the program is not working through the proxy server.
Test your proxy. Make sure it is "alive" and define its type. Give your program
the right address, port and type of proxy. If you start trembling as a hare when you here
anything about IP, port or a protocol, you should return to the beginning of this guide and read it once again.
Your actions if it still is not
working.
Get down to the previous
item.
This is where
you can find the guide on proxy servers' work.
You can find this guide in the following sources:
http://www.spszone.com/articles/proxy_faq_en.htm
and if you want to download this material in the Microsoft Windows Help format, you can do
it from here:
http://www.spszone.com/download/proxy_faq.zip
All rights reserved.
All rights of the document are reserved, Ma:)x Ba!amut (c) 2004
Reprint of this document is permitted in any cases and without any changes in the text of
the document and with the direct reference to the site where the article is located
http://www.spszone.com/articles/
|