Les différents états d’un port TCP lors d’une connexion
Un port TCP passe par différents états lors d’une connexion. Il est possible de voir l’état de chaque port en utilisant la commande Unix netstat (disponible également sous Windows). Voici la liste de ces différents états :
– LISTEN Attente d’une demande de connexion.
– SYN-SENT Attente de la réponse du destinataire après une demande de connexion.
– SYN-RECEIVED Attente de la confirmation de l’acquiescement d’une demande de connexion après avoir reçu la demande de connexion et renvoyé un premier acquiescement. – ESTABLISHED Représente une connexion ouverte, prête à transmettre et recevoir des données. – FIN-WAIT-1 Attente d’une demande de fin de connexion du TCP distant. Ou un acquiescement de la demande de fin de connexion préalablement envoyé.
– FIN-WAIT-2 Attente d’une demande de fin de connexion du TCP distant.
– TIME-WAIT Attente d’une durée suffisante pour être sûr que l’hôte TCP a reçu l’acquiescement de sa demande de fin de connexion. – CLOSE-WAIT Attente d’une demande de fin de connexion venant d’un utilisateur local.
– CLOSING Attente de l’acquiescement d’une demande de fin de connexion d’un hôte TCP.
– CLOSED Représente un état où il n’y a pas de connexion.
Sécurité : Association de drapeaux
Étant donné que chaque session du protocole TCP/IP se décompose en trois étapes, à chaque étape correspond une association de drapeaux. – Les associations de drapeaux pour une demande de connexion sont : SYN, SYN / ACK, ACK. – Les associations de drapeaux pour un échange de données sont : P / ACK, · / ACK.
– Les associations de drapeaux pour une fin de session sont : F / ACK, R / ACK Certaines associations de drapeaux sont l’œuvre de paquets fabriqués à des fins de nuisance du réseau Association de drapeaux anormale Comme association de drapeaux anormale on a :
– SYN / FIN (ce paquet demande une ouverture de session et en même temps une fin de session ce qui est anormal). C’est une signature qui échappe à des dispositifs de filtrages et qui évite que le paquet soit journalisé.
– Un ACK PING consiste à utiliser le ACK au lieu de ping pour contourner des dispositifs qui filtrent ce genre de balayage. En envoyant un ACK à toutes les machines d’un réseau celles qui sont actives répondront par un RESET.
– Un ACK qui n’est pas précédé SYN est suspect (signature d’une attaque).
Paquet fragmenté
L’une des grandes difficultés des dispositifs de filtrage de nos jours est la fragmentation. La fragmentation est le moyen dont dispose le routeur pour couper en fragments un paquet dont le MTU ne correspond pas à son prochain médium. Mais la fragmentation peut-être mise en œuvre pour contourner un dispositif de filtrage. Donc il faut savoir distinguer un paquet fragmenté normal,d’un paquet fragmenté anormal.
Tous les fragments d’un paquet fragmenté ont le même numéro d’identification ( voir schéma en-tête IP) que le paquet original.
Il existe trois types de fragments :
– Premier fragment : indique le protocole de transport,son OFFSET est nul, son drapeau MF est défini. – Deuxième fragment : n’indique pas de protocole, son OFFSET est différent de zéro, son drapeau MF est défini. – Dernier fragment : n’indique pas de protocole, son OFFSET est différent de zéro,mais son MF n’est pas défini. REMARQUE
1. Tous les paquets fragmentés d’un paquet original contiennent le même numéro d’identification contenu dans l’en-tête IP du paquet original.
2. Un fragment est caractérisé par son OFFSET (la quantité de données du paquet original transmise avant celui-ci) indique sa position dans le paquet original. Étant donné qu’aucune donnée n’est transmise avant le premier paquet fragmenté d’un paquet original, son OFFSET est nul.
3. Un fragment est défini par son drapeau MF qui indique si ce fragment sera suivi par un autre fragment ou non. Ainsi pour le dernier fragment d’un paquet original le drapeau MF n’est pas défini. S’il est défini, MF = 1. S’il n’est pas defini MF = 0.
Protocole UDP
UDP est le protocole utilisé par les applications dont le transport n’exige pas une certaine fiabilité. Contrairement à TCP il fonctionne en mode non connecté ce qui le rend plus vulnérable que le TCP,car il n’a pas de numéro de séquence.
Numéro de port source Numéro de port destination (16 bits) (16 bits) Longueur en-tête UDP Somme de contrôle (16 bits) (16 bits)
Protocole ICMP
ICMP est un protcole permettant de transmettre des informations de contrôle et de gestion du réseau. IP n’est pas dans sa définition stable, le butde ces messages de contrôle est donc de pouvoir signaler l’apparition d’une erreur.Par contre,ICMP ne garantit pas que le datagramme soit acheminéni qu’unmessage de contrôle soit retourné. Il sert notamment à envoyer un ping ( echo request + echo reply ) mais peut aussi servir à des œuvres de malveillance ( mappage, attaque SMURF (section 23.3.3 page : 89)).