Les différents types de scannings de ports

Il existe différents types de scans pour déterminer les "portes ouvertes" sur un PC, chacun produisant une information différente, chacun ayant ses point forts et ses faiblesses. Voici les plus courants :


TCP SYN Scan
C'est la manière moderne typique de scanner un hôte à la recherche de ports TCP ouverts : envoyer des packets TCP SYN vers les ports. Un packet SYN est le premier packet envoyé lors d'une connexion TCP. Le but est de déterminer si l'hôte répond sur ce port sans devoir initier une connexion complète. Il fournit la même information sans se surcharger d'une connexion complète et offre un meilleur degré de contrôle de la vitesse et du contenu du scan. Il permet aussi de faire la différence entre les ports filtrés (stealth ou blocked) et les ports fermés (closed).

TCP Connect Scan
C'est la façon traditionnelle de chercher les ports ouverts. Cela implique d'utiliser le réseau natif APIpour un système afin d'établir une connexion avec chacun des ports de l'hôte distant. Si la connexion réussi, le port est considéré comme ouvert, si elle échoue, le port est considéré comme fermé. Méthode plus lente et consommant plus de ressources qu'un SYN scan mais fonctione dans diverses situations et est souvent utilisé comme alternative si aucun autre de type de scan n'est disponible.

TCP FIN Scan
Ce type de scan utilise des packets spécialement conçus avec un FIN flag plutôt qu'un SYN flag, ce type de packet est normalement produit lors de la fermeture d'une connexion. Envoyer ce type de packet à un PC (auquel vous n'avez pourtant pas envoyer un packet SYN correspondant) a pour résultat une réponse de la machine par un packet RST si le port est fermé ou rien si le port est ouvert. Malheureusement beaucoup d'applications TCP/IP ne respectent pas le standard RFC, il se peut donc que ce type de scan ne donne pas des résultats corrects concernant certains types d'hôtes, notamment sur certaines machines Windows.

TCP XMAS Scan
Ce type de scan est similaire aux scan FIN et SYN mais plutôt qu'un SYN ou FIN flag, il utilise une séquence de flags connue sous le nom de "Christmas tree packet". C'est une combinaison de flags FIN, URG et PUSH dans un packet pour essayer d'obtenir le même résultat qu'un scan FIN. Il peut permettre de contourner certains mécanismes de détection et de firewalls qu'un scan FIN ne peut pas. malheureusement il y a les mêmes problèmes que le scan FIN classique et peut souvent donner des résultats incorrects.

TCP NULL Scan
A nouveau, ce type de scan est juste un changement dans les flags de chaque packet envoyé vers l'hôte. Dans ce cas, tous les flags sont abandonnés complètement. En fait, ce n'est pas un packet répondant aux normes RFC, certains firewalls peuvent l'ignorer avant qu'il n'atteigne la machine ciblée. Il est quelque peu inefficace et est souvent utilisé quand aucun autre scan ne fournit d'information utile.

UDP Scan
Ce type de scan se concentre sur le protocole UDP. Contrairement au protocole TCP, l'UDP ne requiert pas d'informations attachées assurant la transmission sans erreur à la destination correcte. Cela en fait un protocole plus léger mais peut causer des problèmes avec les scans du fait qu'il ne nécessite pas de réponse à un packet particulier ayant été envoyé, comme pour les scans SYN. Normalement il y a un message ICMP en réponse à un packet UDP envoyé à un port fermé. A nouveau, des problèmes de respect RFC avec certaines couches IP peuvent le perturber. Des recherches sont en cours actuellement pour améliorer sa fiabilité.