Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2004.05.30;
Скачать: [xml.tar.bz2];

Вниз

Структура IP,TCP и ICMP   Найти похожие ветки 

 
-=Demon=-   (2004-04-08 19:39) [0]

Всем привет. Народ если не сложно покажите как выглядет структура IP,TCP и ICMP. И как их склеивать для отправки.


 
Verg ©   (2004-04-08 22:02) [1]

RFC791 - IP
RFC792 - ICMP
RFC793 - TCP
RFC768 - UDP


 
-=Demon=-   (2004-04-09 12:21) [2]

Не я конечно благодарен за такую помощь:-))))
Но нельзя ли поподробнее...
Если честно меня волнует то как в этих структурах выделяется место под данные.
Под словом структура я имею ввиду:

type
IPHeader =record
 VerLen :byte;   // версия и длина заголовка
 TOS    :byte;   // тип сервиса
 Len    :Word;   // длина всего пакета
 ID     :Word;   // Идентификация
 Flags  :Word;   // флаги и смещения
 TTL    :byte;   // время жизни пакета
 Proto  :byte;   // протокол
 XSum   :Word;   // контрольная сумма
 IPSrc  :DWord;  // IP-адрес отправителя
 IPDst  :DWord;  // IP-адрес назначения
end;

А как выделяется место под информацию, и как склеить для отправки Например IP(заголовок) и (TCP-Пакет) я не знаю.
Пожалуйста помогите.....


 
Rouse_ ©   (2004-04-09 12:30) [3]

В смысле, ты хочешь руками пакет собирать?
Или еще что-то?


 
Verg ©   (2004-04-09 13:04) [4]

Струтура сетевого пакета

+----------------------+
!  Заголовок (*Header) !
+----------------------+
!  Данные              !
+----------------------+

Пример структуры TCP/IP пакета:
+----------------+
!  Заголовок IP  !
+----------------+
!  Заголовок TCP !
+----------------+
!  Данные        !
+----------------+

 Заголовок в общем случае переменной длины, данные тоже.
Из-за этого, например, никогда не найти структуру (record, struct), описывающий заголовок TCP/IP. Только раздельно -
заголовок TCP, заголовок IP.
 В структурах, описывающих заголовки пакетов того или иного протокола, описывают фиксированную часть заголовка. На Паскале при этом надо писать packed record, чтобы исключить несоответствие из-за "выравнивания" полей при компиляции.


 
-=Demon=-   (2004-04-09 18:13) [5]


> В смысле, ты хочешь руками пакет собирать?
> Или еще что-то?


Да. И мне надо описание структур Как TCP так ICMP и UDP. Втом смысле что какие поля имеют какие типы данных. И Как склеивать IP заголовок и TCP пакет. И сколько Бит данных обычно отводиться под информацию.


 
Smithson ©   (2004-04-09 18:17) [6]

Как склеивать - элементарно. В любом описании IP указывается, что за заголовком следует поле "данные", длинна которого указана в заголовке. Вот в эти данные и помещаешь TCP-пакет. Или ICMP. А вообще воткни снифер и послушай себя часок, а потом посмотри, что он там накопил. Будет база для анализа из реальных (= работающих) пакетов.


 
-=Demon=-   (2004-04-10 02:30) [7]

Если можно покажите програмно как это делается.(Как склеивание так и сами описание структур). Хотя не, как склеивается я понял, покажите описание самих стуктур как TCP,ICMP и UDP так и IP. Заранее всем благодарен.


 
-==-   (2004-04-11 03:24) [8]

.


 
-==-   (2004-04-11 12:11) [9]

Народ вот структуры которые есть у меня:


IPHeader =record
 VerLen :byte;   // версия и длина заголовка
 TOS    :byte;   // тип сервиса
 Len    :Word;   // длина всего пакета
 ID     :Word;   // Идентификация
 Flags  :Word;   // флаги и смещения
 TTL    :byte;   // время жизни пакета
 Proto  :byte;   // протокол
 XSum   :Word;   // контрольная сумма
 IPSrc  :DWord;  // IP-адрес отправителя
 IPDst  :DWord;  // IP-адрес назначения
end;
PIcmp=^Icmp;
Icmp = record
       icmp_type:Byte; //Тип
       icmp_code:Byte; //Код
       icmp_cksum:Word;//СRС до 1
       icmp_id:Word;//Дескриптор
       icmp_seq:Word;//Последовательность
       icmp_data: DWORD;//Данные
       end;

TCPHeader =record
 SrcPort :Word;
 DstPort :Word;
 SeqNum  :DWord;
 AckNum  :DWord;
 DataOffs_Reserv_Cntrl :Word;
 Wnd     :Word;
 XSum    :Word;
 end;

Они правельно описаны или нет. Если нет, укажите пожалуйста, где ошибка.


 
-=Demon=-   (2004-04-11 12:12) [10]

Народ вот структуры которые есть у меня:


IPHeader =record
 VerLen :byte;   // версия и длина заголовка
 TOS    :byte;   // тип сервиса
 Len    :Word;   // длина всего пакета
 ID     :Word;   // Идентификация
 Flags  :Word;   // флаги и смещения
 TTL    :byte;   // время жизни пакета
 Proto  :byte;   // протокол
 XSum   :Word;   // контрольная сумма
 IPSrc  :DWord;  // IP-адрес отправителя
 IPDst  :DWord;  // IP-адрес назначения
end;
PIcmp=^Icmp;
Icmp = record
       icmp_type:Byte; //Тип
       icmp_code:Byte; //Код
       icmp_cksum:Word;//СRС до 1
       icmp_id:Word;//Дескриптор
       icmp_seq:Word;//Последовательность
       icmp_data: DWORD;//Данные
       end;

TCPHeader =record
 SrcPort :Word;
 DstPort :Word;
 SeqNum  :DWord;
 AckNum  :DWord;
 DataOffs_Reserv_Cntrl :Word;
 Wnd     :Word;
 XSum    :Word;
 end;

Они правельно описаны или нет. Если нет, укажите пожалуйста, где ошибка.



Страницы: 1 вся ветка

Форум: "Сети";
Текущий архив: 2004.05.30;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.04 c
3-1083916302
Nitrix
2004-05-07 11:51
2004.05.30
Сбросить счетчик в dbf


1-1084884672
DimonNew
2004-05-18 16:51
2004.05.30
TreeView


1-1084854227
Azazzello
2004-05-18 08:23
2004.05.30
Строка с запятыми!


1-1084879995
MegaVolt
2004-05-18 15:33
2004.05.30
Как оформить информацию получаемую из файлов с разными форматами?


7-1081903856
HammeRBgu
2004-04-14 04:50
2004.05.30
Выход из спящего режима





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский