| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Программирование под Unix/Linux > Отслеживание TCP соединений |
| Автор: AcAlex 24.5.2009, 13:52 |
| Привет всем. У меня возникла проблема. Мне надо написать программу, которая будет перехватывать пакеты и расчитывать параметры TCP соединений под Linux. Перехват пакетов я сделал, с помощью libpcap, но я не знаю как можно расчитать параметры TCP соединений. Мне нужны следующие параметры: Длительность соединения (сек.) Сколько байт получено и передано Количество ошибочных фрагментов и т.д. Все параметры находятся по этой ссылке http://kdd.ics.uci.edu/databases/kddcup99/task.html Может есть какие нибудь библиотеки? И можно ли вообще все эти параметры расчитать? Выслушаю все идеи. Заранее спасибо. |
| Автор: MAKCim 24.5.2009, 17:28 |
парсить TCP заголовок и ловить моменты появления SYN, FYN битов тупо инкрементировать счетчик на величину данных TCP сегмента тут сложнее скажем так, нужно считать: если одно и то же значение номера ACK фигурирует более чем в одном пакете, то количество ошибочных фрагментов равно грубо N - 1, где N - количество появления этого ACK номера |
| Автор: AcAlex 24.5.2009, 18:23 |
| MAKCim, все так и делаю, кроме "количество ошибочных фрагментов" - я считал через флаг RST(бит, установливаемый в 1 в TCP-пакете, отправляемом в ответ на получение неверного TCP-пакета). |
| Автор: MAKCim 24.5.2009, 19:10 |
в чем тогда вопрос? |
| Автор: AcAlex 25.5.2009, 15:57 |
| Да когда я писал пост - я не знал как реализовать отслеживание соединений. Но к тому времени как ты ответил я додумался Спасибо за ответ - теперь я знаю что двигаюсь в нужном направлении. |