IP 协议字段编号到字符串

IP proto field number to string

如何使用 scapy 从数据包原型字段中的数字中获取带有 IP 协议名称的字符串?

例如,将 6 转换为 'TCP'。

Scapy 很棒,但文档还有很多不足之处。这有效:

from scapy.all import *

def ip_proto(pkt):
    proto_field = pkt.get_field('proto')
    return proto_field.i2s[pkt.proto]

x = IP() / TCP()
print ip_proto(x)