【发布时间】:2014-04-11 02:43:16
【问题描述】:
我需要制作一个工具来修改数据包中的VLanTaggedFrame.VLanIdentifier。 问题是,我的数据包可能有多个 vlan 标签。
实际上它在 1~3 个标签之间,但我想创建一个递归过程,而不是创建一个 if 语句链。
我需要一些方法来提取每个 VLanTaggedFrame 层(到列表或数组中)而不知道有多少层(只要 x.EtherType == EthernetType.VLanTaggedFrame ,但是 x 会不断地改变堆栈)。
知道我该怎么做吗?
我的主要方向是采用 packet.ethernet.vlantaggedframe.payload,但它是 Datagram 类型的,似乎没有 'payload >' 在 datagram 类型对象中,所以我不能递归地执行 x = x.payload。
任何帮助将不胜感激:)
【问题讨论】: