Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Сети > Сниффер по TCP IP |
Автор: klepa 4.5.2011, 15:59 |
Всем доброго времени суток. Зараннее прошу прощения за свою безграмотность в некоторых вопросах, просто я пока только начинающий программист. Передо мной стоит задача: с другого компьютера по сети по протоколу TCP IP и порту 30003 идут сообщения типа STA,,5,179,400AE7,10103,2008/11/28,14:58:51.153,2008/11/28,14:58:51.153,RM MSG,4,5,211,4CA2D6,10057,2008/11/28,14:53:49.986,2008/11/28,14:58:51.153,,,408.3,146.4,,,64,,,,, MSG,8,5,211,4CA2D6,10057,2008/11/28,14:53:50.391,2008/11/28,14:58:51.153,,,,,,,,,,,,0 MSG,4,5,211,4CA2D6,10057,2008/11/28,14:53:50.391,2008/11/28,14:58:51.153,,,408.3,146.4,,,64,,,,, MSG,3,5,211,4CA2D6,10057,2008/11/28,14:53:50.594,2008/11/28,14:58:51.153,,37000,,,51.45735,-1.02826,,,0,0,0,0 Количество сообщений достигает порой до 200 в минуту (хотя может быть и больше). мне необходимо выделить сообщения типа MSG,3 и "вытянуть" оттуда координаты. Хотелось бы услышать подсказку в каком направлении мне работать. Во-первых существуют ли готовые классы которые можно использовать для перехвата сообщений. Во-вторых, чтобы не было потери данных, как я понимаю, все сообщения надо для начала где-то хранить и только потом обрабатывать. Так вот каким образом это сделать чтобы была достаточна быстрая обработка. Буду очень благодарна за любые подсказки. Пишу на Visual C++ с использованием MFC. |
Автор: null56 6.5.2011, 22:54 |
готовое решение libpcap, ее можно цеплять в свой софт http://ru.wikipedia.org/wiki/Pcap |
Автор: null56 6.5.2011, 23:10 | ||
ну и по созданию собственного снифера, вот небольшой текст, довольно понятный, про, так называемый, НЕРАЗБОРЧИВЫЙ РЕЖИМ сетевой карты http://ru.wikipedia.org/wiki/Promiscuous_mode вот пример снифера под linux http://www.opennet.ru/base/dev/traffic_analyze.txt.html под винду перевод сетевой карты в неразборчивый режим также делается, видимо, через вызов ioctl вот ссылка http://msdn.microsoft.com/en-us/library/bb736550%28v=vs.85%29.aspx параметр
Добавлено через 3 минуты и 3 секунды http://msdn.microsoft.com/en-us/library/ee309610%28v=VS.85%29.aspx |
Автор: Олег2005 10.5.2011, 00:20 |
Кстати, ПЕРЕХВАТ - это совсем не ЗАХВАТ. Сниффера копируют пакеты - но не перехватывают. |