Некоторые записи Cloudshark показывают «трейлер» для vLAN, а некоторые нет.
Захватывает
Почему некоторые и не все VLAN Wireshark захватывает данные после полезной нагрузки IPv4?
Видеть https://wiki.wireshark.org/Ethernet и https://wiki.wireshark.org/VLAN
Если поле типа / длины:
Таким образом, если поле типа / длины равно 0x8100, тогда кадр Ethernet включает тег VLAN, следующий за полем типа / длины. Пропустите 2 байта и посмотрите на следующие 2 байта как на тип. Для IPv4 это будет 0x0800, и ваш пакет данных IPv4 начнется сразу после этого.
Как я могу точно предсказать размер пакетов IPv4 с тегами vLAN по чтению заголовка?
Пакеты IPv4 не имеют тегов VLAN в заголовке. Только заголовок кадра Ethernet (уровень 2) будет иметь теги VLAN. Пакет IPv4 (уровень 3) - это полезная нагрузка кадра, а заголовок пакета IPv4 ничего не знает о том, что находится в заголовке кадра. Это два отдельных уровня в сети, и IPv4 может передаваться любым количеством протоколов уровня 2, при этом оставаясь блаженным игнорированием используемого протокола уровня 2.
Если вы хотите узнать размер пакета IPv4, вы можете посмотреть в заголовке пакета IPv4 поле «Общая длина» (третий и четвертый октеты заголовка IPv4).