Python:Scapy:如何读取 IP 标志

PSS*_*PSS 3 python ip scapy

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

谢谢大家的意见。

San*_*nta 6

例如,创建设置了 DF(不分段)标志的 IP 数据包:

>>> packet = IP(flags=2)  # alternatively, IP(flags='DF')
>>> packet
<IP  flags=DF |>
Run Code Online (Sandbox Code Playgroud)

读取数据包的flags

>>> packet.flags
2
Run Code Online (Sandbox Code Playgroud)

至于标志位,维基百科简洁地概述了这一点。它是一个三位值,含义如下:

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