В Scapy я хочувручнуюсопоставлять пакеты с соответствующими им сообщениями о превышении времени -ICMP.
Мне нужно соответствовать:
Заголовок IP и первые 8 байт моего пакета данных Пакет ICMP не является проблемой:
icmpPayload = str (icmpPacket[ICMP].payload)
Что касается первых 8 байт пакета данных, мне просто нужно сделать:
str(myPacket[IP].payload)[:8]
Я не знаю, как получить только IP-заголовок myPacket
. Все, что я сейчас делаю, это заменяю полезную нагрузку во всем пакете его первыми 8 байтами. Боюсь, поиск и замена, примененные к тысячам пакетов, могут занять слишком много времени:
strOfMyPacket = str(myPacket[IP])
strOfMyPacket.replace(str(myPacket[IP].payload),str(myPacket[IP].payload)[:8],1)
Есть ли более быстрый способ, который позволит мне сделать следующее?
partOfPayload = str(myPacket[IP].payload)[:8]
fullHeader = _______
stringToCompare = fullHeader + partOfPayload