У меня низкоуровневая связь между двумя узлами с использованием пакетов Ethernet (двухуровневая, без UDP/IP и TCP/IP). Внутри этих пакетов есть поле VLAN, мой интерфейс настроен в неразборчивом режиме, и он может их полностью прочитать, потому что я вижу тег VLAN в Wireshark в моей системе Ubuntu.
Используя python, я могу прочитать весь пакет, кроме поля VLAN. Поле исчезает, и после поля исходного MAC-адреса появляется поле Ethertype.
import socket
sock = socket.socket(socket.AF_PACKET, socket.SOCK_RAW, socket.htons(0x0003))
msg = sock.recvmsg(4096)
Можно ли это сделать с помощью модуля сокета python? Я что-то упустил в своей конфигурации или это проблема с сетевой картой?
Заранее спасибо,