Модераторы: Snowy, Poseidon, MetalFan

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как перехватить HTTP - запрос? 
:(
    Опции темы
Guest
Дата 9.12.2005, 17:34 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Здравствуйте. Мне нужно написать программу, которая будет постоянно висеть в памяти и регистрировать на какие сайты пользователь заходит (независимо от браузера). Интересует именно как перехватить это событие, когда пользователь загружает страницу, ну и URL этой страницы.
  Вверх
Snowy
Дата 9.12.2005, 17:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 53
Всего: 484



Это слишком сложно.
Обычно такие вещи делают на уровне прокси сервера.
PM MAIL   Вверх
Guest
Дата 9.12.2005, 17:40 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата(Snowy @ 9.12.2005, 17:39)
Это слишком сложно.
Обычно такие вещи делают на уровне прокси сервера.

Ну можно же как-то контролировать исходящий траффик?
  Вверх
Snowy
Дата 9.12.2005, 17:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 53
Всего: 484



Цитата(Guest @ 9.12.2005, 17:40)
Ну можно же как-то контролировать исходящий траффик?

Траффик да. Но собирать пакеты, вытаскивать из них данные, соединять их, отбрасывая лишнее... Это специализированный сниффер должен быть.
Добавлено @ 17:49
Кстати, можешь спросить у гугля или т.п. на тему HTTP снифера.
PM MAIL   Вверх
Teran
Дата 9.12.2005, 17:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 590
Регистрация: 9.9.2005
Где: Украина, Запорожь е

Репутация: нет
Всего: 3



Guest когда раскопаеш что-то скинь сюда пожалуйста меня тоже эта тема интересует


--------------------
Ни цего не понимаю
PM MAIL ICQ   Вверх
Guest
Дата 9.12.2005, 19:29 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











А если определять к каким айпишникам коннектится юзер и по ним получать урлы?
  Вверх
Darhazer
Дата 9.12.2005, 19:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 429
Регистрация: 28.9.2005
Где: HellCity (Sofia, Bulgaria)

Репутация: нет
Всего: 29



Зачем так сложно.
Программа регестрируеть себя как обработчика http ( HKEY_CLASSES_ROOT\HTTP\Sheel\open\command ) записиваеть адрес, а потом запускает браузер на этого адреса ;)



--------------------
I'm a wheel, I'm a wheel, I can roll, I can feel
But you can't stop me turning
'Cause I'm the sun, I'm the sun, I can move, I can run
But you'll never stom me burning
PM MAIL WWW ICQ YIM   Вверх
Guest
Дата 9.12.2005, 19:45 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата(Darhazer @ 9.12.2005, 19:40)
Зачем так сложно.
Программа регестрируеть себя как обработчика http ( HKEY_CLASSES_ROOT\HTTP\Sheel\open\command ) записиваеть адрес, а потом запускает браузер на этого адреса ;)

А поподробней можно? Лучше если на примере покажешь smile
  Вверх
Darhazer
Дата 9.12.2005, 19:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 429
Регистрация: 28.9.2005
Где: HellCity (Sofia, Bulgaria)

Репутация: нет
Всего: 29



К стате, можеть быт так не получеться когда браузер уже запущен и пользватель пишет адрес в аддресной строке... ;) Но все таки - эта алтернатива -> копаться в реестре smile
Добавлено @ 19:53
Цитата(Guest @ 9.12.2005, 19:29)
А если определять к каким айпишникам коннектится юзер и по ним получать урлы?

Можно по URL получить IP, но по IP->URL - нет, так как на одном сервере (одном IP) могут быть много сайтов (URL)


--------------------
I'm a wheel, I'm a wheel, I can roll, I can feel
But you can't stop me turning
'Cause I'm the sun, I'm the sun, I can move, I can run
But you'll never stom me burning
PM MAIL WWW ICQ YIM   Вверх
Snowy
Дата 9.12.2005, 20:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 53
Всего: 484



Цитата(Darhazer @ 9.12.2005, 19:40)
Программа регестрируеть себя как обработчика http

Это вообще не вариант.
Запускаем браузер и все. Программа вообще ничего не видит.

Цитата(Guest @ 9.12.2005, 19:29)
А если определять к каким айпишникам коннектится юзер и по ним получать урлы?

Не серъезно. Как полумера пойдет, но результат ниже среднего.
Так мы только домен определим.
А если человек пошел на тот же narod.ru.
Он может читать анекдоты, религиозную страничку или искать проф информацию.
Мы этого по IP не определим - там тонны сайтов, а IPшников в сотни раз меньше (а может вообще один).
Кроме того, всякого рода банеры тоже создают запросы, а реально мы получим информацию, что пользователь и туда ходил.
PM MAIL   Вверх
Guest
Дата 10.12.2005, 16:32 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Ну существуют же HTTP-снифферы и там это как-то реализовано ведь?
  Вверх
RA
Дата 10.12.2005, 17:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Брутальный буратина
****


Профиль
Группа: Участник Клуба
Сообщений: 3497
Регистрация: 31.3.2002
Где: Лес

Репутация: 10
Всего: 115



не хотел говрить но скажу smile , проще было бы получать по таймеру (или по событию) информацию из браузера, типа GetIEurl ....

Пища для размышления:
у каждого браузера сущесвует журнал где хранится информация о посещаемых, и посещённых сайтах ...

Можно перехватывать функции вызова из WinInet но имхо, это только для IE, а раз только для ИЕ, то проще иначе.

ЗЫ: Для тех кто собрался писать сниффер ТЕМА


PM   Вверх
Teran
Дата 27.12.2005, 11:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 590
Регистрация: 9.9.2005
Где: Украина, Запорожь е

Репутация: нет
Всего: 3



На самом деле всё это сделать очень легко и просто smile smile

Кто заинтересуется могу рассказать подробно smile


--------------------
Ни цего не понимаю
PM MAIL ICQ   Вверх
Snowy
Дата 27.12.2005, 12:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 53
Всего: 484



Цитата(RAdmin @ 10.12.2005, 17:40)
нформацию из браузера, типа GetIEurl ....

Из какого браузера? Из фиревокса или из оперы? А может из нетшкафа?
А, если я вообще досовским арахном пользуюсь...

Цитата(Teran @ 27.12.2005, 11:40)
На самом деле всё это сделать очень легко и просто

Действительно. И как мы все сразу не догадались, как это просто...
Только результата нет...

Цитата(Teran @ 27.12.2005, 11:40)
Кто заинтересуется могу рассказать подробно

Ну так расскажи.
PM MAIL   Вверх
Teran
Дата 27.12.2005, 12:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 590
Регистрация: 9.9.2005
Где: Украина, Запорожь е

Репутация: нет
Всего: 3



необходимо просто напросто поставить хуки на:

функции Send (WSOCK32.DLL) и SendTo (WSOCK32.DLL)

Затем в обработчике отлавливать приходящий буфер, а именно http запрос

структура у него приблизительно такая (Iexplore):
Код

GET http://forum.vingrad.ru/html/translit_only.js HTTP/1.0
Accept: */*
Referer: http://forum.vingrad.ru/index.php?showtopic=73775
Accept-Language: ru
Cookie: proforumforum_read=a%3A1%3A%7Bi%3A85%3Bi%3A1135668044%3B%7D; proforummember_id=13023; proforumpass_hash=1efa643c0b56892ad056737dd9299bd3; proforumsession_id=5b9df56ccf5748242307a8f1de82eab1; CookieIp=80.84.179.174
If-Modified-Since: Sat, 23 Jul 2005 09:40:01 GMT
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)
Host: forum.vingrad.ru
Proxy-Connection: Keep-Alive

или такая(Opera):
Код

GET http://www.umc.ua/ HTTP/1.0
User-Agent: Mozilla/4.0 (compatible; MSIE 5.0; Windows XP) Opera 6.01  [ru]
Host: www.umc.ua
Accept: text/html, image/png, image/jpeg, image/gif, image/x-xbitmap, */*
Accept-Language: ru, en
Accept-Charset: windows-1251;q=1.0, utf-8;q=1.0, utf-16;q=1.0, iso-8859-1;q=0.6, *;q=0.1
Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0
Proxy-Connection: Keep-Alive


т.е. просто необходимо витягивать первую строку, проверять на "Содержание GET, OPTIONS, POST, ...... смотри структуру HTTP запросов http://ru.wikipedia.org/wiki/HTTP"

и все дела причем можно даже при совпадении какого нибудь Урла закрывать данный открытый сокет

ЧЕМ ТЕБЕ НИ СНИФЕР?????
(Работает в любой винде)
Добавлено @ 12:49
Точно также если перехватывать
recv (WSOCK32.DLL) и recvfrom (WSOCK32.DLL)

можно фильтровать приходящие пакеты

(напрмер я себе фильтрую приходящие ActiveX
просто в приходящем пакете ищу совпадение с <object и (</object>) и делаю с ним ... smile ... все что захочу)


--------------------
Ни цего не понимаю
PM MAIL ICQ   Вверх
Страницы: (3) Все [1] 2 3 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Сети"
Snowy
Poseidon
MetalFan

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Snowy, Poseidon, MetalFan.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Сети | Следующая тема »


 




[ Время генерации скрипта: 0.0979 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.