Nmap es una utilidad conocida que se incluye con muchas distribuciones de Linux y que también está disponible para Windows y varias otras plataformas. Esencialmente una herramienta de escaneo y mapeo, hay mucho que Nmap puede hacer por usted.
Hoy, estamos considerando el uso de Nmap para el escaneo de puertos que, dicho sea de paso, es el uso principal de la herramienta . El escaneo de puertos es una tarea esencial de la administración de la red, ya que garantiza que no queden puertas traseras sin abordar. Es una de las formas más básicas de asegurar la red.
Antes de entrar en la parte de procedimientos de esta publicación, nos desviaremos un poco y primero presentaremos Nmap y su primo de GUI, Zenmap. Luego, explicaremos qué son los puertos y cómo debe tener cuidado de no dejar abiertos los puertos no utilizados en sus dispositivos. Luego, llegaremos a la esencia de esta publicación y le mostraremos cómo usar Nmap para escanear puertos. Y dado que hay bastantes otras herramientas que pueden ser alternativas viables a Nmap para el escaneo de puertos, algunas de ellas mucho mejores o más fáciles de usar, finalmente revisaremos algunas de las mejores alternativas de Nmap para el escaneo de puertos.
Sobre Nmap
Nmap son las siglas de Network Mapper. Es una herramienta de escaneo que se puede utilizar para descubrir hosts y servicios, construyendo así un "mapa" de la red, de ahí el nombre. La herramienta funciona enviando paquetes especialmente diseñados a los hosts de destino (algo parecido a ping pero no necesariamente usando ICMP) y analizando las respuestas que obtiene.
El uso principal de Nmap es analizar qué servicios están disponibles en una computadora. También se puede utilizar como escáner de direcciones IP. Esta herramienta puede descubrir hosts y sus servicios y también puede detectar su sistema operativo y más. Mediante secuencias de comandos, la herramienta se puede utilizar incluso para la detección avanzada de servicios, detección de vulnerabilidades y más. En general, esta es una herramienta versátil que se puede utilizar bien en muchas situaciones.
Nmap, que es una herramienta de línea de comandos gratuita y de código abierto que comenzó como una utilidad solo para Linux, pero desde entonces se ha portado a muchos otros sistemas operativos, incluidos Windows, Solaris, HP-UX, la mayoría de las variantes de BSD, incluido OS X, AmigaOS, e IRIX.
Primo guapo de Nmap: Zenmap
Si prefiere trabajar con interfaces gráficas de usuario, Zenmap es una interfaz gráfica de usuario de código abierto para Nmap. Puede que su interfaz de usuario no sea la más sofisticada, pero hace bien su trabajo. La herramienta es de los mismos desarrolladores que Nmap, por lo que puede esperar que la integración sea buena. Puede usarlo para escanear todos los puertos en todas las computadoras conectadas a su red. Luego, realizará pruebas de seguimiento en los puertos abiertos que haya descubierto. También puede realizar un escaneo completo, escanear todos los puertos TCP o escanear todos los puertos UDP. También hay un análisis intenso que utiliza una metodología sigilosa en la que los dispositivos probados no registrarán las pruebas como una conexión. Sin embargo, estos pueden llevar mucho tiempo. Espere que tome más de 90 minutos para un dispositivo.
¿Qué es un puerto de todos modos?
En una frase, los puertos son las puertas de enlace de la red al equipo. Vamos a explicar. Las computadoras pueden hacer muchas cosas diferentes a la vez. Y varias de estas cosas pueden requerir acceso a la red. Pero, por lo general, las computadoras tienen solo una interfaz de red física. Los puertos se inventaron para permitir que diferentes procesos compartan una interfaz de red común.
Por ejemplo, piense en un servidor que ejecuta tanto un servidor web como un servidor FTP, una combinación muy común. Cuando llega una solicitud, ¿cómo sabe el sistema operativo si debe enviarla a los servidores web o FTP? Usando puertos. Una solicitud para el servidor web utilizará el puerto 80, mientras que una solicitud para el servidor FTP utilizará el puerto 22.
Los puertos no son algo físico, son solo números del 0 al 65535 que se agregan al encabezado de los paquetes de datos transmitidos en una red. Y tampoco son aleatorios. Bueno, en realidad a veces lo son. Más sobre su más tarde.
Una cosa que es importante para que todo esto funcione es que todos estén de acuerdo sobre qué puerto usar para qué. Por ejemplo, el servidor web mencionado anteriormente espera que las solicitudes usen el puerto 80. Su navegador web debe usar el puerto 80 para enviar la solicitud al servidor web.
Puertos conocidos
La necesidad de acordar qué puerto se resolvió desde el principio mediante la estandarización de puertos. La Autoridad de Números Asignados de Internet (IANA, la misma organización que también asigna direcciones IP) es responsable de mantener las asignaciones oficiales de números de puerto para usos específicos.
Bajo el control de la IANA, los primeros 1024 puertos fueron asignados oficialmente a diferentes servicios. En realidad, esto no es del todo cierto. Algunas asignaciones de puertos no están autorizadas oficialmente por la IANA. Estaban disponibles y alguna organización comenzó a usarlos para su propósito, a menudo antes de que la IANA comenzara a controlar su asignación, y, a través del uso, su uso se estancó.
Hoy en día, muchos de nosotros estamos familiarizados con varios de estos puertos. Hay un puerto 80 para web y 21 para FTP, como se mencionó anteriormente. También estamos familiarizados con el puerto 22 para SSH o 53 para DNS. No se han asignado todos los primeros 1024 puertos y algunos todavía están disponibles, pero su número se está reduciendo.
Otros puertos
Los puertos conocidos representan los primeros 1024, entonces, ¿qué pasa con los 64512 otros? Bueno, los puertos 1024 a 49151 son lo que llamamos puertos registrados. Estos también son controlados y asignados por la IANA. Cualquier organización puede solicitarlos para su propósito específico. Así es como, por ejemplo, el puerto 1433 se convirtió en el puerto para el servidor Microsoft SQL o el puerto 47001 se convirtió en el puerto para el Servicio de administración remota de Windows. Pero siendo Internet lo que es, varios puertos de ese rango se utilizan para fines específicos sin haber sido registrados en la IANA.
En cuanto a los puertos que van desde 49152 a 65535, se denominan puertos efímeros. Las aplicaciones los utilizan temporalmente para diferenciar los flujos. Piense en un servidor web. Varios clientes pueden conectarse al mismo tiempo. Si todos usaron el puerto 80, podría ser difícil para el servidor asegurarse de que envía respuestas al solicitante correcto. Entonces, la conexión inicial se realiza en el puerto 80, luego de lo cual el servidor y el cliente "acuerdan" un número de puerto efímero que se utilizará para el resto de su intercambio.
Un consejo: mantenga cerrados los puertos no utilizados
En una computadora, el estado de los puertos puede ser abierto, cerrado o sigiloso. Un puerto abierto significa que la computadora está "escuchando" activamente las solicitudes de conexión en ese puerto. Es un puerto activo. Un puerto cerrado, como su nombre lo indica, no aceptará conexiones entrantes. En cambio, responderá a cualquier solicitud de cierre del puerto. Los puertos sigilosos son algo diferentes. un dispositivo que intente conectarse a esos puertos ni siquiera obtendrá una respuesta.
Cualquier puerto que esté abierto es una puerta abierta a la computadora. Y los usuarios malintencionados ciertamente intentarán explotar estas puertas abiertas para obtener acceso a la computadora. Por ejemplo, digamos que tiene el puerto FTP 21 abierto, aunque en realidad no está usando FTP. Un pirata informático podría usar ese puerto abierto para aprovechar una vulnerabilidad del software FTP que se ejecuta en la computadora para inyectar software malicioso.
Y si ni siquiera está utilizando FTP, es posible que no haya actualizado el servidor FTP y muy bien podría contener vulnerabilidades explotables. Por eso es tan importante asegurarse de que los puertos no utilizados estén cerrados o sigilosos.
Proteja también los puertos que usa
En cuanto a la publicación que está utilizando, todavía son puertas abiertas y podrían usarse para actividades maliciosas. Por eso es necesario proteger los puertos abiertos. Se puede hacer de varias formas, la más básica de las cuales es mantener actualizado su sistema operativo y otro software. La mayoría de los editores de software publican parches frecuentes para abordar las vulnerabilidades descubiertas. Otra forma de protegerse es mediante el uso de cortafuegos y sistemas de detección y / o prevención de intrusiones.
Uso de Nmap para escaneo de puertos
Usar Nmap para escanear puertos es muy fácil. Si esperabas un tutorial detallado, te espera una agradable sorpresa. Simplemente no es necesario. El escaneo de puertos es la función principal de Nmap y, en pocas palabras, el escaneo de puertos es solo una cuestión de escribir el comando seguido de la dirección IP o el nombre de host del dispositivo que desea escanear.
# nmap scanme.nmap.org Iniciando nmap (https://nmap.org) Informe de escaneo de nmap para scanme.nmap.org (64.13.134.52) No se muestra: 994 puertos filtrados PORT STATE SERVICE 22 / tcp open ssh 25 / tcp closed smtp 53 / tcp dominio abierto 70 / tcp cerrado gopher 80 / tcp abierto http 113 / tcp cerrado auth nmap hecho: 1 dirección IP (1 host arriba) escaneada en 4,99 segundos
Bastante simple, ¿no? Sin embargo, quizás necesites algo un poco más elaborado. Ejecutemos el comando una vez más pero, esta vez, agregaremos algunas opciones. -p0- especifica escanear todos los puertos TCP posibles, -v especifica que sea detallado al respecto, -A habilita pruebas agresivas como detección remota de SO, detección de servicio / versión y Nmap Scripting Engine (NSE), y -T4 habilita un política de sincronización más agresiva para acelerar el escaneo. Aquí está el resultado.
# nmap -p0- -v -A -T4 scanme.nmap.org Iniciando nmap (https://nmap.org) Escaneo de ping completo a las 00:03, transcurrido 0.01 s (1 hosts en total) Escaneo scanme.nmap.org ( 64.13.134.52) [65536 puertos] Puerto abierto descubierto 22 / tcp en 64.13.134.52 Puerto abierto descubierto 53 / tcp en 64.13.134.52 Puerto abierto descubierto 80 / tcp en 64.13.134.52 Tiempo de escaneo sigiloso SYN: Aproximadamente 6.20% hecho; ETC: 00:11 (0:07:33 restante) Se completó el SYN Stealth Scan a las 00:10, transcurrieron 463.55 s (65536 puertos en total) Se completó el escaneo del servicio a las 00:10, transcurrieron 6.03 s (3 servicios en 1 host) Iniciando el SO detección (prueba n. ° 1) contra scanme.nmap.org (64.13.134.52) Iniciando Traceroute a las 00:10 64.13.134.52: adivinando la distancia del salto a las 9 Completado SCRIPT ENGINE a las 00:10, 4.04s transcurrido Host scanme.nmap.org ( 64.13.134.52) parece estar activo ... bien. Informe de escaneo de Nmap para scanme.nmap.org (64.13.134.52) No se muestra: 65530 puertos filtrados PORT STATE SERVICE VERSION 22 / tcp open ssh OpenSSH 4.3 (protocolo 2.0) 25 / tcp closed smtp 53 / tcp open domain ISC BIND 9.3.4 70 / tcp closed gopher 80 / tcp open http Apache httpd 2.2.2 (( Fedora)) | _HTML title: ¡Adelante, ScanMe! 113 / tcp closed auth Tipo de dispositivo: propósito general Ejecución: Linux 2.6.X Detalles del sistema operativo: Linux 2.6.20-1 (Fedora Core 5) Tiempo de actividad estimado: 2.457 días (desde Thu Sep 18 13:13:24 2008) Predicción de secuencia TCP : Dificultad = 204 (¡Buena suerte!) Generación de secuencia de ID de IP: Todos ceros TRACEROUTE (usando el puerto 80 / tcp) DIRECCIÓN HOP RTT [Primeros ocho saltos cortados por brevedad] 9 10.36 metro0.sv.svcolo.com (208.185.168.173) 10 10.29 scanme.nmap.org (64.13.134.52) Nmap hecho: 1 dirección IP (1 host arriba) escaneada en 477.23 segundos Paquetes sin procesar enviados: 131432 (5.783MB) | Rcvd: 359 (14,964 KB) 0) 25 / tcp cerrado smtp 53 / tcp dominio abierto ISC BIND 9.3.4 70 / tcp cerrado gopher 80 / tcp abierto http Apache httpd 2.2.2 ((Fedora)) | _HTML título: ¡Adelante y ScanMe! 113 / tcp closed auth Tipo de dispositivo: propósito general Ejecución: Linux 2.6.X Detalles del sistema operativo: Linux 2.6.20-1 (Fedora Core 5) Tiempo de actividad estimado: 2.457 días (desde Thu Sep 18 13:13:24 2008) Predicción de secuencia TCP : Dificultad = 204 (¡Buena suerte!) Generación de secuencia de ID de IP: Todos ceros TRACEROUTE (usando el puerto 80 / tcp) DIRECCIÓN HOP RTT [Primeros ocho saltos cortados por brevedad] 9 10.36 metro0.sv.svcolo.com (208.185.168.173) 10 10.29 scanme.nmap.org (64.13.134.52) Nmap hecho: 1 dirección IP (1 host arriba) escaneada en 477.23 segundos Paquetes sin procesar enviados: 131432 (5.783MB) | Rcvd: 359 (14,964 KB) 0) 25 / tcp cerrado smtp 53 / tcp dominio abierto ISC BIND 9.3.4 70 / tcp cerrado gopher 80 / tcp abierto http Apache httpd 2.2.2 ((Fedora)) | _HTML título: ¡Adelante y ScanMe! 113 / tcp closed auth Tipo de dispositivo: propósito general Ejecución: Linux 2.6.X Detalles del sistema operativo: Linux 2.6.20-1 (Fedora Core 5) Tiempo de actividad estimado: 2.457 días (desde Thu Sep 18 13:13:24 2008) Predicción de secuencia TCP : Dificultad = 204 (¡Buena suerte!) Generación de secuencia de ID de IP: Todos ceros TRACEROUTE (usando el puerto 80 / tcp) DIRECCIÓN HOP RTT [Primeros ocho saltos cortados por brevedad] 9 10.36 metro0.sv.svcolo.com (208.185.168.173) 10 10.29 scanme.nmap.org (64.13.134.52) Nmap hecho: 1 dirección IP (1 host arriba) escaneada en 477.23 segundos Paquetes sin procesar enviados: 131432 (5.783MB) | Rcvd: 359 (14,964 KB) propósito general Ejecución: Linux 2.6.X Detalles del sistema operativo: Linux 2.6.20-1 (Fedora Core 5) Tiempo de actividad estimado: 2.457 días (desde Thu Sep 18 13:13:24 2008) Predicción de secuencia TCP: Dificultad = 204 (¡Buena suerte! ) Generación de secuencia de ID de IP: Todos ceros TRACEROUTE (usando el puerto 80 / tcp) DIRECCIÓN HOP RTT [Primeros ocho saltos cortados para mayor brevedad] 9 10.36 metro0.sv.svcolo.com (208.185.168.173) 10 10.29 scanme.nmap.org (64.13 .134.52) Nmap hecho: 1 dirección IP (1 host arriba) escaneada en 477.23 segundos Paquetes sin procesar enviados: 131432 (5.783MB) | Rcvd: 359 (14,964 KB) propósito general Ejecución: Linux 2.6.X Detalles del sistema operativo: Linux 2.6.20-1 (Fedora Core 5) Tiempo de actividad estimado: 2.457 días (desde Thu Sep 18 13:13:24 2008) Predicción de secuencia TCP: Dificultad = 204 (¡Buena suerte! ) Generación de secuencia de ID de IP: Todos ceros TRACEROUTE (usando el puerto 80 / tcp) DIRECCIÓN HOP RTT [Primeros ocho saltos cortados para mayor brevedad] 9 10.36 metro0.sv.svcolo.com (208.185.168.173) 10 10.29 scanme.nmap.org (64.13 .134.52) Nmap hecho: 1 dirección IP (1 host arriba) escaneada en 477.23 segundos Paquetes sin procesar enviados: 131432 (5.783MB) | Rcvd: 359 (14,964 KB) 168.173) 10 10.29 scanme.nmap.org (64.13.134.52) Nmap terminado: 1 dirección IP (1 host arriba) escaneada en 477.23 segundos Paquetes sin procesar enviados: 131432 (5.783MB) | Rcvd: 359 (14,964 KB) 168.173) 10 10.29 scanme.nmap.org (64.13.134.52) Nmap terminado: 1 dirección IP (1 host arriba) escaneada en 477.23 segundos Paquetes sin procesar enviados: 131432 (5.783MB) | Rcvd: 359 (14,964 KB)
Algunas alternativas de Nmap para el escaneo de puertos
Tan bueno, y tan simple, como Nmap es como una herramienta de escaneo de puertos. Quizás desee considerar otras opciones. Hay muchos productos que pueden escanear puertos. Repasemos algunas de las mejores herramientas que pudimos encontrar. Muchos son gratuitos o ofrecen una prueba gratuita, así que siéntase libre de probar cualquiera de ellos y ver cómo se adapta a sus necesidades.
1. Escáner de puerto libre SolarWinds (DESCARGA GRATUITA)
SolarWinds es uno de los principales actores en el campo de las herramientas de red. También es conocido por publicar bastantes herramientas gratuitas muy útiles. El escáner de puerto libre de SolarWinds es uno de ellos. El software solo está disponible para Windows y se ejecutará a través de una GUI o como una herramienta de línea de comandos.
De forma predeterminada, SolarWinds Free Port Scanner escaneará su red para detectar todas las direcciones IP. Luego, seleccione escanear en todos los dispositivos o cambiar la configuración de rango escanear un subconjunto de sus dispositivos. También puede especificar los puertos para probar. De forma predeterminada, solo probará puertos conocidos, pero puede anular esto para especificar su propio rango o lista de números de puerto. Las configuraciones más avanzadas le permitirán escanear solo puertos TCP o UDP, hacer una verificación de ping, una resolución de DNS o una prueba de identificación del sistema operativo.
Como resultado, el software devolverá una lista del estado de todos los dispositivos probados. Puedes imaginar que esta podría ser una lista larga. Afortunadamente, el sistema le permitirá aplicar filtros y, por ejemplo, solo enumerar los dispositivos con puertos abiertos. Al hacer clic en un dispositivo, se muestra el panel de detalles del puerto. Nuevamente, enumerará todos los puertos en el rango de escaneo y nuevamente, puede aplicar un filtro y solo mostrar los puertos que están abiertos.
2. Escáner de puertos PortChecker
El escáner de puertos PortChecker es un escáner basado en la web. Es una gran herramienta, aunque no se comprueban todos los puertos. El servicio probará 36 de los puertos conocidos más importantes y vulnerables para la accesibilidad desde Internet. También probará si se está ejecutando un servicio en cada puerto abierto. También hay una opción para ejecutar un escaneo más corto que solo probará 13 puertos.
Los puertos probados incluyen datos y control FTP, TFTP, SFTP, SNMP, DHCP, DNS, HTTPS, HTTP, SMTP, POP3, POP3 SSL, IMAP SSL, SSH y Telnet, por nombrar solo los principales. Los resultados del escaneo se muestran como una tabla en la página web. Si necesita una prueba rápida y sucia de los puertos más comunes, el PortChecker Port Scanner gratuito puede ser la herramienta adecuada para usted.
3. Escáner de puerto abierto de WebToolHub
El explorador del puerto abierto de WebToolHub es otro corrector puerto libre en línea. El sistema requiere que ingrese una dirección IP y una lista de puertos para verificar. Solo puede ingresar 10 números de puerto a la vez, por lo que deberá ejecutarlo varias veces para probar más. Sin embargo, no es necesario que ingrese números de puerto individuales. El sistema admitirá un rango, como 21-29, siempre que no supere los 10. Parece ser una mejor herramienta para una verificación rápida de puertos específicos que una herramienta completa de evaluación de vulnerabilidades.
Una vez que se completa el escaneo, que es bastante rápido, los resultados se muestran en un formato de tabla con el estado de cada puerto, así como el servicio registrado con ese puerto. La tabla de resultados se puede exportar a un archivo CSV. Y mientras está en el sitio WebToolHub, es posible que desee echar un vistazo a algunas de las otras herramientas gratuitas, como un verificador de ubicación de IP, un verificador de backlinks, una función de búsqueda de WHOIS y una prueba de ping.
4. Comprobador de puertos de red de huellas digitales IP
IP Fingerprints es otro sitio web donde encontrará una cierta cantidad de herramientas gratuitas y útiles, entre ellas el Comprobador de puertos de red . Para usarlo, simplemente ingrese una dirección IP y un rango de puertos para verificar. Aunque el número de puertos escaneados no está limitado, se le advierte que un número de puertos superior a 500 puede tardar un poco en escanear y que un rango grande iniciará un escaneo que puede no terminar nunca.
Esta herramienta afirma poder trabajar con firewalls. Se realiza mediante solicitudes SYN. Por lo tanto, nunca se abre una conexión real y muchos cortafuegos dejarán pasar la solicitud SYN. Si pasa por el cortafuegos o no, no es del todo relevante. Esta sigue siendo una prueba muy buena, pase lo que pase, ya que es un método común utilizado por los piratas informáticos.
5. Escáner de puerto libre
El puerto libre del escáner es un programa gratuito de Windows que se pueden descargar de la Major Geeks sitio web. Puede utilizar esta herramienta para escanear rangos de puertos. El número de puertos escaneados no está restringido, por lo que puede decidir escanear todos los puertos si tiene tiempo para matar.
De forma predeterminada, la herramienta querrá escanear su propia dirección IP en busca de puertos abiertos de su propia lista predeterminada de puertos. Como era de esperar, la duración del análisis es proporcional al número de puertos analizados. Y es más lento cuando se prueban puertos en un dispositivo diferente. Por ejemplo, la prueba de todos los puertos de su enrutador podría llevar todo el día. Los resultados pueden mostrar puertos abiertos o cerrados o ambos. La herramienta no tiene documentación y no está claro qué método de prueba se utiliza. Además, parece que solo prueba puertos TCP, no UDP.
6. Comprobador de puertos
Port Checker no debe confundirse con PortChecker Port Scanner analizado anteriormente. Es una herramienta de Windows que se descarga mejor desde Softpedia . El software no tiene instalador. simplemente descarga su archivo zip, extrae el archivo ejecutable y ejecútalo. El ejecutable es pequeño y no requiere instalación, lo que significa que puede ejecutarlo desde una memoria USB.
La interfaz de usuario de la herramienta es sencilla y bastante fácil de usar. Simplemente ingrese una dirección IP y seleccione un número de puerto de una lista desplegable. Las dos limitaciones principales de esta herramienta son que no puede escanear ningún puerto, solo los de la lista y que solo escaneará un puerto por ejecución. A pesar de sus limitaciones, Port Checker es una gran herramienta cuando solo necesita verificar si un puerto específico está abierto o no.