Как пересчитать контрольную сумму IP с помощью scapy? [дубликат]
Возможные Дубликаты:
Как рассчитать контрольную сумму пакета без отправки?
я подделал исходный IP и MAC-адрес в захваченном пакете, но теперь мне нужно пересчитать контрольную сумму, чтобы она проверялась после ее получения (после того, как она была введена в сеть, конечно). Я действительно не хотел реализовывать контрольную сумму сам, и я думал, что scapy
могли бы сделать это для меня. Я читал, что show2()
функция должна пересчитать контрольную сумму, но я не могу заставить ее работать.
Итак, как я могу использовать scapy
пересчитать (и заменить) контрольную сумму для захваченного + поддельного пакета?
спасибо!
2 ответов
предположим, что мы обрабатываем 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
поле имеет свой ответ.