Web browsing is based on 2 major protocols: DNS and HTTP(S).
- DNS is used to translate a domain name (i.e.
superuser.com) into an IP address (i.e.
- HTTP actually transports the web pages & other data.
When you connect to
https://superuser.com/, you computer will first ask the DNS server what is the IP of
superuser.com. Let's assume it answers
18.104.22.168. Your computer will then ask
22.214.171.124 for the web page located at
The thing is,
126.96.36.199 doesn't know which DNS you contacted, or if you contacted one at all.
When you use a SOCKS proxy, everytime your computer will want to talk with a server, it will first ask the SOCKS server to relay the message. Mr. SOCKS will first ask the DNS for the IP of
superuser.com, and then it will ask
188.8.131.52 for the page at
The thing is, most of the time in home configuration, the default DNS is your Internet box, which uses its local IP. That means your SOCKS proxy (which is out of your local network) will not be able to contact it. You need to change your DNS for an external one, but you don't need to specifically use the one provided by your SOCKS provider (you can use
184.108.40.206which are free DNSs provided by Google).
Now the fact that the SOCKS server relays your traffic obviously means that if the SOCKS is down, you can't access the Internet unless you disable the proxy settings.
One last thing: you may have noticed I never used "VPN" in this answer. That is because SOCKS is not a VPN protocol.