
Normalmente se suelen conocer los distintos puertos que utilizan los diferentes servicios que tenemos activos o no en nuestro sistema. Estos puertos suelen tener una numeración universal y, a menos que los modifiquemos por seguridad u algún otro motivo, la mayoría de los sistemas usan los mismos.
Pero son tantos los servicios que se pueden llegar a utilizar y tan diferentes, que siempre puede haber alguno que no recordemos o que ni tengamos idea alguna de qué servicio está utilizando un puerto en particular. Ya sea porque es un servicio que no es muy común o porque el sistema en sí es bastante específico, siempre podemos encontrarnos con algún servicio raro o puerto poco común.
Si trabajamos con Linux o Mac, podemos hacer uso del archivo /etc/services que no es mas que un conjunto o compendio de servicios y puertos que estos utilizan, por lo que nos puede servir de ayuda a la hora de descubrir el servicio que está utilizando un determinado puerto y viceversa.
Para ello, simplemente tendremos que realizar un filtrado mediante el comando grep y el servicio que queremos determinar, sobre el archivo en cuestión. De esta forma, si queremos saber el puerto que está usando el servicio smtp, por ejemplo, ejecutaríamos:
1 2 3 4 | $ grep smtp /etc/services smtp 25/udp # Simple Mail Transfer smtp 25/tcp # Simple Mail Transfer |
Lo que nos devolverá que dicho servicio se ejecuta sobre el puerto 25 en TCP y UDP.
De la misma forma, para conocer el servicio que se está ejecutando en un determinado puerto, procederíamos de forma similar. Así, para conocer el servicio que se ejecuta sobre el puerto 22, ejecutamos:
1 2 3 4 | $ grep 22 /etc/services ssh 22/udp # SSH Remote Login Protocol ssh 22/tcp # SSH Remote Login Protocol |
Cuyo resultado nos indicará que en el puerto 22 se ejecuta el servicio de SSH.
De esta forma, en cualquier momento, puedes conocer tanto los servicios como los puertos asociados a los mismos, si te encuentras con alguno raro o poco común.
