The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"tcp/udp checksum"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"tcp/udp checksum"
Сообщение от dust emailИскать по авторуВ закладки on 13-Июн-03, 16:20  (MSK)
Кто-нить знает, есть ли стандартные функции для подсчета контрольной сумы tcp / udp пакетов ?

нашел только для ip:
#include <machine/in_cksum.h>
int in_cksum_hdr(struct ip *);

в nmap 3.0 есть функция для подсчета так называемой интеренет-контрольной сумы. u_short in_cksum(u_char *pkt, int size);

В доках нашел, что контрольная сума tcp/udp пакетов вычисляется на основе интернет-котрольной сумы следующей информации:

buf = заголовок tcp + payload (ака данные пакета) + псевдо заголовок.
/* Копирования данных делал через memcpy */

sum=in_cksum(buf ...);
printf("sum: %d", htons(sum));

вроде все сделал...но сума не совпадает, тоесть где-то ошибка :-\
второй день над этим сижу, замахался уже...вот поэтому и спрашиваю, может можно возложить эту задачу на систему ?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "tcp/udp checksum"
Сообщение от messer emailИскать по авторуВ закладки on 18-Июн-03, 08:41  (MSK)
если хочешь возложить эту задачу на систему, используй SOCK_STREAM сокеты -) А для raw нужно высчитывать самому. Простой исходник для линукса, правильно считающий tcp чексумму - http://nerf.ru/_files/spoof.c


  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Пожалуйста, прежде чем написать сообщение, ознакомьтесь с данными рекомендациями.




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру