gpt4 book ai didi

python - scapy:如何从 fields_desc 获取 ByteEnumField 值?

转载 作者:行者123 更新时间:2023-12-01 01:12:42 24 4
gpt4 key购买 nike

我正在使用 scapy 的 bgp 层,我想知道是否可以获得 scapy Fields 类中定义的一些常量值。

例如,类 BGPPathAttr 包含一个字段 type_code,它引用一个包含 NEXT_HOP 和中定义的魔数(Magic Number) 3 之间关联的映射。 RFC 4271。我想通过创建类似于 BGPPathAttr.type_code.NEXT_HOP

的语句来访问值 3

谢谢

scapy 代码的摘录 ./scapy/scapy/contrib/bgp.py

path_attributes = {
0: "Reserved",
1: "ORIGIN", # RFC 4271
2: "AS_PATH", # RFC 4271
3: "NEXT_HOP", # RFC 4271
[...]
}

class BGPPathAttr(Packet):

name = "BGPPathAttr"
fields_desc = [
ByteEnumField("type_code", 0, path_attributes)
]

最佳答案

你好,

您可以使用 s2i 属性(以及 i2s 进行反向翻译):

>>> BGPPathAttr.type_code.s2i['NEXT_HOP']
3
>>> BGPPathAttr.type_code.i2s[3]
'NEXT_HOP'

关于python - scapy:如何从 fields_desc 获取 ByteEnumField 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54691571/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com