8 votes

Comment recalculer la somme de contrôle IP avec scapy ?

Duplicata possible :
Comment calculer la somme de contrôle d'un paquet sans l'envoyer ?

J'ai usurpé l'adresse IP et l'adresse MAC d'une source dans un paquet capturé, mais je dois maintenant recalculer la somme de contrôle pour qu'elle soit vérifiée une fois qu'elle a été reçue (après avoir été injectée dans le réseau, bien sûr). Je n'avais pas vraiment envie d'implémenter moi-même la somme de contrôle et je pensais que scapy pourrait faire ça pour moi. J'ai lu que le show2() devrait recalculer la somme de contrôle, mais je n'arrive pas à la faire fonctionner.

Alors, comment puis-je utiliser scapy pour recalculer (et remplacer) la somme de contrôle d'un paquet capturé + usurpé ?

Merci !

14voto

Cédric Julien Points 24177

Comme montré ici vous devez supprimer le .chksum avant d'appeler l'attribut show2() méthode de scapy

4voto

Michael Foukarakis Points 14892

Supposons, à titre d'exemple, que nous traitions un en-tête IP et que nous voulions recalculer la somme de contrôle après le saut suivant :

>>> iph = IP(import_hexcap())
0000 4500 0064 000f 0000 fe01 3726 c0a8 0108
0010 c0a8 030b
>>> iph.ttl = iph.ttl - 1
>>> del iph.chksum
>>> iph.show2()
###[ IP ]###
version= 4L
ihl= 5L
tos= 0x0
len= 100
id= 15
flags= 
frag= 0L
ttl= 253
proto= icmp
chksum= 0x3826
src= 192.168.1.8
dst= 192.168.3.11
options= 

Le site .chksum Le champ a votre réponse.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X