Я обнаружил, что во многих случаях использование такого инструмента, как Wireshark, даст вам неверные контрольные суммы tcp для локальных пакетов.
Это связано с тем, что ОС разумно не тратит усилий на заполнение контрольных сумм tcp для пакетов, предназначенных для локального хоста (в конце концов, они не могут быть неверными).
Кроме того, локально сгенерированные пакеты, выходящие через реальный физический интерфейс, вероятно, в любом случае имеют контрольные суммы tcp, сгенерированные аппаратным обеспечением. Это означает, что отправленные пакеты обычно выглядят так, как будто у них неправильные контрольные суммы (в сети они будут правильными).
Настройте порт монитора на коммутаторе, запустите Wireshark на отдельном подключенном к нему блоке, и вы увидите истинное изображение.