Creo que debería comprender TCP / IP completamente, cómo se hacen las interconexiones, se filtran / bloquean completamente. Para los arrancadores, -sT (conexión TCP) es el tipo de conexión más confiable, ya que completa un protocolo de enlace completo. La salida de NMAP varía según lo que esté escaneando, ya sea que los objetivos tengan o no filtrado / cortafuegos. Hay una forma más sencilla de ver qué puertos se abren en sus sistemas. Se llama netstat. Al iniciar sesión en cualquiera de sus máquinas, simplemente puede ejecutar un netstat en esas máquinas para ver lo que se ha establecido y escuchar. Esto le dará una imagen más precisa de la aplicación utilizando un puerto. (por ejemplo, si por alguna razón asigno el puerto 21 a mi servidor http, lo verá en lugar de suponer que estoy ejecutando FTP).
Pero volvamos a tu pregunta al ver la salida. Hay dos vistas aquí (al escribirse localhost) ... Lo que TÚ verás, en comparación con lo que verá alguien que no sea de la LAN. Si está en un sistema Linux / BSD, no necesita ejecutar nmap. Podrías usar LSOF:
$ sudo lsof -i -n | awk '{print $1"\t"$8"\t"$9}'
Esto le mostrará todos los sockets basados en red en uso. Pero si TODAVÍA desea usar nmap, debe comprender cómo funciona nmap de manera predeterminada (por ejemplo, cuántos puertos se buscarán, ya que por defecto nmap solo escaneará los 1000 puertos más comunes. El servicio que se ejecuta en dicho puerto 24681 no se mostrará). Es poco común).
Pero todavía quieres usar nmap. Sugiero que para obtener una vista completa intente:
nmap -sT -Pn -T2 -vvv -A -p 1-65535 localhost
Esto funcionará bien, tomará algún tiempo localmente, y NO funcionará bien contra el host local. Esto se debe a que no todas las redes son iguales. Por ejemplo, si una red tiene VLAN, PVLAN o está separada / intersectada con, digamos, IPS / IDS / Firewalls pueden responder de manera diferente. Por ejemplo, si un conmutador tiene algunas ACL creativas, su conmutador puede interceptar y responder a la exploración NMAP (no al objetivo). Este suele ser el caso cuando ve que un objetivo responde como si TODOS los puertos estuvieran abiertos.
RESUMEN: Para ver qué se está ejecutando en SU máquina, es mejor que inicie sesión en ella y use algo como lsof o netstat. Si realiza la prueba en su red LOCALMENTE (en la misma subred), es posible que deba jugar con diferentes servicios (TCP / UDP), temporización (análisis lento frente a rápido / insano), puertos, etc.