Escáner de puertos

De Wikipedia, la enciclopedia libre
Modelo de escáner de puertos

El término escáner de puertos o escaneo de puertos se emplea para designar la acción de analizar por medio de un programa el estado de los puertos de una máquina conectada a una red de comunicaciones. Detecta si un puerto está abierto, cerrado, o protegido por un cortafuegos.

Se utiliza para detectar qué servicios comunes está ofreciendo la máquina y posibles vulnerabilidades de seguridad según los puertos abiertos. También puede llegar a detectar el sistema operativo que está ejecutando la máquina según los puertos que tiene abiertos. Es usado por administradores de sistemas para analizar posibles problemas de seguridad, pero también es utilizado por usuarios malintencionados que intentan comprometer la seguridad de la máquina o la red.

Existen varios programas para escanear puertos por la red. Uno de los más conocidos es Nmap, disponible tanto para Linux como Windows.

Rastreo de puertos TCP SYN scan[editar]

Es necesario saber que para establecer una conexión normal se debe primero considerar lo siguiente. En TCP es necesario seguir una negociación de tres pasos. Esta negociación es iniciada con un paquete SYN en la máquina de origen, al cual la máquina de destino responde con un paquete SYN/ACK, el que es finalmente respondido por la máquina que inicia la conexión por un paquete ACK. Una vez que se han cumplido estos pasos, está hecha la conexión TCP.

Un rastreador de puertos envía muchos paquetes SYN a la máquina que se está probando, y mira de qué forma regresan los paquetes para ver el estado de los puertos en el destino, interpretándolos de la siguiente forma:

  • Si al enviar un paquete SYN a un puerto específico, el destino devuelve un SYN/ACK, el puerto está abierto y escuchando conexiones.
  • En otro caso, si regresa un paquete RST, el puerto está cerrado.
  • Por último, si no regresa el paquete, o si se recibe un paquete ICMP Port Unreachable, el puerto está filtrado por algún tipo de cortafuegos.

Haciendo este procedimiento para una lista de puertos conocidos, se logra obtener un informe de estado de los puertos de la máquina probada.

Rastreo de puertos UDP[editar]

Aunque el protocolo UDP no está orientado a la conexión, es posible realizar un escaneo. No tiene un paquete SYN como el protocolo TCP, sin embargo si un paquete se envía a un puerto que no está abierto, responde con un mensaje ICMP Port Unreachable. La mayoría de los escáneres de puertos UDP usan este método, e infieren que si no hay respuesta, el puerto está abierto. Pero en el caso de que esté filtrado por un firewall, este método dará una información errónea.

Una opción es enviar paquetes UDP de una aplicación específica, para generar una respuesta de la capa de aplicación. Por ejemplo enviar una consulta DNS.

Escáneres de puertos en línea[editar]