Raspberry PI as a SOCKS Server

Raspi Socks Diagram

How it works

The SOCKS protocol is being used to exchange packets between a server and a client through a Proxy server. Expanding the Remote Drone’s abilities, we can configure the "Middle Host" to act as a PROXY Server and redirect all of our requests to the "Remote Drone". With this configuration, all the traffic will be transferred through the "Remote Drone" and we will be able to access the remote network, or even the Internet through the remote’s Network ISP Modem.

After creating the "Remote Drone" using this guide, you can make the "Middle Host" act as a SOCKS Proxy and redirect the traffic through the "Remote Drone", following these simple steps:

  1. Open a port (PROXY_PORT) on your Providers Modem/Router and choice a port ("REDIRECT_TRAFFIC_PORT") to redirect the traffic.

  2. At the "Middle" host run the following command:

    ssh -D *:REDIRECT_TRAFFIC_PORT -f -C -g -N DRONE_USERNAME@localhost -p MIDDLE_HOST_PORT
  3. Use your browser’s settings, or on Android use the SocksDroid App (Github) and set as Proxy Server, MIDDLE_HOST’s external IP and the PROXY_PORT selected in step 1.
    Now all the traffic will be redirected through the Drone’s Network.

Leave a Reply