Назад | Перейти на главную страницу

Почему некоторые захваты VLAN Wireshark включают данные после полезной нагрузки IPv4?

Данные

Некоторые записи Cloudshark показывают «трейлер» для vLAN, а некоторые нет.


Захватывает

  1. С дополнительными 4 байтами.
  2. Без лишних 4 байта.

Вопрос

Почему некоторые и не все VLAN Wireshark захватывает данные после полезной нагрузки IPv4?

Видеть https://wiki.wireshark.org/Ethernet и https://wiki.wireshark.org/VLAN

Если поле типа / длины:

  • 0 - 1500: поле длины (IEEE 802.3 и / или 802.2)
  • 0x0800: IP (v4), Интернет-протокол версии 4
  • 0x0806: ARP, протокол разрешения адресов
  • 0x8100: кадр IEEE 802.1Q
  • 0x86dd: IPv6, Интернет-протокол версии 6

Таким образом, если поле типа / длины равно 0x8100, тогда кадр Ethernet включает тег VLAN, следующий за полем типа / длины. Пропустите 2 байта и посмотрите на следующие 2 байта как на тип. Для IPv4 это будет 0x0800, и ваш пакет данных IPv4 начнется сразу после этого.

Как я могу точно предсказать размер пакетов IPv4 с тегами vLAN по чтению заголовка?

Пакеты IPv4 не имеют тегов VLAN в заголовке. Только заголовок кадра Ethernet (уровень 2) будет иметь теги VLAN. Пакет IPv4 (уровень 3) - это полезная нагрузка кадра, а заголовок пакета IPv4 ничего не знает о том, что находится в заголовке кадра. Это два отдельных уровня в сети, и IPv4 может передаваться любым количеством протоколов уровня 2, при этом оставаясь блаженным игнорированием используемого протокола уровня 2.

Если вы хотите узнать размер пакета IPv4, вы можете посмотреть в заголовке пакета IPv4 поле «Общая длина» (третий и четвертый октеты заголовка IPv4).