Python:Scapy:如何读取IP标志

时间:2011-02-24 15:14:38

标签: python ip scapy

我试图弄清楚如何使用scapy库读取IP标志(而不是TCP)。我知道它存储在“flags”中,它是FlagsField类型。根据IP协议规范,有3个标志R,MF和DF。我搜索,搜索并找不到有关如何阅读这些标志的任何信息。有什么想法吗?

感谢大家的投入。

1 个答案:

答案 0 :(得分:4)

例如,创建一个设置了DF(Do not Fragment)标志的IP数据包:

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

读取数据包的flags

>>> packet.flags
2

至于标志位,维基百科outlines this简洁。它是一个三位值,具有以下含义:

  • 第0位:保留;必须为零。
  • 第1位:不要碎片(DF)
  • 第2位:更多碎片(MF)