![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Размер сетевого TCP/IP пакета
DelphiN! © (2006-04-12 10:04:00)Сдалал сетевой снифер, и перехватываю все сетевые данные, проходящие через компьютер, получаю пакеты так :
recv(hSocket, Packet, 65536, 0);
Так вот как узнать размер получаемого пакета(я указываю везде 65536)?
n0name (2006-04-14 13:53:00) [1]recv не получает пакетами.
Сергей М. (2006-04-12 11:32:00) [2]Да.
DelphiN! (2006-04-12 10:42:00) [3]Получается я запрошу 200 байт, а будет доступно лишь 100, и recv вернет 100?
Сергей М. (2006-04-12 10:38:00) [4]recv() вернет столько сколько доступно на момент вызова, но не более чем ты запросил.
DelphiN! (2006-04-12 10:34:00) [5]А если указать большое число, при этом размер пакета будет меньше этого числа никаких исключений не будет и recv вернет реальный размер пакета?
Сергей М. (2006-04-12 10:33:00) [6]http://book.itep.ru/4/44/ip_441.htm
http://book.itep.ru/4/44/tcp_443.htm
Calm (2006-04-12 10:27:00) [7]
> где можно посмотреть его структуру?
http://books.weblandy.com/comments.php?book_id=7&group_id=3
Я вот читал книгу. Там точно есть. Но для глубокого вникания в тему есть и более подробные книги.
Да валом лиетературы на эту тему. Хотя бы те же RFC почитать.
DelphiN! (2006-04-12 10:20:00) [8]А как выделить заголовок, и где можно посмотреть его структуру?
Сергей М. (2006-04-12 10:09:00) [9]Твой сниффер получает "грязные" данные, поэтому определить размер TCP-пакета можно только выделив из потока принимаемых данных TCP-заголовок и проанализировав его.