Ir al contenido principal

Cómo chequear si un puerto está siendo usado en Linux

Son muchas las ocasiones en las que como administradores de servidores y/o de bases de datos o simplemente como un usuario del común cuando necesitamos validar si un puerto está siendo usado o si el servicio se encuentra activo por el puerto "estándar".

Dentro de las buenas prácticas a nivel de seguridad una de las recomendaciones más simples es la de "no uses puertos por defecto, cámbialos!!".

En este link pueden encontrar una lista con los puertos por default de varios servicios; uno de los que se suelen validar con frecuencia es el del servicio ssh cuyo puerto por default es el 22.  Cómo validar si el puerto se encuentra activo.

Existen varias formas, esta es una de las más sencillas.  Desde tu máquina cliente lanzas un telnet a la ip de la máquina destina por el puerto 22 así:




Y si el servicio se encuentra activo obtendrás una respuesta similar a esta:






Suponiendo que el servicio no se encuentre activo y/o configurado lo que obtendrás es una respuesta como esta:



Suponiendo que estamos logeados en la máquina linux y lo que queremos validar es (por ejemplo) si se encuentra activo o disponible el servicio SMTP que escucha por el puerto 25, podemos proceder de la siguiente manera:

Con un telnet al localhost por el puerto 25:



La anterior imagen muestra que el servicio se encuentra activo.  De qué otra manera nos podemos dar cuenta que el servicio se encuentra disponible y en uso:

Usando el comando ps y el grep, sólo que con esta instrucción no identificamos el puerto sino el servicio:





Pero para localizar el servicio podemos usar el comando netsat con el parámetro -tnl:



Y existe otra herramienta que te facilitará el descubrimiento/escaneo de puertos y servicios activos de una forma sencilla y que es una gran herramienta para todos los que incursionan en el mundo de la seguridad informática; les hablo del Nmap:

Puedes ejecutar la siguiente instrucción nmap -v -A localhost y después de que termine el escaneo tendrás un resumen similar a este:




Todos los comando usados para explorar y/o consultar si un servicio/puerto se encuentra activo poseen muchas opciones de ejecución; cada una te traerá información diferente con respecto a la ip/puerto/servicio consultado. Te recomiendo saques un tiempito para que explores un poco más sobre cada comando.




Comentarios

Entradas populares de este blog

Tutorial: Introducción a PyTorch - Primeros Pasos en Deep Learning

  Muy interesado en este mundo de todo lo relacionado con inteligencia artificial hoy quiero que aprendamos juntos a utilizar PyTorch, una de las librerías más populares para Deep Learning, con ejemplos prácticos. En este tutorial iremos (porque yo también estoy aprendiendo) paso a paso para comenzar con PyTorch y construir nuestros primeros modelos de redes neuronales.  Bienvenido (a)!. El Deep Learning es una rama fascinante de la inteligencia artificial que ha logrado resultados impresionantes en una variedad de problemas complejos. En este tutorial, aprenderás a utilizar PyTorch, una potente librería de Python desarrollada por Facebook, para construir y entrenar modelos de deep learning desde cero. ¿Qué es PyTorch? PyTorch es una librería de Python para computación en Deep Learning que permite tanto entrenar modelos como usarlos para inferencia. Es conocida por su flexibilidad y facilidad de uso, lo que la convierte en una excelente opción tanto para investigadores como pa...

Conexi - Python, Control de existencias

He decidido colgar en la web una aplicación que hice hace ya muchos días utilizando Python , las Wx , VisualWx y MySQL para la plataforma windows. El programa lo bautice CONEXI (Control de Existencias), sirve para la administración del inventario que rota entre bodegas ubicadas en diferentes ciudades pero que son de la misma empresa. El software fue creado para un almacén de electrodomésticos de mi pueblo que tiene sedes en dos ciudades y que necesita saber que colchón, nevera, tv, etc; fue despacha desde y hacia dónde y qué existencias quedaron en cada bodega. No se si me hice entender ;) Puedes descargar el código fuente desde aquí y si tienes alguna inquietud o no te funciona algo me puedes enviar un mail .

SQL Error [53200]: ERROR: out of shared memory

  ¡Hola, amigos del blog! Hoy vamos a hablar sobre un tema que puede causar más de un dolor de cabeza a los que trabajamos con PostgreSQL: el temido error SQL Error [53200]: ERROR: out of shared memory. Pero no te preocupes, porque aquí te explico por qué sucede y cómo solucionarlo de manera sencilla y divertida. Imagina que estás en una fiesta y hay demasiada gente queriendo usar el mismo baño. Al final, alguien se quedará esperando fuera, ¿verdad? Algo similar pasa con PostgreSQL cuando se queda sin memoria compartida para gestionar los bloqueos de los objetos. Este error suele aparecer cuando hay demasiados objetos bloqueados en una sola transacción o cuando el parámetro max_locks_per_transaction está configurado demasiado bajo. ¿Por qué ocurre este error? Las principales causas son: Muchas transacciones concurrentes : Cuando hay demasiadas transacciones al mismo tiempo, todas compitiendo por recursos. Operaciones complejas : Transacciones que bloquean muchos objetos a la vez, ...