J'utilise Scapy pour envoyer des paquets SCCP ou Skinny à mon téléphone de bureau Cisco. Cependant, je continue à avoir ces erreurs de retransmission TCP et je pense que cela empêche le téléphone Cisco de répondre. J'ai un programme capable de commander le téléphone avec succès. Par exemple, le programme "10.10.50.12" envoie quatre paquets et obtient deux ACK du téléphone ("10.30.37.78"). Voir ci-dessous:
Cependant, lorsque j'utilise Python et que j'envoie les commandes avec Scapy:
Les quatre paquets sont envoyés et même reconnus comme des messages particuliers par Wireshark, mais je reçois l’erreur TCP Retransmission et aucun accusé de réception du téléphone.
Bizarrement, "SetLampMessage" n'a rien de spécial, de sorte qu'il ne reçoive pas l'erreur. C'est simplement parce que c'était le premier paquet envoyé. Si je dois organiser l'ordre des paquets différemment, celui qui sera envoyé en premier n'aura aucune erreur.
J'ai essayé de comparer les sorties hex, voici des comparaisons hex de SetLampMessage:
Programme:
Mon Python:
La plupart des incohérences entre les sorties hexadécimales sont liées aux identifications et aux sommes de contrôle. Mes identifications sont toujours égales à 0x0001, mais je ne crois pas que ce soit le problème, car j’ai pu envoyer des paquets TCP sans erreur, même s’ils ont tous le même identifiant.
J'ai googlé les erreurs de "retransmission TCP" et il semble que la plupart d'entre elles soient dues au fait que l'ACK ne soit pas renvoyé. Je ne pense pas que ce soit la cause non plus, car j'ai défini plusieurs temps de pause entre chaque paquet envoyé. vérifier si mes paquets sont envoyés trop rapidement.
Un individu éclairé a-t-il une idée de ce que je fais pour causer ces erreurs?