title

what is socks proxy vs http proxy?

name

Ana Quil

12-29-2021

A proxy is another computer making the request on your behalf, your traffic appears to originate from the proxy server and not from your machine.

All of the protocols you’ve specified can be used for proxying, it just depends on what layer of the OSI model you want to do it at.

IP masquerading is at layer 3 and can masquerade all sorts of IP traffic. It is primarily used to allow private networks to connect to the internet, but again your IP address appears to come from the device doing the masquerading and not your computers IP address.

Then you have a VPN, also at layer 3, your traffic is securely sent to another computer which then sends the traffic out. The VPN assigns you an IP address from their network all your traffic appears to originate from that IP address.

SSH is interesting because it’s primary use is for making a shell connection to a remote machine (so layer 7) but you can also tunnel TCP (layer 4) connections through it. When you connect to a local port on your computer, you can tell the ssh tunnel computer, to connect to another server on another port. The traffic from your machine to the ssh tunnel computer is encrypted using SSH and then the ssh tunnel computer sends the traffic on as configured. You can also tell SSH to set up a SOCKS proxy that listens on a port on your local computer (normally 1080) and the ssh tunnel computer makes all the connections as per the SOCKS protocol. All connections made this way appear to come from the ssh tunnel machine.

A SOCKS proxy is for proxying generic TCP traffic, your application must support the use of SOCKS. Again at layer 4, the SOCKS protocol negotiates what remote host and port you want to connect to. Connections originate from the SOCKS proxy server

An HTTP proxy is for proxying HTTP (or web) traffic (layer 7), it will interpret the PROXY HTTP GET (POST etc) request and rewrite it, possibly performing caching, adds headers and make the request for you, it will then also modify the response adding its own headers. An aside to this is that it’s not possible to cache HTTPS traffic, a HTTPS proxy will simply connect to the remote host you specify and just proxy the TCP traffic (layer 4) but may be configured to deny connections to arbitrary ports and only allow well known https ports. Again the traffic will appear to originate from the proxy server, however a HTTP proxy will add an X-Forwarded-For: header to the request and reveal your real IP (this could be forged however, so if you run a web server you can’t trust this header)

If the IP needs to be an e-commerce platform or social media, consider selecting roxlabs dedicated computer room IP. Fast IP, easy to set, unlimited traffic.

More on:Roxlabs proxy


Recent posts