Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > 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
параметр
Цитата

RCVALL_ON


Добавлено через 3 минуты и 3 секунды
http://msdn.microsoft.com/en-us/library/ee309610%28v=VS.85%29.aspx

Автор: Олег2005 10.5.2011, 00:20
Кстати, ПЕРЕХВАТ - это совсем не ЗАХВАТ.
Сниффера копируют пакеты - но не перехватывают.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)