The OpenNET Project / Index page

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

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

"tcphdr"
Сообщение от necroman emailИскать по авторуВ закладки on 03-Сен-03, 12:08  (MSK)
Как подсчитать конрольную сумму в  ip протоколе. Также как подсчитать ее же в tcp
Вооющем мне все это нужно для того, что бы посылать сформированные мной пакеты через RAW сокет.
ПС Если ее можно не посчитывать - то как это сделать для выше приведенных протоколов
  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

  • tcphdr, anonymouse, 16:46 , 03-Сен-03, (1)
    • tcphdr, 3bepb, 08:34 , 04-Сен-03, (2)
      • tcphdr, necroman, 12:08 , 04-Сен-03, (3)
        • tcphdr, necroman, 14:47 , 05-Сен-03, (4)

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

1. "tcphdr"
Сообщение от anonymouse Искать по авторуВ закладки on 03-Сен-03, 16:46  (MSK)
int checksum(const u_short *addr, register int len)
{
        register int nleft = len;
        const u_short *w = addr;
        register u_short answer;
        register int sum = 0;

        /*
         *  Our algorithm is simple, using a 32 bit accumulator (sum),
         *  we add sequential 16 bit words to it, and at the end, fold
         *  back all the carry bits from the top 16 bits into the lower
         *  16 bits.
         */
        while (nleft > 1)  {
                sum += *w++;
                nleft -= 2;
        }

        /* mop up an odd byte, if necessary */

        if (nleft == 1)
                sum += htons(*(u_char *)w << 8);

        /*
         * add back carry outs from top 16 bits to low 16 bits
         */
        sum = (sum >> 16) + (sum & 0xffff);     /* add hi 16 to low 16 */
        sum += (sum >> 16);                     /* add carry */
        answer = ~sum;                          /* truncate to 16 bits */
        return (answer);
}

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

2. "tcphdr"
Сообщение от 3bepb emailИскать по авторуВ закладки on 04-Сен-03, 08:34  (MSK)
а лучше её вообще в 0  поставить ядро само посчитает
вроде
  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "tcphdr"
Сообщение от necroman emailИскать по авторуВ закладки on 04-Сен-03, 12:08  (MSK)
>а лучше её вообще в 0  поставить ядро само посчитает
>вроде

Можно ли что нить подобное паствить в tcphdr->check
Ну и еще один вопрос: Как нить миожно сделать чтобы source address в iphdr определялся автоматически
И при создании RAW socket'a обязательно ли ставить sin_addr.s_addr ?

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

4. "tcphdr"
Сообщение от necroman emailИскать по авторуВ закладки on 05-Сен-03, 14:47  (MSK)
>Можно ли что нить подобное паствить в tcphdr->check
>Ну и еще один вопрос: Как нить миожно сделать чтобы source address
>в iphdr определялся автоматически
>И при создании RAW socket'a обязательно ли ставить sin_addr.s_addr ?

Ну что никто не знат что ли ?

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


Удалить

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




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

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