Відповіді:
Ви бачите "неправильні" контрольні суми через функцію, яку називають розвантажувальною сумою TCP. Поля контрольної суми для вихідних пакетів TCP не попередньо розраховуються операційною системою, а натомість встановлюються в 0 і залишаються для обчислення процесором NIC. Wireshark FAQ має більш докладне пояснення.
tcpdump
друкує перший пакет з "неправильною контрольною сумою" разом із коментарем "ПОПЕРЕДЖЕННЯ: Пакет продовжується в пізніших сегментах TCP". Тоді ще декілька з "неправильною контрольною сумою" з коментарем "" SMB-over-TCP пакет: (необроблені дані чи продовження?) ". Я припускаю, що контрольна сума в першому пакеті набору буде правильною, якщо всі наступні пакети (які фактично не мають контрольної суми в місці, де tcpdump
захоплюється контрольна сума), були знову зібрані в ціле ≤
tcpdump --dont-verify-checksums
для ігнорування цих.