Comment nmap distingue-t-il les ports fermés des ports filtrés

10

Supposons que nous effectuons une analyse de connexion TCP.

une analyse nmap sur google renvoie la sortie suivante:

SERVICE DE L'ÉTAT DU PORT

80 / TCP ouvert http

443 / TCP ouvert https

Cependant, si j'essaie d'ouvrir un socket avec netcat ou telnet sur google.com sur le port 12 par exemple, netcat ou telnet se bloque indéfiniment.

Nmap détecte le port 12 (et les autres ports autres que 80 ou 443) comme fermés mais l'initiation d'une connexion TCP avec eux ne se ferme pas instantanément.

Comment nmap peut-il savoir que ces ports ne sont pas filtrés mais fermés?

Intrepidd
la source
Par défaut (bien qu'il y ait plus à cet algorithme), la sortie que vous obtiendrez de nmap n'est que les ports ouverts, pas ceux fermés ou filtrés. nmap -p 12 www.google.com doit normalement l'afficher comme filtré.
nos

Réponses:

14

Avec nmap scan, vous obtenez généralement 3 états:

  • Ouvert - l'ordinateur distant a répondu avec un SYN / ACK à votre SYN
  • Fermé - l'ordinateur distant a rejeté votre tentative de connexion avec un paquet RST
  • Filtré - rien n'est revenu, un délai d'attente s'est produit

Ouvrir un netcat sur le port 80 et attendre ne fera rien. Le port 80 (généralement) signifie qu'un serveur http écoute de l'autre côté et attend une commande HTTP (jusqu'à son propre délai d'expiration). Après la netcatting sur le port 80, essayez sedinng a GET /pour voir si vous obtenez une réponse (probablement une erreur http).

mulaz
la source
8

Un port fermé est un port sur lequel aucun logiciel n'est à l'écoute, donc une tentative de connexion à ce port sur ce système entraînera le système à renvoyer un paquet TCP RST.

Un port filtré, d'autre part, est généralement un port bloqué par un pare-feu sur le chemin du réseau, donc une tentative de connexion à ce port sur ce système n'entraînera aucun retour ... pas même un TCP RST ... donc une tentative de connexion restera là jusqu'à ce que TCP expire la tentative de connexion.

Jeff McAdams
la source
C'est vrai mais cela ne répond pas à ma question. Ouvrez un netcat sur google.com sur le port 42, vous n'obtiendrez pas de paquet RST, mais nmap marque ce port comme fermé.
Intrepidd
Mon nmap sur google.com, y compris le port 42, le renvoie comme filtré, non fermé.
Jeff McAdams du
Mon mauvais, je pensais que tous les ports non affichés étaient fermés, mais cela dépend du résultat global.
Intrepidd