Résolu Problème avec Scapy

Inscrit
10 Novembre 2020
Messages
3
Reactions
0
#1
Bonsoir,

Je rencontre un problème avec l'utilisation de scapy.
Pour commencer j'utilise python 3.7.9 et scapy 2.4.4.

Le problème est que certain message reçu du serveur sont trop gros et sont donc envoyés en plusieurs paquets (jusque là rien d'anormal) mais parfois (pas tout le temps) les paquets ne sont pas dans l'ordre !

Dans l'encadré rouge c'est au moment ou je clique sur un item hdv équipements (message
ExchangeTypesItemsExchangerDescriptionForUserMessage 8949)
Je reçois d'abord un paquet de 32 octets puis ensuite mon paquet 8949 contenant tous les items et un dernier paquet contenant le reste des items.
si on additionne la taille des PAQUETS 1 et 3 et la taille du MESSAGE du 2ème paquet j'ai bien :
32 + 1228 + 1456 - 2 = 2714 c'est bien la taille du message annoncé dans le 2ème paquet ! (-2 car un paquet 1111 s'est fait avalé à la fin)

J'ai ensuite vérifié ce que contenait le 1er paquet et comme prévu il contient bien la SUITE du 2eme paquet alors qu'il est reçu AVANT.
Impossible de trouver d'où vient le problème...

J'ai donc utilisé le code de Labo https://cadernis.fr/index.php?threads/python3-osx-comment-faire-un-sniffer.1329/
J'ai copié collé son code en rajoutant juste des print et exactement le même problème:

Dans l'encadré vert j'ai cliqué sur l'alliance gloursonne et même s'il y avait des centaines d'items (d'où la taille de 14 Ko) le message a très bien été géré par le sniffer de Labo. (Comme je l'ai dit précédemment ça n'arrive pas tout le temp)
En revanche dans l'encadré rouge on retrouve le même problème qu'avant avec le même paquet de 32 octets envoyé en premier puis le paquet suivant contenant le header.
Et par contre cette fois ci le sniffer de Labo va complètement déconner à cause du paquet de 32 octets car il a lu un messageLen bidon qui peut techniquement atteindre 2^24. Donc tous les paquets reçu après vont augmenter le buffer jusqu'à atteindre cette valeur.
Si quelqu'un à une solution, je commence à désespérer.

Merci
 
Inscrit
30 Octobre 2019
Messages
76
Reactions
65
#2
LaBo avait dit que le sniffer était pas 100% fiable, le mieux c'est de passer par un MITM.
 
Inscrit
4 Novembre 2020
Messages
5
Reactions
1
#3
salut je crois pas que c'est un problème mais plutot la façon dont fonctionne le protocole tcp.

tu devrais peut etre pouvoir reconstruire ces paquets en regardant le numéro de sequence ?

a prendre avec des pincette ce que je dis, je suis pas du tout expert
 
Inscrit
10 Novembre 2020
Messages
3
Reactions
0
#4
salut je crois pas que c'est un problème mais plutot la façon dont fonctionne le protocole tcp.

tu devrais peut etre pouvoir reconstruire ces paquets en regardant le numéro de sequence ?

a prendre avec des pincette ce que je dis, je suis pas du tout expert
Salut j'ai suivi ton conseil je save l'id 2020-11-12_21h27_36.png du dernier paquet dans le buffer et je le compare à l'id du nouveau paquet pour check l'ordre et si c'est pas bon je swap. Merci
 
Inscrit
4 Novembre 2020
Messages
5
Reactions
1
#5
content d'avoir pu aider

bon courage pour la suite
 
Haut Bas