Esta web utiliza cookies, puedes ver nuestra política de cookies aquí. Si continuas navegando estás aceptándola

Abrir puertos tras NAT mediante upnp.


Tradicionalmente los hosts que se encuentran tras un un dispositivo que natea no tienen posibilidad de abrir puertos adicionales para servicios especiales como FTP o SIP, esto causa una serie problemas como audio inaudible en el caso de SIP o conexiones rechazadas en FTP.  Upnp nos permitirá abrir puertos desde la parte del cliente, esta característica también puede llegar a ser útil en ciertos escenarios donde nos conviene poner un socket a la escucha y conectarnos desde el exterior, sin Upnp esta conexión sería rechazada por el equipo que natea.

 

Instalamos las librerias de python necesarias:

emerge -av dev-python/miniupnpc

El script en cuestión es el siguiente:

vi upnp.py
import miniupnpc
upnp = miniupnpc.UPnP()
upnp.discoverdelay = 10
upnp.discover()
upnp.selectigd()
port = 4321
# addportmapping(external-port, protocol, internal-host, internal-port, description, remote-host)
upnp.addportmapping(port, 'TCP', upnp.lanaddr, port, 'testing', '')

Lo ejecutamos:

python upnp.py

Ponemos a la escucha el socket:

nc -l -p 4321

Conectamos desde el exterior atravesando el nateo:

telnet WANIP 4321
Trying WANIP...
Connected to WANIP.
Escape character is '^]'.

Con esto queda demostrado que un nateo no nos guarda de ciertos ataques mas complejos como este.


Autor: Kr0m -- 05/01/2017 16:43:03