Scapy :как получить полный заголовок IP-пакета?

В Scapy я хочувручнуюсопоставлять пакеты с соответствующими им сообщениями о превышении времени -ICMP.

Мне нужно соответствовать:

  • IP -в поле -ICMP пакета 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
6
задан Ricky Robinson 3 August 2012 в 11:13
поделиться