Ошибка является точной
Ошибка «Общая длина IPv4 превышает длину пакета» означает именно то, что говорится: количество байтов в пакете IPv4 превышает число байтов, записанных для всего кадра.
Просмотр полей
Мы можем указать как поля длины кадра (frame.len, frame.cap_len), так и длины IP (ip.len), чтобы увидеть это более подробно:
$ tshark -r exceed-length.pcap -T fields -e frame.len -e frame.cap_len -e ip.len
1478 1478 3114
1536 1536 3114
1476 1476 13615
1399 1399 13781
1478 1478 3114
228 228 13615
195 195 13615
1478 1478 3114
1476 1476 13615
1478 1478 3114
265 265 3114
505 505 3114
1478 1478 3114
88 88 33514
1478 1478 3114
1478 1478 3114
1478 1478 3114
Как мы видим, каждый кадр имеет длину кадра, превышающую длину пакета, иногда на порядок.
Что это вызывает?
Когда программа захвата сохраняет пакет в формате pcap
(как этот файл), она добавляет к каждому пакету длину кадра, который она захватила (frame.cap_len
), фактическую длину кадра (frame.len
)и захват) и метка времени.В большинстве случаев frame.cap_len
и frame.len
не будут отличаться вообще, и их здесь тоже нет.
Как исправить?
Если вы хотите вручную отредактируйте шестнадцатеричное значение длины пакета, эту ошибку можно убрать.
Следующие шаги
Скорее всего, "Общая длина IPv4 превышает длину пакета" являетсяваша актуальная проблема.То, что вы видите информационную информацию экспертов в Wireshark, не обязательно означает, что она актуальна.Вам следует продолжить устранение неполадок.