Ошибки контрольной суммы PCAP не всегда являются плохими пакетами: понимание доказательств разгрузки

Почему ошибки контрольной суммы TCP, UDP и IP при перехвате пакетов могут быть вызваны разгрузкой контрольной суммы и как избежать перезаписи убедительных доказательств.

PCAP, контрольная сумма, Wireshark, диагностика сети

При захвате пакетов часто выявляются ошибки контрольной суммы TCP, UDP или IP. Иногда эти ошибки означают настоящую коррупцию. Иногда они означают, что захват был сделан до того, как сетевой адаптер заполнил контрольную сумму. Если инженеры будут рассматривать каждое предупреждение о контрольной сумме как неверный пакет, они могут искать не ту проблему или переписать действительные доказательства.

Выгрузка контрольной суммы является одним из наиболее распространенных источников ошибочной интерпретации PCAP.

Почему разгрузка создает запутанные снимки

Современные сетевые адаптеры могут рассчитывать контрольные суммы аппаратно. Операционная система может передать пакет адаптеру с полями контрольной суммы-заполнителями. Если захват происходит до аппаратного завершения, PCAP может показать неверную контрольную сумму, даже если пакет, переданный по сети, был правильным.

Это особенно часто встречается при локальных исходящих захватах. Файл захвата записывает то, что подготовил хост, а не обязательно точный окончательный образ провода после выгрузки.

Спросите, где был перехвачен пакет

Интерпретация контрольной суммы зависит от позиции захвата:

  • захватывается на отправляющем хосте перед разгрузкой NIC
  • захвачено на зеркальном порту или коснитесь после передачи
  • захвачено на принимающем хосте
  • захватывается внутри границы виртуальной машины или контейнера
  • захватывается виртуальным адаптером

Предупреждение об исходящей контрольной сумме у отправителя — это не то же самое, что сбой контрольной суммы, наблюдаемый при независимом ответвлении. Точка захвата является частью улики.

Не переписывайте контрольные суммы слишком рано

Может возникнуть соблазн немедленно пересчитать контрольные суммы. Это может сделать последующие инструменты более тихим, но также меняет доказательства. Прежде чем редактировать, решите, на какой вопрос должен ответить снимок.

Если целью является отладка на уровне приложения, пересчет контрольных сумм для удобства чтения может быть приемлемым, если он четко документирован. Если целью является доказательство коррупции в электронных сетях, перезапись контрольных сумм может стереть сами расследуемые доказательства.

Контролируемый рабочий процесс фиксирует:

  • какие поля контрольной суммы были помечены
  • направление пакета
  • точка захвата
  • возможна ли разгрузка
  • перезаписал ли выходной файл байты контрольной суммы
  • какие пакеты изменились

Редактирование должно быть преднамеренным, а не автоматическим.

Отличие разгрузки от реальной коррупции

Признаки того, что может иметь место разгрузка контрольной суммы:

  • в основном исходящие пакеты на хосте перехвата
  • множество контрольных сумм помечены по последовательному шаблону
  • движение работает несмотря на предупреждения
  • независимая точка захвата не показывает те же ошибки
  • виртуализированная или сильно разгруженная среда

Признаки того, что может иметь место реальная коррупция:

  • отводы на стороне приемника
  • независимое прослушивание подтверждает неверные контрольные суммы
  • потеря или повторная передача пакетов согласуются с ошибками контрольной суммы
  • ошибки появляются в обе стороны без объяснения разгрузки
  • аппаратное обеспечение канального уровня или захвата сообщает об ошибках

Суть в том, чтобы не игнорировать предупреждения о контрольной сумме. Суть в том, чтобы интерпретировать их в контексте.

Где подходит операция PCAP

PCAP Surgery предназначен для работы по перехвату пакетов на основе фактических данных. Это должно помочь инженерам проверять метаданные пакетов, понимать, почему захват выглядит неправильно, и применять операции контролируемой перезаписи только тогда, когда они оправданы.

Для случаев с контрольной суммой важна граница продукта. Он не должен молча «исправлять» снимки и делать вид, что ничего не изменилось. Полезный хирургический инструмент объясняет:

  • источник предупреждения о контрольной сумме
  • вероятный контекст разгрузки
  • затронут набор пакетов
  • значения до и после перезаписи
  • является ли изменение нормализацией или исправлением

Это дает разработчикам протоколов захват, который они могут защитить, а не просто файл, который открывается незаметно.