Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
| | | | | | |
Ну да, все кроме winpcap-а именно это и делают 19.01.09 04:50 Число просмотров: 1781
Автор: amirul <Serge> Статус: The Elderman
|
|
<programming>
|
[Win32] Перехват входящего HTTP-трафика 18.01.09 07:47
Автор: Vedrus <Serokhvostov Anton> Статус: Member
|
Есть игровой клиент, который общается с сервером по HTTP-протоколу. Нужно сделать пассивный перехват вхоящего HTTP-трафика.
Пока додумался только до того, чтобы перехватить API-функцию recv, и включить в неё дополнительный код, который перед тем как завершить функцию recv будет записывать пакет в лог.
Хотелось бы решение попроще придумать. Можно что-то вроде такого сделать: создать сокет, который будет получать данные параллельно с сокетом клиента? т.е. чтобы и туда и туда шло одно и то же.
|
|
www.wireshark.org 19.01.09 22:27
Автор: + <Mikhail> Статус: Elderman
|
wireshark
www.wireshark.org
|
| |
+1 20.01.09 07:08
Автор: void <Grebnev Valery> Статус: Elderman
|
|
| | |
Да советовал я ему уже в прошлом посте. Он ту тему закрыл и переоткрыл ее здесь 20.01.09 08:08
Автор: amirul <Serge> Статус: The Elderman
|
А так как здесь ПРОГРАММИНГ, то советовать вайршарк - несколько неудобно
|
| | |
А что это такое? Объясните пожалуйста в двух словах 20.01.09 07:28
Автор: Vedrus <Serokhvostov Anton> Статус: Member
|
|
| | | | |
Гугл гулглом, но если кто-то может в двух словах ответить. А то я ещё не на ту доку поподу. А мнение местных старожилов для меня весомо. 20.01.09 08:47
Автор: Vedrus <Serokhvostov Anton> Статус: Member
|
|
| | | | | |
wireshark установил и пользуюсь. Спасибо за ссылку. Очень для меня полезная программа. 25.01.09 08:28
Автор: Vedrus <Serokhvostov Anton> Статус: Member
|
|
|
Если речь идёт о боте к игрушке, то... 18.01.09 16:52
Автор: Ustin <Ustin> Статус: Elderman
|
...можно сделать прокси-сервер прямо для данной игрухи и сохранить трафик из него.
В настройках игрухи можно указать прокси? Тогда берём имеющийся прокси, который умеет сохранять трафик, или с открытым кодом и приделываем к нему сохранение (блин, не могу сказать, какой именно софт нужен).
Но проще и быстрее - просто слушать трафик с помощью ethereal\packetyzer. Там можно указать фильтр типа "слушать только http", в итоге он покажет пакеты в красивом виде - подсветит заголовки, данные и проч.
|
|
[Win32] А ось то какая хоть? 18.01.09 08:31
Автор: amirul <Serge> Статус: The Elderman
|
|
| |
WinXP 18.01.09 09:22
Автор: Vedrus <Serokhvostov Anton> Статус: Member
|
|
| | |
Плохо, конечно, но излечимо 18.01.09 09:38
Автор: amirul <Serge> Статус: The Elderman
|
Можно перехватывать winpcap-ом и самому собирать пакеты в потоки.
Можно написать TDI-фильтр
Можно написать Layered Service Provider
Можно написать прокси в конце концов
А вообще лучше поставить Vista/Win7 и использовать WFP
По всем ключевым словам вполне можно гуглить.
|
| | | | |
Как ты мог догадаться, winpcap перехватывает пакеты, а собирать из них TCP-поток тебе придется самому 19.01.09 04:02
Автор: amirul <Serge> Статус: The Elderman
|
> Скачал с сайта библиотеку: > http://www.winpcap.org/install/bin/WinPcap_4_0_2.exe > Но почему-то у меня установилось только два файла: > rpcapd.exe и Uninstall.exe. А lib и h файлами там и не > пахнет. В каком месте я туплю? Я ее собирал очень давно, так что не знаю в чем проблема, но тогда проблем у меня не было.
> Как оцениваешь мой выбор? Субж. Того же можно добиться и через rawip насколько
> PS. Переход на висту конечно хорошо, но хотелось бы чтобы > программа работала и под VISTA и под XP А, так ты не для себя? Ну тогда, да. Надо поддерживать минимальную версию системы.
|
| | | | | |
Вот здесь я нашёл инфу, что нужно скачать WpdPack: 19.01.09 04:10
Автор: Vedrus <Serokhvostov Anton> Статус: Member Отредактировано 19.01.09 04:11 Количество правок: 1
|
Вот здесь я нашёл инфу, что нужно скачать WpdPack:
http://forum.ishodniki.ru/index.php?topic=16229.0
Отсюда её скачал:
http://www.winpcap.org/archive/4.0beta2-WpdPack.zip
Так что с этим вопросом разобрался.
> Того же можно добиться и через rawip А какой из этих двух способов быстрее работает и меньше ресурсов кушает? И где подводных камней меньше?
> а собирать из них TCP-поток тебе придется самому А разве какой-то из перечисленных тобой способов позволяет обойти ручную сборку TCP?
|
| | | | | | |
Ну да, все кроме winpcap-а именно это и делают 19.01.09 04:50
Автор: amirul <Serge> Статус: The Elderman
|
|
| | | | | | | |
Ясно, буду рыть в сторону LSP. 19.01.09 07:52
Автор: Vedrus <Serokhvostov Anton> Статус: Member Отредактировано 19.01.09 10:11 Количество правок: 4
|
Правда не совсем понятно, как LSP может собирать из TCP-пакетов готовые HTTP-пакеты. Проконтролируй, правильно ли я представляю себе работу с LSP?
Используя LSP я заменяю процедуры send и recv на свои (в них я сохраняю в лог необходимые мне TCP-пакеты и передаю управление на стандартные send и recv). А необходимые для мея пакеты - это HTTP и HTTPS ответы сервера, с которым общается клиент.
Полученные TCP-пакеты я вручную собираю и получаю полный HTTP-ответ сервера.
В процессе разбора с LSP натолкнулся на статью от майкрософта. И там пример был. Скомпилировать скомпилировался, но что-то не запускается. Может какой-нибудь ссылкой поделишься, где про LSP доходчиво и кратко написано?
PS. amirul, а мжешь что-нибудь сказать про PacketX?
Unraveling the Mysteries of Writing a Winsock 2 Layered Service Provider
|
| | | | | | | | |
Про PacketX сказать ничего не могу - первый раз слышу 19.01.09 19:52
Автор: amirul <Serge> Статус: The Elderman
|
> Используя LSP я заменяю процедуры send и recv на свои (в > них я сохраняю в лог необходимые мне TCP-пакеты и передаю > управление на стандартные send и recv). А необходимые для > мея пакеты - это HTTP и HTTPS ответы сервера, с которым > общается клиент. Если клиент используют 3rd-party реализацию SSL/TLS (например OpenSSL), то про перехват https средствами LSP можно забыть (вернее можно попробовать позаимстововать идею из ettercap-а, но совсем не факт, что что нибудь получится)
> Полученные TCP-пакеты я вручную собираю и получаю полный > HTTP-ответ сервера. Это ж ты о send/recv сейчас? Нет там никаких TCP пакетов.
> В процессе разбора с LSP натолкнулся на статью от > майкрософта. И там пример был. Скомпилировать > скомпилировался, но что-то не запускается. Может > какой-нибудь ссылкой поделишься, где про LSP доходчиво и > кратко написано? Нет, вот здесь к сожалению помочь ничем не могу.
> PS. amirul, а мжешь что-нибудь сказать > про PacketX? Субж
|
| | | | | | | | | |
Тогда буду задавать более конкретные вопросы. 20.01.09 05:48
Автор: Vedrus <Serokhvostov Anton> Статус: Member
|
Тогда буду задавать более конкретные вопросы.
Я в SDK нашёл сэмплы по LSP, но они не хотят компилиться. требуют вот эти файлы:
#ifndef _PSDK_BLD
#include <nt.h>
#include <ntrtl.h>
#include <nturtl.h>
#endif
---
В частности они хотят структуру LPFN_TRANSMITPACKETS. Где мне сии блага добыть? Поди DDK поставить надо?
|
| | | | | | | | | | |
Хедеры вроде бы должны быть в PlatformSDK 20.01.09 06:34
Автор: amirul <Serge> Статус: The Elderman
|
> Тогда буду задавать более конкретные вопросы. > Я в SDK нашёл сэмплы по LSP, но они не хотят компилиться. > требуют вот эти файлы: > > > #ifndef _PSDK_BLD
> #include <nt.h>
> #include <ntrtl.h>
> #include <nturtl.h>
> #endif
> ---
> > В частности они хотят структуру LPFN_TRANSMITPACKETS. Где mswsock.h
> мне сии блага добыть? Поди DDK поставить надо? DDK для этого по любому не надо. Надо PSDK
|
|
|