Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C/C++ Сетевое программирование
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.10.2010, 17:27   #1
ATAMAN200
Пользователь
 
Регистрация: 30.08.2010
Сообщений: 41
По умолчанию CRC псевдозаголовка udp расчитал, а просто заголовка не могу расчитать.

Имею заголовок udp пакета такого вида:
порт источник 33 в hex виде 0x0021
порт получатель 53 в hex виде 0x0035
Длинна датаграммы 8 в hex виде 0x0008

как описанно в http://ru.wikipedia.org/wiki/UDP
CRC расчитывается только для порта источника, порт получателя и длинны датаграммы произвожу расчёт

Код:
#include "stdafx.h" 
#include <iostream>
#include "conio.h" 
using namespace std; 
unsigned __int16 in_cksum ( unsigned __int16 *ptr, int nbytes ) 
{ 
register unsigned __int32 sum; 
unsigned __int16 oddbyte; 
register unsigned __int16 answer; 
sum = 0; 
while ( nbytes > 1 ) 
{ 
sum += *ptr ++; 
nbytes -= 2; 
} 
if ( nbytes == 1 ) 
{ 
oddbyte = 0; 
*&oddbyte = *ptr; 
sum += oddbyte; 
} 
sum = ( sum >> 16 ) + ( sum & 0xFFFF); 
sum += (sum >> 16 ); 
answer=~sum; 
return (answer); 
} 
unsigned __int16 aaa[3] = {0x0021, 0x0035, 0x0008}; 
unsigned __int16 bbb; 

int main() 
{ 
bbb = in_cksum (aaa, sizeof(aaa)); 
cout << hex << bbb << endl; 
getch(); 
}
результат получаю "FFA1" не верный результат
с помощью снифера формирую пакет получаю результат "F982" это верный результат.
Получается что данные по http://ru.wikipedia.org/wiki/UDP не верные.
Как правельно расчитать заголовок для udp?
ATAMAN200 вне форума Ответить с цитированием
Старый 11.10.2010, 11:33   #2
p51x
Старожил
 
Регистрация: 15.02.2010
Сообщений: 15,695
По умолчанию

http://tools.ietf.org/html/rfc768
p51x вне форума Ответить с цитированием
Старый 11.10.2010, 18:27   #3
ATAMAN200
Пользователь
 
Регистрация: 30.08.2010
Сообщений: 41
По умолчанию

Цитата:
Сообщение от p51x Посмотреть сообщение
мало информации это не то к сажелению
ATAMAN200 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
[Pascal] Расчитать треугольник паскаля Рамик Помощь студентам 4 29.09.2020 08:40
Как расчитать остатки в БД Радмир4855 Microsoft Office Access 1 14.05.2010 17:51
расчитать вторую субботу месяца mars56 Microsoft Office Excel 2 09.12.2009 14:04
Есть чат на яваскрипте.не могу поставит знак +;Хотя люди его как то ставят, просто мой знак + заменяется maksim1983 JavaScript, Ajax 4 23.02.2009 07:55
Просто, но справиться не могу. Небесный Общие вопросы Delphi 1 05.05.2008 11:32