Ошибки контрольной суммы TCP между приложениями Linux и сетевыми адаптерами

Я пишу интернет-приложение и нахожусь на этапе создания собственных TCP-пакетов. Но есть серьезная проблема. Согласно утилите TCPDUMP в Linux, каждый TCP-пакет, который я отправляю из любого локального приложения (например, telnet и curl) на любой адрес IPV4 в сети, заставляет TCPDUMP сообщать об ошибках контрольной суммы.

Несколько источников в Интернете утверждают, что это связано с включенной разгрузкой контрольной суммы. Я пробовал различные сетевые карты и использовал ethtool -K, чтобы отключить разгрузку на каждой карте, и что бы я ни пытался, я все равно получаю ошибку контрольной суммы.

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

Есть ли настройка Linux, которую я могу настроить, чтобы решить проблему с контрольной суммой, или программа лучше, чем TCPDUMP, которая может работать со всеми системами Unix и может правдиво сказать мне, имеют ли исходящие пакеты правильную контрольную сумму? потому что, конечно, не каждое Linux-приложение будет создавать неверные контрольные суммы TCP, иначе у меня возникнут проблемы с доступом к этому сайту.

Есть идеи?

0 ответов

Другие вопросы по тегам