Как пересчитать контрольную сумму IP с помощью scapy? [дубликат]

Возможные Дубликаты:
Как рассчитать контрольную сумму пакета без отправки?

я подделал исходный IP и MAC-адрес в захваченном пакете, но теперь мне нужно пересчитать контрольную сумму, чтобы она проверялась после ее получения (после того, как она была введена в сеть, конечно). Я действительно не хотел реализовывать контрольную сумму сам, и я думал, что scapy могли бы сделать это для меня. Я читал, что show2() функция должна пересчитать контрольную сумму, но я не могу заставить ее работать.

Итак, как я могу использовать scapy пересчитать (и заменить) контрольную сумму для захваченного + поддельного пакета?

спасибо!

2 ответов


As показано здесь, вы должны удалить


предположим, что мы обрабатываем IP-заголовок и хотим пересчитать контрольную сумму после следующего прыжка:

>>> 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= 

на .chksum поле имеет свой ответ.