Scapy - 无法发送 vlan 标记的数据包

标签 scapy vlan

我可以使用 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/

相关文章:

python - 使用 scapy 捕获数据包并重定向它们

linux - 如何添加 Vxlan 标签来隔离不同的 Docker 容器组

docker - 我的 docker 的 macvlan 设置有什么问题?

c - 当我在C中读取pcap时,如何绕过vlan头?

linux - IXGBE 驱动程序处理双 VLAN 标记数据包

python - Scapy 嗅探过滤器不起作用

python - 如何使用Python从hexdump中提取数据包信息?

python - 使用 scapy 查找 tcp 流

centos - 关于centos 8 如何创建一个vlan后的网桥?

python - 将 TCP 校验和与 Scapy 进行比较?