BandaAncha.eu

Comunidad de usuarios
de fibra, móvil y ADSL

Túnel HTTP O Similares En Universidad.

daviddrf

Hola chicos, quería haceros una consulta a ver si me podéis ayudar porque ando un poco perdido. Quiero conectarme desde la universidad donde estoy actualmente al ordenador de mi casa, el cual es un PC de sobremesa que está conectado a internet tras un router con un rango de 100 puertos TCP abiertos aproximadamente para Emule, Bittorent, un servidor FTP, un servidor VNC, etc...Mi intención es conectarme remotamente por VNC a este ordenador desde la universidad para controlarlo remotamente. El gran problema que tengo es que la conexión de la universidad está capada por todos lados. Cuando me conecto a su red tengo que introducir un login de alumno desde el explorador de Internet para poder navegar. Si intento hacer un ping a una ip desde el intérprete de comandos me responde time out, si intento conectarme al ordenador de casa desde un cliente VNC o por http...nada. Esto me hace pensar que en la conexión de la universidad hay un proxy o un cortafuegos que impide o capa todo tipo de conexiones que no sean http o vayan por el puerto 80, porque menos navegar...no puedo hacer nada más. Para saltarme esto intenté hacer un túnel SSH con Putty de cliente desde la universidad y freeSSHd de servidor en el sobremesa de mi casa, cosa que funcionó en la red interna de mi casa, pero en la universidad...nada, no se podía conectar el Putty siquiera. Así que lo que pensé como solución es hacer un túnel HTTP que disfraze los paquetes que envío de http, el proxy no los bloquee por esto y así saltarme cualquier tipo de restricción. Me conectaría al servidor VNC de mi sobremesa usando en explorador de Internet y usando el puerto para el método http del VNC, que además permite la transferencia de ficheros (así me evitaría tener que hacer lo mismo en el futuro para FTP). Espero no estar diciendo ninguna burrada ni planteamiento absurdo con esto. El problema de esto es que me cuesta comprenderlo un poco y abstraerme, y no sé cómo podría hacer para montar este túnel, o siquiera si es la mejor opción (he leído por ahí algo de usar una VPN también). De todo esto deduzco que tengo que pasar a cojones por el puerto 80 o usar el navegador. He estado viendo varias opciones todas ellas para Windows como TunnelEx (tunnelex.net/), HTTPTunnel (http-tunnel.sourceforge.net/) y muchos otros, pero no sé cómo hacerlos funcionar porque no soy experto en esto (creo que luego habría que interconectar algunas ips de alguna forma). ¿Algún alma caritativa podría echarme una mano con esto?. Muchas gracias por todo y perdonad el tostón.

BocaDePez
BocaDePez

Me he leído la mitad del mensaje porque es un coñazo, pero te recomendaría poner el programa que quieras usar para controlar tu ordenador escuchando en el puerto 443 ya que ese puerto no es "filtrable" de ninguna de las maneras.

mceds

Si intento hacer un ping a una ip desde el intérprete de comandos me responde time out, si intento conectarme al ordenador de casa desde un cliente VNC o por http...nada. Esto me hace pensar que en la conexión de la universidad hay un proxy o un cortafuegos que impide o capa todo tipo de conexiones que no sean http o vayan por el puerto 80, porque menos navegar...no puedo hacer nada más.

¿Por qué no empezar por descartar lo más sencillo, y es que el único sistema de filtrado que tengan en tu uni sea bloquear todas las comunicaciones excepto aquéllas cuyo puerto de destino sea el 80 (o el 443 como ha mencionado el compañero)? Es decir, que no inspeccionen paquetes ni nada de eso.

No pierdes nada por probar. Lo único que tendrías que hacer es poner tu servidor VNC escuchando por el 80. Y si funciona, dolores de cabeza que te ahorras.

Por si acaso, procura echar un vistazo a tu router, no sea que tenga la interface web abierta al exterior (precisamente por el 80) e interfiera.

BocaDePez
BocaDePez

Los proxies son en realidad Routers NAT, por tanto no podrás acceder nunca a tu Pc de la universidad

Si intentas hacer lo que pretendes podrás llegar al servidor proxy pero nunca llegarás al PC de la universidad.

La unica opcion es usar Teamviewer, cualquier otra forma no te servirá para nada.

🗨️ 4
BocaDePez
BocaDePez

Y aún así puede que no le funcione. Puede usar el Teamviewer o el VNC pero modificado para tal fin. Por ejemplo echa un vistazo a UltraVNC con el NAT-to-NAT.

uvnc.com/addons/nat2nat.html

daviddrf

No quiero acceder al PC de la universidad, quiero acceder al PC de sobremesa de mi casa desde la universidad (usando un portátil que llevo cuando estoy en ella), lo has entendido al revés. El puerto 80 y el 443 no los puedo poner escuchando por el servidor VNC, tiene que ser otro puerto, ya que esos 2 son los que están escuchando por el router para poder controlarlo remotamente por HTTP y HTTPS respectivamente. Por cierto esto último sí funciona, puedo controlar el router remotamente desde la uni accediendo por esos 2 puertos, por tanto no deben estar capados, pero yo necesito acceder a VNC por otros dos que no sean esos, y a ser posible los que yo quiero. Además luego tengo otro servidor u ordenador de sobremesa más en casa que también querría controlar con otros puertos diferentes. En resumen, tengo que intentar controlar por VNC y a través del navegador el PC de sobremesa desde la universidad, ¿cómo puedo hacer ese túnel?. Saludos.

🗨️ 2
mceds

Sigo pensando que te complicas la vida pero, si estás empeñado en el túnel, no seré yo el que te disuada. Eso sí, ahí no te puedo ayudar. Suerte.

BocaDePez
BocaDePez

Si los puertos de tu router de casa están escuchando en el 80 ó en el 443 por la interfaz WAN... ¡hazte un favor a ti mismo, tira el router y compra uno nuevo!

Y ya puestos, el VNC es un coladero, con lo que si encima se pone en el 80 como han recomendado por ahí arriba, te entran fijo.

Lo mínimo un túnel SSH.

BocaDePez
BocaDePez

Utiliza Teamviewer. Yo lo hago desde el instituto (que escucha por el puerto 8080 y 80) y puedo utilizar todo perfectamente desde el ordenador de mi casa utilizando teamviewer. Si no utiliza HTTPS, que tambien funciona

vukits

Para saltarme esto intenté hacer un túnel SSH con Putty de cliente desde la universidad y freeSSHd de servidor en el sobremesa de mi casa, cosa que funcionó en la red interna de mi casa, pero en la universidad...nada, no se podía conectar el Putty siquiera.

Lo has hecho mal....

que tu servidor ssh salga por un puerto que en la universidad te dejen usar (tipo puerto 80 o 443 (ese es mejor)) .

un saludo

🗨️ 1
daviddrf

Hola, tienes razón vukits, lo he hecho mal, tendría que ser como bien dices tú, sorry, este error es por tener poco conocimiento del tema. Creo que tenéis razón con que me estoy ofuscando con el tema del túnel, pudiendo usar algo mucho más simple como TeamViewer o LogMeIn, que se pasan los puertos capados y cortafuegos por el forro de los coj..., y que además incorporan la posibilidad de transferir ficheros y muchas otras cosas. Voy a probar el TeamViewer y cuando sepa algo de cómo ha ido os lo comento. Muchas gracias a todos por la ayuda chicos, saludos.

daviddrf

Chicos me autorrespondo, acabo de probarlo y funciona perfectamente. Es la ost...este programa...mil gracias a todos por la ayuda, no sé cómo agradecéroslo, saludos.

BocaDePez
BocaDePez

¿Cual es tu uni? Si coincidimos igual te puedo pasar un par de puertos que de un listado que NO he estado confeccionando el año pasado con un par de scripts.

Y con algunos UDP y todo (que son de los que menos hay y costó sudores encontrarlos, menos mal que las clases son laaargas)

Si a alguien le interesan los scripts, fijo que me los mejoran en dos minutos... ouch, que estoy en el foro Windows :P

🗨️ 5
daviddrf

Gracias, es muy interesante, se trata de la Universidad de Vigo, en la Facultad de Ciencias Económicas y Empresariales, en el campus de Lagunas de Marcosende. Saludos y gracias por adelantado.

🗨️ 4
daviddrf

Me olvidé de decir antes perdón que suelo estar conectado a la red wifi "eduroam", antes que a la de "alumnos". Saludos.

XM0

Vaya, busqué pero parece que BA no tiene para enviar privados.

Pues no coincidimos, pero por poco, yo estoy en la de Coruña. Por el tema eduroam/loqueseaquetengalauniversidad, el tema de red lo lleva la propia universidad aunque sea eduroam, en algunos casos pueden hacer alguna diferenciación entre la propia y eduroam, pero no creo que se anden complicando con ello. Quiero decir, si vas a la USC en eduroam habrá abierto lo que dejasen abierto los de la USC (que he visto que son como el doble de restrictivos que los de la UDC) y si vas a la de Vigo (¿Cuales son las siglas?) te encontrarás abierto lo que dejasen los gestores de red de la de Vigo, aún con tu usuario y contraseña de Santiago...

Una vez dicho esto, lo normal es ir empezando por los "puertos con nombre" que puede que algún profesor frikillo pidiese o necesitase: 1194 UDP/TCP (OpenVPN) 5900 TCP (vnc)... pero vamos, que los que tienes fijo, y digo fijo son el 21 TCP (ftp), 22 TCP (ssh), 53 TCP/UDP (DNS), 80 TCP (http) y 443 (https). Bueno, los dos primeros no tan fijos, pero solemos olvidarnos del 53. Básicamente sin los tres últimos no hay internet, para nada, a no ser que se usen proxys (8080 normalmente ;) ).

Si te interesa usar UDP puedes probar el 53 (DNS) y el 123 (NTP).

En fin, sin más dilación dejo un script chatarrero que hice al efecto, necesitarás Linux y un equipo con conexión abierta del todo, yo le suelo decir que está "de patas abiertas" cuando desconecto todos los cortafuegos, creo que la idea es clara:

La idea es ejecutar este script en el "servidor" que se pone a la escucha con todos los puertos abiertos (en algunos routers se llama DMZ Host)

#!/bin/bash

## Verificando que los parámetros sean válidos
if [ $# -ne 2 ]
then
echo "Use: listen-udp start_port end_port"
exit 1;
fi
let END=$2 i=$1
while ((i<=END)); do
#echo $i
nc -l $i 2>> tcp.listen.txt &
nc -lu $i >> udp.listen.txt &
let i++
done

Y este otro desde un equipo en la wifi de la universidad (o de la biblioteca, o lo que sea)

#!/bin/bash

## Verificando que los parámetros sean válidos
if [ $# -ne 3 ]
then
echo "Use: listen-ports start_port end_port host"
exit 1;
fi
let END=$2 i=$1
let range=$((END-i))
while ((i<=END)); do
echo Escaneando $3 : $i
timeout 5s nc -z $3 $i 2>> tcp.out.txt &
echo mensaje UDP puerto: $i | timeout 10s nc -u $3 $i &
#timeout 5s nc -z $3 $(($1+range)) 2>> tcp.out.txt &
#echo mensaje UDP puerto: $(($1+range)) | timeout 10s nc -u $3 $(($1+range)) &
sleep 1
let i++
let range--
done

Como era "de andar por casa, le falta mucho de "amigabilidad" e interfaz, pero su cometido lo hace y se usa dos veces en la vida.

Se puede modificar el de busqueda, el timeout, para que vaya más rápido, pero por no mosquear demasiado a los admins de la red lo dejé a un puerto por segundo.

El resultado es que en el servidor se crea el fichero udp.out.txt con los puertos que fueron accesibles por udp, y en el cliente (wifi) se mira el tcp.out.txt o la salida de la terminal para ver los que fuero satisfactorios, dice algo así como:

5222 port [tcp/xmpp-client] succeeded!

Y ahí ya tienes otro ;)

Esto de, una parte en el servidor y otra en el clientes es por la imposibilidad de comprobar solo desde un extremo si una conexión udp es correcta, así que lo que se comprueba es simplemente si llegó o no llego el mensaje al servidor, y en el mensaje se mete el puerto usado.

En fin, espero que te sirva, a ti o algún otro. Un saludo.

🗨️ 2
daviddrf

Gracias tío por el pedazo de curro. La única putada es que no tengo Linux instalado, pero ya buscaré alguna forma de meterlo tanto en el ordenador que hace de servidor en el PC de sobremesa como en el portátil que hace de cliente en la universidad. Aunque va a ser esto un poco complicado para mí lo intentaré. Saludos y a ver si por curiosidad hay más puertos de los que me imaginaba abiertos.

BocaDePez
BocaDePez

Fe de erratas: donde dije "se puede modificar el de busqueda, el timeout" debería poner "se puede modificar el de búsqueda, el sleep" el timeout es conveniente dejarlo ya que lo que hace es que mata al nc en 10sec porque si no hay respuesta a veces se queda esperando al infinito.

benhhur

Hola que hay,

No soy alumno de la universidad, pero voy con regularidad a la biblioteca de una facultad (universidad pública) a estudiar oposiciones. A veces necesito consultar algo en internet pero no puedo conectarme porque me sale un portal de la universidad solicitándome un nombre de usuario y una clave. Por favor, alguien puede ayudarme a encotrar alguna forma de poder conectarme. Mil gracias

🗨️ 1
BocaDePez
BocaDePez

No puedes sin un usuario y una contraseña, no hay de donde rascar, es un servicio exclusivo a universitarios y personal de la universidad normalmente.

Tal vez sea mejor que vayas a una biblioteca pública, donde si suele haber una red wifi abierta o de la que puedes pedir acceso gratis siendo socio de la biblioteca.