Cómo detectar los puertos abiertos en nuestra computadora o router

El oficio del hacker incluye, entre una de sus tareas más comunes, el aprovechamiento (o la generación) de fallos en los servicios que las distintas aplicaciones abren con el «exterior». Estos servicios abren puertos a través de los cuales es teóricamente posible obtener acceso al sistema.

En este mini-tuto aprenderemos un poco más sobre los puertos, cómo funcionan y cómo detectar qué puertos (lógicos) tenemos abiertos.


Un puerto es una forma genérica de denominar a una interfaz a través de la cual los diferentes tipos de datos se pueden enviar y recibir. Dicha interfaz puede ser de tipo físico, o puede ser a nivel de software (por ejemplo, los puertos que permiten la transmisión de datos entre diferentes compus) (ver más abajo para más detalles), en cuyo caso se usa frecuentemente el término puerto lógico.

Puertos físicos

Un puerto físico, es aquella interfaz, o conexión entre dispositivos, que permite conectar físicamente distintos tipos de dispositivos como monitores, impresoras, escáneres, discos duros externos, cámaras digitales, memorias pendrive, etc… Estas conexiones tienen denominaciones particulares.

Puerto serie y puerto paralelo

Un puerto serie es una interfaz de comunicaciones entre computadoras y periféricos en donde la información es transmitida bit a bit de manera secuencial, es decir, enviando un solo bit a la vez (en contraste con el puerto paralelo3 que envía varios bits a la vez).

Puerto PCI

Los puertos PCI (Peripheral Component Interconnect) son ranuras de expansión de la placa madre de una computadora en las que se pueden conectar tarjetas de sonido, de vídeo, de red, etc… El slot PCI se sigue usando hoy en día y podemos encontrar bastantes componentes (la mayoría) en el formato PCI.

Puerto PCI Express

El puerto PCI Express incorpora nuevas mejoras para la especificación PCIe 3.0 que incluye una cantidad de optimizaciones para aumentar la señal y la integridad de los datos, incluyendo control de transmisión y recepción de archivos, PLL improvements, recuperacion de datos de reloj, y mejoras en los canales, lo que asegura la compatibilidad con las topolgias actuales.

Puerto de memoria

A estos puertos se conectan las tarjetas de memoria RAM. Los puertos de memoria son aquellos puertos, o bahías, donde se pueden insertar nuevas tarjetas de memoria, con la finalidad de extender la capacidad de la misma.

Puerto inalámbrico

Las conexiones en este tipo de puertos se hacen, sin necesidad de cables, a través de la conexión entre un emisor y un receptor utilizando ondas electromagnéticas. Si la frecuencia de la onda, usada en la conexión, se encuentra en el espectro de infrarrojos se denomina puerto infrarrojo. Si la frecuencia usada en la conexión es la usual en las radio frecuencias entonces sería un puerto Bluetooth.

La ventaja de esta última conexión es que el emisor y el receptor no tienen porque estar orientados el uno con respecto al otro para que se establezca la conexión. Esto no ocurre con el puerto de infrarrojos. En este caso los dispositivos tienen que «verse» mutuamente, y no se debe interponer ningún objeto entre ambos ya que se interrumpiría la conexión.

Puerto USB

Es totalmente Plug & Play, es decir, con sólo conectar el dispositivo y «en caliente» (con la compu prendida), el dispositivo es reconocido, e instalado, de manera inmediata. Sólo es necesario que el Sistema Operativo lleve incluido el correspondiente controlador o driver. Presenta una alta velocidad de transferencia en comparación con otro tipo de puertos. A través del cable USB no sólo se transfieren datos; además es posible alimentar dispositivos externos. El consumo maximo de este controlador es de 2.5 Watts.

Puertos lógicos

Se denomina así a una zona, o localización, de la memoria de una computadora que se asocia con un puerto físico o con un canal de comunicación, y que proporciona un espacio para el almacenamiento temporal de la información que se va a transferir entre la localización de memoria y el canal de comunicación.

En el ámbito de Internet, un puerto es el valor que se usa, en el modelo de la capa de transporte, para distinguir entre las múltiples aplicaciones que se pueden conectar al mismo host, o puesto.

Aunque muchos de los puertos se asignan de manera arbitraria, ciertos puertos se asignan, por convenio, a ciertas aplicaciones particulares o servicios de carácter universal. De hecho, la IANA (Internet Assigned Numbers Authority) determina las asignaciones de todos los puertos comprendidos entre los valores [0, 1023]. Por ejemplo, el servicio de conexión remota telnet, usado en Internet se asocia al puerto 23. Por tanto, existe una tabla de puertos asignados en este rango de valores. Los servicios y las aplicaciones se encuentran incorporados en el listado denominado Selected Port Assignments.

¿Cómo detectar los puertos lógicos abiertos?

Fácil, hay que instalar el programan nmap, incorporado en los repositorios de todas las distros populares.

En Ubuntu, esto sería así:

sudo apt-get install nmap

Una vez instalado, sólo hay que ejecutarlo aclarando el IP o seudónimo de la computadora o router que queramos verificar. Así, por ejemplo, para verificar los puertos abiertos en tu compu, escribí:

nmap localhost

Para listar los puertos abiertos en tu router (en caso de que utilices uno), pasá su IP como parámetro, en vez de localhost. En mi caso, quedó así:

nmap 192.168.0.1

Nota: en caso de que detectes puertos y servicios que no necesites, es posible desactivarlos desactivarlos desinstalando el paquete correspondiente, configurando la aplicación o el router para que no usen ese puerto o, simplemente, dando de baja en los scripts de inicio aquellos servicios que desees desactivar.

Fuentes: Wikipedia

Deja un comentario

Tu dirección de correo electrónico no será publicada.