我可以使用 scapy 发送一个基本数据包,并使用 Wireshark 在接收 PC 上检查它。
当我添加 VLAN 标记时,我无法在发起端的 wireshark 中接收数据包或捕获它
sendp( Ether()/IP(dst="172.16.64.49")/Raw(load="some data"))
sendp( Ether()/Dot1Q(vlan=42)/IP(dst="172.16.64.49")/Raw(load="some data"))
[Ethernet]
dst= 00:15:17:e4:55:52 src= b0:83:fe:e2:df:b7 type= n_802_1Q
[802.1Q}
prio= 0 id= 0 vlan= 42 type= IPv4
[IP]
version= 4 ihl= 5 tos= 0x0 len= 29 id= 1 flags= frag= 0 ttl= 64 proto= ip chksum= 0x7c32 src= 172.16.102.92 dst= 172.16.64.49 \options\
[Raw]
load= 'some data'
数据看起来就像我在 scapy 中所期望的那样,有什么想法吗?
最佳答案
看起来发生了两件事,我网络中的交换机丢弃了外层 VLAN,这是我在发送具有双 VLAN 封装的数据包时发现的。接收端只显示一个 VLAN 标签。
本地 Wireshark 未显示发送的数据包的第二个问题是 Wireshark 过滤器配置错误
关于Scapy - 无法发送 vlan 标记的数据包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52089606/