![]() |
|
Модераторы: feodorv |
![]()
|
|
| Leksey |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 12.12.2004 Репутация: нет Всего: 1 |
Есть следующая задача -
Дамп файл , созданный программой tcpdump, нужно проанализировать и выдать следующую информацию - Для каждого tcp соединения выдать набор пар размер пакета и сколько раз пакеты такого размера были отправлены/приняты. Собственно мне не совсем понятна формулировка и что такое tcp соединение. В моем понимании это канал который устанавливается при открытии сокета. Но как эту информацию можно получить из списка пакетов? |
|||
|
||||
| jonie |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 5613 Регистрация: 21.8.2005 Где: Владимир Репутация: 5 Всего: 118 |
C++ никогда не слышал про TCP, каналы и сокеты. Может быть вам стоит почитать учебник по сетям?
-------------------- Что-то не поняли? -> Напейтесь до зеленых человечков... эта сверхцивилизация Вам поможет... |
|||
|
||||
| mrbrooks |
|
|||
![]() трололомен ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4259 Регистрация: 4.10.2006 Где: Дол Гулдур Репутация: нет Всего: 306 |
Как я пологаю автор собирается писать что то типа снифера. Ну дык по этому и поиск в гугл. Но для начала автор должен учесть замечания
jonie |
|||
|
||||
| azesmcar |
|
|||
![]() uploading... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6291 Регистрация: 12.11.2004 Где: Армения Репутация: 3 Всего: 211 |
Для сниффера могу посоветовать pcap lib. Если это конечно не спортивный интерес.
|
|||
|
||||
| Leksey |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 12.12.2004 Репутация: нет Всего: 1 |
Снифер как раз мне не надо писать.
Учебник по сетям я читал как-то несколько лет назад. Просто интересно было узнать может кто-нибудь сталкивался с похожей задачей, какие поля tcp пакетов можно использовать чтобы понять что они из одного соединения и тп. |
|||
|
||||
| vinick |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 285 Регистрация: 9.6.2005 Репутация: 6 Всего: 22 |
||||
|
||||
| Leksey |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 332 Регистрация: 12.12.2004 Репутация: нет Всего: 1 |
Спасибо.
Но dump может содержать несколько tcp соединений по одним адресам и порту. Такая информация может быть восстановлена? Это сообщение отредактировал(а) Leksey - 13.3.2009, 11:48 |
|||
|
||||
| vinick |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 285 Регистрация: 9.6.2005 Репутация: 6 Всего: 22 |
Если дамп достаточно большой, то такая ситуация в теории возможна. Можно анализировать поток на наличие спец-пакетов означающих разрыв соединения, типа FIN или RST. Подробнее лучше посмотреть в спецификации протокола. |
|||
|
||||
| Олег2005 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 421 Регистрация: 26.5.2005 Где: Рига Латвия Репутация: 6 Всего: 11 |
Для TCP имеется понятие TCP-сессия.
Нормальная сессия всегда начинается сегментом с флагом SYN и заканчивается флагом FIN. Сессию можно восстановить с помощью сниффера - что и делают профессиональные сниффера, такие как CommView. Вам как видно восстанавливать не надо - тогда просто парсить текст дампа. Флаги S и F видны в тексте дампа. |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Сети | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |