Ir al contenido principal

[HowTo] Como enviar todo el tráfico de tu iPhone por un tunel SSH

 


Va una no tan obvia y que me llevó su buen rato investigar: Como enviar (y recibir también, no sean pelotudos, es tráfico bi-direccional) todo el tráfico que genera tu iPhone o iPad -o cualquier otro dispositivo que exista en el futuro y corra iOS- por un tunnel SSH para que aparezca como tráfico generado por el servidor donde corre el SSH Server en Linux. Lo que también se conoce como proxy tipo socks.


 


Ya en el pasado le he dedicado diversos artículos a esta técnica que usé y uso hasta varias veces por semana según se me va presentando cada escenario, por ejemplo:



Si no están familiarizados con las tecnologías y protocolos implicados puede que quieran ir a leer primero alguno de los artículos anteriores.


 


Configurando un tunnel SSH que puedas utilizar luego desde tu iphone o ipad para acceder a ese servicio de streaming bloqueado en tu país, ciudad o empresa o como cagarte en todos los firewalls poniendo el servicio SSH de tu servidor a escuchar en el puerto 53 TCP.

Configurando un tunnel SSH que puedas utilizar luego desde tu iphone o ipad para acceder a ese servicio de streaming bloqueado en tu país, ciudad o empresa o como cagarte en todos los firewalls poniendo el servicio SSH de tu servidor a escuchar en el puerto 53 TCP.


 


Ingredientes:



  1. Un servidor corriendo Linux en algún lado.

  2. Un web server en algún lado donde se pueda escribir un archivo. No es estrictamente necesario.

  3. Una PC con Windows o Linux que hará las veces de socks proxy y puede ser el mismo servidor que corre el Linux

  4. Putty, si la PC socks proxy corre Windows. Bajalo de acá.



 


TL:DR, iOS únicamente permite configurar un proxy que hable HTTP en modo manual y si querés uno que sea socks puro necesitás configurarlo en modo automático apuntando la URL a http://ip_o_hostname.de.tuservidor/proxy.pac


 


Donde proxy.pac tiene que contener:


function FindProxyForURL(url, host) { return "SOCKS proxy_host:proxy_port"; }

Reemplazando proxy_host:proxy_port por el número de IP de la computadora que hace de socks proxy y el puerto arbitrario que hubieras elegido para el tunel.


 


La versión larga:


Conectá tu windows por SSH a tu Linux seteando un tunel dinámico para que funcione como socks proxy como sigue:


Configuración de un tunel dinámico SSH para que funcione como socks proxy de un iPhone en Windows

Configuración de un tunel dinámico SSH para que funcione como socks proxy de un iPhone en Windows


 


Tendrás que aceptar la advertencia de seguridad que seguramente aparezca cuando el firewall de Windows detecte que estás haciendo alguna cosa rara y permitir la conexión para todos los ámbitos.


Si tu computadora corre linux (o es el mismo servidor y querés hacer la chanchada de ejecutar un SSH a localhost en lugar de una regla de iptables que haga DNAT) lo anterior es el equivalente a ejecutar:


 


ssh -N -D3456 -N usuario@hostname.o.ip.de.tu.servidor.com

 


A partir de lo cual, en tu computadora pasará a existir un nuevo puerto abierto, el 3456 TCP funcionando como socks proxy. Y si me preguntás para qué el -N, te cago a piñas.


Por consiguiente, si tu computadora haciendo de socks proxy está en el IP 192.168.1.100 por ejemplo, tu proxy.pac tiene que decir:


 


function FindProxyForURL(url, host) { return "SOCKS 192.168.1.100:3456"; }

 


A su vez, este proxy.pac tiene que estar alojado en algún servidor que tu iPhone o iPad pueda acceder por HTTP, puede ser el mismo Linux contra el cual se corre el SSH server, tu computadora, otro servidor, etc etc. Si querés ahorrarte la configuración de un apache, nginx, lighttpd o etc etc, siempre podés usar el módulo SimpleHTTPServer de python en el directorio que aloja tu proxy.pac (por cierto, pac es por Proxy Auto Configuration y solamente una convención, el archivo se puede llamar como se te cante el culo que funciona igualmente), ejemplo:


 


python -m SimpleHTTPServer    #Case Sensitive lo anterior, si errás una mayúscula o minúscula no funcionará

 


Este módulo de python que tantas alegrías me ha traído, escucha en el port 8000 por lo que luego en tu dispositivo con iOS y desde: Ajustes > Wi-Fi > [tu Wi-Fi] > Configurar proxy > Automático > URL deberás ingresar:


 


http://hostname_o_IP:8000/proxy.pac 

O cualquiera sea la URL en la cual estás sirviendo este proxy.pac via http.


 


¿Se entendió? ¿Te sirvió? De nada.


 


 

Comentarios

Entradas más populares de este blog

La tribu de los Etoro: La homosexualidad y el semen en el centro de todo

La tribu de los Etoro convive en la isla de Papúa situada en Nueva Guinea. El colectivo está conformado por un total de aproximadamente 400 personas que se dedican en grupo a la caza y a la agricultura. Como cualquier otra tribu cuentan con su sistema de creencias, ritos y prácticas relacionadas con la maduración y el paso a la adultez. Su cultura presenta una gran riqueza, aunque si por algo se caracterizan los Etoro es por promover las prácticas homosexuales entre los hombres relegando las heterosexuales únicamente a la procreación y a la continuación de la especie. Esta tribu presenta una concepción sobre la sexualidad algo particular. Entre algunas de sus creencias destaca el significado que le otorgan al semen. Según sus creencias, el semen no es creado literalmente por el propio cuerpo sino que los jóvenes deben ser inseminados por otros hombres de edad adulta para que sean más viriles. Además, según creen, las mujeres deben recibir el semen de otros hombres en su boca después …

El flamante gobernador de Tierra del Fuego es gay y está en pareja hace 16 años.

Por Pablo Fontdeville | «Soy gay y estoy en pareja hace 16 años» El gobernador electo Gustavo Melella hizo pública su orientación sexual y su situación sentimental. El gobernador electo de Tierra del Fuego, Gustavo Melella tuvo que contestar a la denuncias de abuso interpuestas en su contra por Rosana Bertone actual gobernadora de la provincia que viendo que perdía por goleada apeló a cualquier cosa para tratar de desviar la intención de voto. Incluso a victimizarse diciendo que ella fue abusada, calculamos que en su juventud. Hay que tener estomago para abusar de Rosana sobre todo teniendo en cuenta que lo que se rumorea en la provincia es que sería asidua de los budines y las tortas. Dicho todo lo cual el tema empezó a dar por grieta entre tortas y gays. Hay que comerse a la Bertone!!
El gobernador electo Gustavo Melella eligió un medio nacional para hacer pública su elección sexual y su vida en pareja desde hace 16 años.Fue en el programa MarcaPazos, que conduce la periodista Nancy P…

Zachary Quinto completamente desnudo

Zachary Quinto, actor abiertamente gay que interpretó a Spock en Star Trek, se mostró completamente desnudo en una fotografía. 
Si la foto en cuestión es real, podemos pensar lo mejor de los atributos de Zachary y el porqué su marido, Miles McMillan, está felizmente casado. Aunque aún se duda de su veracidad. Optamos por creer en sus medidas...