информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Сетевые кракеры и правда о деле ЛевинаПортрет посетителяГде водятся OGRы
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Бэкдор в xz/liblzma, предназначенный... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
блин ступил, сам уже понял 20.01.09 03:14  Число просмотров: 1167
Автор: Vedrus <Serokhvostov Anton> Статус: Member
<"чистая" ссылка> <обсуждение закрыто>
<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
<"чистая" ссылка> <обсуждение закрыто>
Let me google that for you 20.01.09 08:09  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка> <обсуждение закрыто>


http://letmegooglethatforyou.com/?q=wireshark
Гугл гулглом, но если кто-то может в двух словах ответить. А то я ещё не на ту доку поподу. А мнение местных старожилов для меня весомо. 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. Почитал вот эту статью: 19.01.09 03:58  
Автор: Vedrus <Serokhvostov Anton> Статус: Member
Отредактировано 19.01.09 04:04  Количество правок: 1
<"чистая" ссылка> <обсуждение закрыто>
Я для себя выбрал WinPcap. Почитал вот эту статью:
http://security.h12.ru/docs/windows/arhitektura_zahvata_paketov_dlya_windows_winpcap_(chast_2).htm

Скачал с сайта библиотеку:
http://www.winpcap.org/install/bin/WinPcap_4_0_2.exe
Но почему-то у меня установилось только два файла: rpcapd.exe и Uninstall.exe. А lib и h файлами там и не пахнет. В каком месте я туплю? Как оцениваешь мой выбор?

PS. Переход на висту конечно хорошо, но хотелось бы чтобы программа работала и под VISTA и под XP
Как ты мог догадаться, 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
1  |  2 >>  »  




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach