Python: Scapy: как читать флаги IP - PullRequest
       29

Python: Scapy: как читать флаги IP

2 голосов
/ 24 февраля 2011

Я пытаюсь выяснить, как читать флаги IP (не TCP), используя библиотеку scapy. Я знаю, что он хранится в «flags» и это тип FlagsField. Согласно спецификации протокола IP существует 3 флага R, MF и DF. Я искал, искал и не мог найти информацию о том, как читать эти флаги. Есть идеи?

Спасибо всем за ваш вклад.

1 Ответ

4 голосов
/ 25 февраля 2011

Например, создание IP-пакета с установленным флагом DF (Не фрагментировать):

>>> packet = IP(flags=2)  # alternatively, IP(flags='DF')
>>> packet
<IP  flags=DF |>

Чтение пакета flags:

>>> packet.flags
2

Что касаетсяФлаг биты, Википедия описывает это кратко.Это трехбитное значение со следующим значением:

  • бит 0: зарезервировано;должен быть равен нулю.
  • бит 1: не фрагментировать (DF)
  • бит 2: больше фрагментов (MF)
...