Контрольная сумма в Интернете - Добавление шестнадцатеричных чисел для контрольной суммы - PullRequest
0 голосов
/ 26 октября 2019

Я наткнулся на следующий пример создания контрольной суммы в Интернете:

Возьмите пример заголовка IP 45 00 00 54 41 e0 40 00 40 01 00 00 0a 00 00 04 0a 00 00 05:

  1. Добавление полей вместе дает дополнение двухсумма 01 1b 3e.
  2. Затем, чтобы преобразовать его в дополнение, биты переноса добавляются к первым 16 битам: 1b 3e + 01 = 1b 3f.
  3. Наконец, дополнение к одномусумма взята, в результате чего получается значение контрольной суммы e4c0.

Мне было интересно, как IP-заголовок складывается вместе, чтобы получить 01 1b 3e?

Ответы [ 2 ]

1 голос
/ 26 октября 2019

Разделите ваш IP-заголовок на 16-битные части.

45 00 
00 54 
41 e0 
40 00 
40 01 
00 00 
0a 00 
00 04 
0a 00 
00 05

Сумма равна 01 1b 3e. Возможно, вы захотите посмотреть, как здесь вычисляются контрольные суммы заголовков пакетов https://en.m.wikipedia.org/wiki/IPv4_header_checksum.

1 голос
/ 26 октября 2019

Заголовок IP добавляется вместе с переносом в шестнадцатеричных числах из 4 цифр. т.е. первые 3 числа, которые будут добавлены: 0x4500 + 0x0054 + 0x41e0 + ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...