Descubrir los puertos abiertos por un programa o proceso
Son muchas las personas que desean acelerar las descargas por Internet (emule, bittorrent, ares, …) y que, a pesar de abrir correctamente los puertos en su router, se quedan con la duda de si realmente lo están haciendo bien o no se explican por qué el programa les indica que están siendo “penalizados”.
En otras ocasiones pueden surgirte dudas del puerto que está utilizando tu base de datos (SQLite, PostgreSQL o similar) bien porque has utilizado un stack de aplicaciones como Bitnami o porque has utilizado la configuración que trae por defecto para una prueba rápida o bien no tienes ni idea de dónde se encuentran los ficheros de configuración
En este artículo quiero compartir con vosotros una forma sencilla de averiguar los puertos que utiliza cualquier programa que utilicéis en Linux.
Nos asalta la duda
¿Qué puerto tengo que abrir en el router para que vaya más rápido el cliente de Bittorrent?
¿Lo abro como tcp o como udp?
¿Por qué va lento el programa a pesar de que he abierto el rango de puertos que pone en la configuración de aMule?
Listar puertos
Lanza en la terminal un
sudo netstat -plutn
MNemónico: como pluton pero sin la O
Donde:
- program permite obtener el PID y el nombre del proceso
- listening muestra únicamente los sockets que están a la escucha
- udp muestra puertos en los que se use el protocolo UDP (User Datagram Protocol)
- tcp igual pero para TCP (Transmission Control Protocol)
- numeric para que muestre correctamente el número de puerto
Como resultado, obtendremos algo similar a

donde podemos observar que aria2c está utilizando los puertos
- 6888 para tcp
- 6960 para udp
Abrir y comprobar puertos
Una vez que detectamos los puertos (y el protocolo) que se está usando en cada uno de ellos, no nos quedará mas que dirigirnos a la pantalla de configuración de nuestro router y abrirlos convenientemente (habilitando la correspondiente regla NAT si, y sólo si, nos interesa que sean visibles desde el exterior de nuestra red local
)

Para asegurarnos que está disponible desde fuera de nuestra red local (Internet) podremos utilizar la siguiente página web para comprobar los puertos abiertos en nuestro router.
Conclusión
Truco sencillo que nos permitirá saber, sin lugar a dudas, qué puertos utiliza un determinado programa de modo que podamos acceder a él o bien modificar las reglas del cortafuegos para que sea accesible desde el exterior.





















Buen truco
Me gusta más netstat -plant (planta sin la segunda a)
Muy interesante.Me gusta mucho tu blog. Te invito a visitar mi web de tecnologia: http://www.infotecnologia.es .Si lo deseas puedes enlazarnos. Contacta con nosotros a través de nuestro correo proporcionado o a través de un comentario en nuestra web.
Si la aplicación soporta UPnP y nuestro router también, automágicamente se configura todo
Referencia: http://es.wikipedia.org/wiki/Universal_Plug_and_Play
Los tiempos cambian que es una barbaridad
Gracias y bienvenido, juanjo
Genial el truco! Del «netstat», yo sólo usaba el típico «netstat -a». Con la explicación que das, veo que también me puede ser útil un «netstat -an», para, además de ver todas las conexiones, saber qué programa la está usando.
Salut!
Me alegra que te haya gustado Oriol
Un saludo
¿La finalidad de abrir los puertos en el router es que sean accesibles desde fuera de mi LAN? o ¿solo seran accesibles desde fuera de mi LAN si ,ademas de abrirlos en el router, actvo la regla NAT?
Abrirlos no es suficiente: necesitas indicar (mediante una regla NAT) qué equipo (y con qué puerto) estará escuchando por el “agujerito” que has creado en el cortafuegos de tu router
Tonces……….¿abrirlos sin mas, sin crear la correspondiente regla NAT, tiene algun sentido, o las dos acciones(abri puerto y regla NAT) siempre van juntas??