scapy 是否支持 IEEE 802.1ad?

Does scapy support IEEE 802.1ad?

我检查了最新的 Scapy 资源,没有任何 802.1AD 支持,但我看到 Scapy 脚本引用了 Dot1AD。

经过一些额外的搜索后发现 Scapy community 已经创建了一个支持 802.1AD 的 Scapy 分支。这里有一个link。引用 Dot1AD 的脚本使用 scapy-com 模块。

作为记录,802.1ad 支持已于 2016 年 7 月 30 日导入 Scapy master。因此您无需获取 scapy-com(不再维护)并可以使用 "regular" Scapy。关联层是 Dot1AD()

您可以执行以下操作:

>>> packet = Ether(src='94:c6:91:1c:68:c3',dst='94:c6:91:1c:68:1d')

然后添加一个 802.1ad 层:

packet = packet/Dot1AD(vlan=20)

然后显示数据包:

>>> packet.show()
###[ Ethernet ]### 
  dst= 94:c6:91:1c:68:1d
  src= 94:c6:91:1c:68:c3
  type= n_802_AD
###[ 802_1AD ]### 
     prio= 0
     id= 0
     vlan= 20
     type= 0x0