Какая последовательность символов в поле «Данные» отображается при захвате команды ping в Wireshark?

Какая последовательность символов в поле «Данные» отображается при захвате команды ping в Wireshark?

Во всех моих пинг-захватах у меня есть эта abcdef...последовательность в "данных", есть ли в ней что-то важное или это просто фиктивные данные? Есть ли в ней какая-то цель, кроме измерения времени прохождения туда и обратно?

введите описание изображения здесь

решение1

Это просто заполнение пакета таким образом, чтобы он достиг минимального размера кадра Ethernet в 64 байта (шестнадцатеричное значение 40).

Поскольку сегмент ICMP меньше 64, его необходимо дополнить, чтобы соответствовать минимуму. Это делается просто добавлением алфавита, пока не будет достигнут минимум.

См. Википедию Ethernet-фрейм.

решение2

Полезная нагрузка не обязательнотолькоpadding. Фактически, полезная нагрузка может быть даже использована в некоторой степени для идентификации ОС. В этом случае я готов поспорить, что ping был запущен с машины Windows по двум причинам:

  1. Отсутствие временной метки в полезной нагрузке
  2. Идентификатор — 1

Сравните это с ping на основе Майка Муусса (FreeBSD, Mac OSX, ...), где:

  1. Первые 8 байтов полезной нагрузки представляют собой временную метку (struct tv32).
  2. Идентификатор — это младшие 16 бит идентификатора процесса pingсамой программы.

Или в Solaris временная метка — это «struct timeval», где значение секунд может иметь 64-битное поле секунд. Другие ОС также могут изменять полезную нагрузку.

Для справки вы можете прочитать комментарии к старой ошибке Wireshark, а именно:Ошибка 5770.

Конечно, есть и другие применения полезной нагрузки ICMP, например, для туннелирования ICMP. Вот только одна статья, которая об этом говорит, под названием,Ping Power - туннель ICMP.

В любом случае полезная нагрузка ICMP не обязательно представляет собой просто заполнение.

Связанный контент