Python: Scapy: 如何读取IP标志

3 投票
1 回答
9554 浏览
提问于 2025-04-16 12:28

我正在尝试使用scapy库来读取IP标志(不是TCP的)。我知道这些标志存储在“flags”中,并且它的类型是FlagsField。根据IP协议的规范,有三个标志:R、MF和DF。我搜索了很久,还是找不到关于如何读取这些标志的信息。有没有什么想法?

谢谢大家的帮助。

1 个回答

6

比如,创建一个设置了DF(不分片)标志的IP数据包:

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

读取一个数据包的flags

>>> packet.flags
2

关于这些标志位,维基百科 简要介绍了。这是一个三位的值,具体含义如下:

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

撰写回答