![]() |
|
Модераторы: xvr |
![]()
|
|
| AcAlex |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 12.9.2008 Репутация: нет Всего: нет |
Привет всем.
У меня возникла проблема. Мне надо написать программу, которая будет перехватывать пакеты и расчитывать параметры TCP соединений под Linux. Перехват пакетов я сделал, с помощью libpcap, но я не знаю как можно расчитать параметры TCP соединений. Мне нужны следующие параметры: Длительность соединения (сек.) Сколько байт получено и передано Количество ошибочных фрагментов и т.д. Все параметры находятся по этой ссылке http://kdd.ics.uci.edu/databases/kddcup99/task.html Может есть какие нибудь библиотеки? И можно ли вообще все эти параметры расчитать? Выслушаю все идеи. Заранее спасибо. |
|||
|
||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 84 Всего: 207 |
парсить TCP заголовок и ловить моменты появления SYN, FYN битов тупо инкрементировать счетчик на величину данных TCP сегмента тут сложнее скажем так, нужно считать: если одно и то же значение номера ACK фигурирует более чем в одном пакете, то количество ошибочных фрагментов равно грубо N - 1, где N - количество появления этого ACK номера -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
| AcAlex |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 12.9.2008 Репутация: нет Всего: нет |
MAKCim, все так и делаю, кроме "количество ошибочных фрагментов" - я считал через флаг RST(бит, установливаемый в 1 в TCP-пакете, отправляемом в ответ на получение неверного TCP-пакета).
|
|||
|
||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 84 Всего: 207 |
-------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
| AcAlex |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 24 Регистрация: 12.9.2008 Репутация: нет Всего: нет |
Да когда я писал пост - я не знал как реализовать отслеживание соединений.
Но к тому времени как ты ответил я додумался Спасибо за ответ - теперь я знаю что двигаюсь в нужном направлении. |
|||
|
||||
![]()
|
| Правила форума "С/С++: Программирование под Unix/Linux" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |