3

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

谢谢大家的意见。

4

1 回答 1

6

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

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

读取数据包flags

>>> packet.flags
2

至于标志位,维基百科简明扼要地概述了这一点。它是一个三位值,具有以下含义:

  • 位 0:保留;必须为零。
  • 位 1:不要分片(DF)
  • 位 2:更多片段 (MF)
于 2011-02-24T22:35:19.980 回答