Я хочу написать программу для генерации контрольной суммы UDP.
для проверки моего progra, мне нужны некоторые реальные данные.
Я посылаю udp пакет с одной машины на другую машину, пакет может быть правильно получен сервером udp.
Я захватил пакет, используя дамп tcp на обеих машинах
на клиентском компьютере udp байты udp-пакетов и заголовков псевдо IPV4(шестнадцатеричный формат):
pseudo header
src dst ip: 8a60c948 8a60c96d
proto_num len: 0011 0016
UDP header: 83d87d000016 a79e
data: 49276d206e6f 742068657265210a
на машине сервера udp (приемник):
pseudo header
src dst ip: 8a60c948 8a60c96d
proto_num and len: 0011 0016
UDP header: 83d87d000016 c2c5
data: 49276d206e6f 742068657265210a
контрольная сумма должна быть рассчитана за
8a60c9488a60c96d0011001683d87d000016000049276d206e6f742068657265210a
, где поле контрольной суммы заменяется 0x0000
но мы видим, что контрольная сумма изменяется с 0xa79e на клиенте на 0xc2c5 на стороне сервера. почему происходит это изменение? и какая правильная контрольная сумма заголовка udp?
спасибо!