Название: Http сниффер Отправлено: vbi от Март 06, 2014, 01:04 Доброй ночи! Мне нужно написать перехватчик http: запросов в сети. Как это можно сделать средствами Qt?
Название: Re: Http сниффер Отправлено: OKTA от Март 06, 2014, 08:14 Для начала определить метод, каким будете пакеты перехватывать - тут Qt еще и не пахнет. Посмотрите, как существующие снифферы работают, а потом уже и до Qt доберетесь))
Название: Re: Http сниффер Отправлено: vbi от Март 06, 2014, 10:44 а стандартными средствами QT нельзя?
Название: Re: Http сниффер Отправлено: OKTA от Март 06, 2014, 10:55 http://habrahabr.ru/post/164901/
Название: Re: Http сниффер Отправлено: vbi от Март 06, 2014, 11:23 Блиин.. у меня сроки горят. Пока я разберусь... Можете мне написать тестовую прожку до обеда на Qt4 с классом сниффера под Windows, чтоб я мог его:
создать включить выключить и чтоб он сигналы посылал с http запросами. Очень нужно до обеда - дедлайн! Плачу 50$!!! мой скайп: bovsunivsky Название: Re: Http сниффер (плачу 50$ за помощь!) Отправлено: OKTA от Март 06, 2014, 11:35 эх, кто бы мне помог ;D
Название: Re: Http сниффер (плачу 50$ за помощь!) Отправлено: vbi от Март 06, 2014, 12:49 Сам переношу хабровский пример в класс.
Вот ошибка из-за того что переместил код в класс. Как исправить?: Код: beginthreadex(0, 0, AcceptConnections, (void*)RS_SSocket, 0, &ret); Цитировать D:\MyProjects\C++\habr\snif\mainwindow.cpp:61: ошибка: argument of type 'unsigned int (MainWindow::)(void*)' does not match 'unsigned int (*)(void*)' Название: Re: Http сниффер (плачу 50$ за помощь!) Отправлено: kambala от Март 06, 2014, 12:50 http://www.winpcap.org
по ошибке: это должна быть просто функция, а не метод класса. убери MainWindow:: Название: Re: Http сниффер (плачу 50$ за помощь!) Отправлено: vbi от Март 06, 2014, 12:58 Как убрать?
Вот я запихнул все в конструктор. Мне нужно чтобы все в классе создавалось: Код: MainWindow::MainWindow(QWidget *parent) : Название: Re: Http сниффер (плачу 50$ за помощь!) Отправлено: vbi от Март 06, 2014, 13:00 и на этом вылетает:
Код: _beginthreadex(0, 0, AcceptConnections, (void*)RS_SSocket, 0, &ret); Название: Re: Http сниффер (плачу 50$ за помощь!) Отправлено: vbi от Март 06, 2014, 13:20 Понял, это ошибка в этой функции:
Код: AcceptConnections Название: Re: Http сниффер (плачу 50$ за помощь!) Отправлено: vbi от Март 06, 2014, 13:50 Вынес эти две процедуры за класс:
Код: unsigned __stdcall Connection(void* a) теперь вообще 119 ошибок и первая пишет multiple definition of `RS_InitStat()' и еще много multiple definition... ( Название: Re: Http сниффер (плачу 50$ за помощь!) Отправлено: kambala от Март 06, 2014, 14:01 добавь в начало файла объявления функций, может в этом дело.
«вынести за класс» означает просто не писать функциям твое MainWindow::, находиться же они могут прямо в mainwindow.cpp Название: Re: Http сниффер (плачу 50$ за помощь!) Отправлено: vbi от Март 06, 2014, 16:06 блин, ничего не выходит. За 100$ напишите класс без pcap на RAW сокетах?
Название: Re: Http сниффер (плачу 100$ за помощь!) Отправлено: kambala от Март 06, 2014, 16:16 я — нет, с сокетами никогда не работал
Название: Re: Http сниффер (плачу 100$ за помощь!) Отправлено: OKTA от Март 06, 2014, 17:36 Ты видимо забыл прописать либы виндовые в файл проекта..
Название: Re: Http сниффер (плачу 100$ за помощь!) Отправлено: OKTA от Март 06, 2014, 17:45 http://rghost.ru/52862910
Видимо придется тебе самому все делать))) Вот, если что, работающий на Qt этот же сниффер, правда в main.cpp перенес все из sniffer.cpp. По умолчанию в винде у тебя не будет библиотеки для работы с сокетами - посмотри в файле проекта, так что придется закачать Windows SDK. Название: Re: Http сниффер (плачу 100$ за помощь!) Отправлено: vbi от Март 08, 2014, 00:13 Спасибо! Но сам уже перенес хабровский пример не QT - работает
Название: Re: Http сниффер (плачу 100$ за помощь!) Отправлено: OKTA от Март 08, 2014, 00:40 Вот видишь, а хотел деньгами швыряться ;D
Название: Re: Http сниффер Отправлено: vbi от Март 08, 2014, 11:17 Разобрался не доконца. Не могу дальше разобратся, после того как вынес несколько функций за пределы класса, выдает ошибку на эти функции:
Цитировать D:\MyProjects\C++\QT4\build-MyProj-Qt_4_8_5_mingw-Отладка\debug\MyProjMain.o:-1: In function `Z10ConnectionPv@4': c:\Qt\4.8.5\src\corelib\arch\qatomic_i386.h:125: ошибка: multiple definition of `Connection(void*)@4' D:\MyProjects\C++\QT4\MyProj\MyProjEngine.h:56: first defined here D:\MyProjects\C++\QT4\build-MyProj-Qt_4_8_5_mingw-Отладка\debug\MyProjMain.o:-1: In function `Z17AcceptConnectionsPv@4': D:\MyProjects\C++\QT4\MyProj\MyProjEngine.h:78: ошибка: multiple definition of `AcceptConnections(void*)@4' D:\MyProjects\C++\QT4\MyProj\MyProjEngine.h:78: first defined here Название: Re: Http сниффер Отправлено: vbi от Март 08, 2014, 11:30 разобрался, просто я функции сами описал в h файле, а нужно в заголовочном обявить а в сорсе описать
Название: Re: Http сниффер Отправлено: vbi от Март 09, 2014, 03:27 Вообщем кому нужно, это (http://forum.antichat.net/printthread.php?t=361794)помогло)
|