в вычислении контрольной суммы заголовка ICMP?

в заголовке ICMP они заполняют контрольную сумму следующим утверждением

я нашел значение ICMP_ECHO как 8

 icmp->checksum = htons(~(ICMP_ECHO << 8));

может кто-нибудь сказать мне, что именно он будет делать и как он будет заполнять детали контрольной суммы

0

Решение

ICMP контрольная сумма является Контрольная сумма RFC 1071:

(1) Соседние октеты, подлежащие контрольной сумме, соединены в 16-битную форму
целые числа, и сумма дополнения 1 этих 16-битных целых чисел
формируется.

(2) Для создания контрольной суммы само поле контрольной суммы очищается,
сумма дополнения 16-битного 1 вычисляется по октетам
обеспокоен, и дополнение 1 этой суммы помещается в
поле контрольной суммы.

Поле типа и кода должно быть 0x08 0x00 для сообщения ICMP_ECHO (тип 8, код 0), и если это все данные, содержащиеся в сообщении, то это также сумма 16-битных целых чисел, которые должны формировать контрольную сумму.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]