Я использую сырые сокеты для создания своего собственного сокета. Мне нужно установить tcp_checksum.
Я пробовал много ссылок, но все не работают (я использую wirehark для тестирования).
не могли бы вы мне помочь.
Кстати, я где-то читал, что если вы установите tcp_checksum = 0. то аппаратное обеспечение автоматически рассчитает контрольную сумму для вас. Это правда? Я попробовал это, но в wirehark tcp_checksum дает значение 0X000 и говорит tcp разгрузка. Я также читал о разгрузке tcp и не понял, это только то, что wirehark не может проверить выгруженную контрольную сумму tcp, но есть правильный?tcp контрольная сумма и tcp разгрузка
EDIT: я понял, что если вы установите tcpChecksum на 0, то сетевая карта установит его, а не операционную систему. я тестировал с помощью wirehark и виртуальной машины, поэтому это объясняет, почему контрольная сумма равна 0x000 (так как пакет даже не переходит к сетевой карте.)
, но мне все еще интересно узнать о вычислении tcp_checksum вручную ... любую помощь или ссылки?
вы фактически получаете ОБОРУДОВАНИЕ для вычисления контрольной суммы, минуя 0000? Не работал для меня. – user666412