如何初始化用于VLAN嗅探的原始套接字

我试图创build软件,从不同的VLAN中嗅探DHCP提供的服务,而我的问题是我收到的数据包中没有VLAN标签。 我使用原始套接字,我试图启用混杂模式,但无济于事。

问题是如何指示内核保持数据包中的所有数据完好无损?

当使用wireshark我可以看到答复包的VLAN标头设置好,但我收到的数据已删除所有的VLAN信息。

提前致谢!

–Lauri

如果我正确理解了Linux代码 ,则VLAN标签将从数据包的有效负载中提取出来,并存储在无法通过原始套接字API访问的字段中。 相反,尝试做wirehark做的,即使用pcap API 。