Tcp 3 ways handshake

ttk -  
A6world Messages postés 532 Date d'inscription   Statut Contributeur Dernière intervention   -
bonjour,

j'analyse un flux réseau avec TCPDUMP. J'aimerai avoir des éclaircissement sur le protocol de communication TCP le "3 ways handshake".

Mon probleme est de pouvoir filtrer les paquets inutiles et de récupérer que les données et non les parties sur la communication du protocol.

Ainsi, je sais que les FLAGs me donne une indication sur la nature des paquets, comme par ex le Flag S(synchro) et F(fin) ne concernent que la partie communication. Et les flags 'P' et '.' concernent les données.

Cependant, tous les paquets avec le flag P ou . ne sont pas forcément des données mais concernent encore la partie communcation.

le seul point que j'ai pu remarquer est l'acknowledgment different.

quelqu'un aurait une idée sur comment savoir si ce sont des données ou de la partie sur la communication?

si vous avez des liens explicant cela ce serait sympa aussi.
A voir également:

2 réponses

BrunSH Messages postés 66 Statut Membre 116
 
bonjour


de memoire, je dirais que la meilleure facon de reconnaitre des paquets de donnees parmi des paquets de liaison, c est encore de regarder la taille des paquets. et bien sur, le numero de sequence d aquittement :
si des données sont envoyées, alors les numero de sequence iront en s incrementant. si c est des paquets de controle, le numero sera le meme que le precedent. A chaque fois que le sequencement augmente, c est que des données sont transmises.

voila, en esperant que ca t aide un peu.
0
ttk
 
merci pour ton aide mais dans mon cas, le numero de l'ack ne s'incremente pas ( si tu parles bien de l'incrementation de l'acquittement... et non le numero de sequence des paquets).

Il me semblait pourtant bien que ça se passe comme tu viens de l'expliquer mais dans mon cas j'ai pu remarquer que les paquets de données sont tout le temps numeroté de l'ack3. les 2 paquets le précédent (numeroter de ack1 et ack2) ne sont pas des paquets de données.

Par contre c'est une bonne idée de regarder par rapport à la taille des données mais un peu aléatoire. Il se peut qu'il y ait des paquets de données de petites taille non?

Bref, l'histoire des acquitements me trouble...Si t'as une idée.
0
BrunSH Messages postés 66 Statut Membre 116
 
attention, c est a ca que sert le flag A, a savoir si oui ou non il faut tenir compte du numero d acquitement :
si ce flag est positionné , le N° d'acquitement de l'en-tête du segment est valide et doit être pris en compte par le recepteur.
Si il est à 0, le N° n'est pas a une valeur cohérente.

c est peut etre l explication de tes numeros
0
Utilisateur anonyme
 
c'est une bonne idée, la taille des paquets...

mais ton sniffer il te permet de voir les donnée dans les flags...??

alors pourquoi tu n'utilise pas ça???
0
ttk
 
en fait je capture les données sur le reseau et j'en fait une analyse par un programme en temps réelle. je dois éliminer les parasites comme le PCL ou le langage de communications client/serveur de TCP.
0
A6world Messages postés 532 Date d'inscription   Statut Contributeur Dernière intervention   132
 
tu est avec tcp dump moi je ferais un script bash pour envoyer tout dans un txt sur lequel je ferais un grep et un cut lequel tu redirige le resultat dans ton programme d analise comme ca tu a juste le traffic interessant
0
BrunSH Messages postés 66 Statut Membre 116
 
et ethereal ? ce ptit truc marche bien et permet pas mal de filtrage
0
A6world Messages postés 532 Date d'inscription   Statut Contributeur Dernière intervention   132
 
ethreal en effet c bien mais il parle de tcdump qui est en linux :)
0
BrunSH Messages postés 66 Statut Membre 116
 
je cite :

Powerful Multi-Platform Analysis

Ethereal is used by network professionals around the world for troubleshooting, analysis, software and protocol development, and education. It has all of the standard features you would expect in a protocol analyzer, and several features not seen in any other product. Its open source license allows talented experts in the networking community to add enhancements. It runs on all popular computing platforms, including Unix, Linux, and Windows.


c est sur la page d acceuil d ethereal :-)
0