Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Invisible HTTP Proxy, простой невидимый HTTP прокси

25K
24 февраля 2007 года
Livesms
2 / / 24.02.2007
Всем здравствуйте!

Хочу написать простой (без излишеств) невидимый HTTP прокси.

Тоесть программа стартует, интерфейс и т.д. не создает и слушает заданый порт.
Когда к нему идет соединение (проверяется IP по списку разрешенных) и дальше все что приходит на этот порт (а это просто HTTP запрос вида GET ... или POST ... или CONNECT ... ) отправляет на другой HTTP прокси. Такой себе мостик/тунель.
Кроме того в планах делать замену запросов
 
Код:
GET http://www.livescore.com/ HTTP/1.1
Accept: */*
Referer: http://www.livescore.com/
Cache-Control: no-cache
Host: www.livescore.com

на такой
 
Код:
GET http://64.49.221.121/ HTTP/1.1
Accept: */*
Referer: http://www.livescore.com/
Cache-Control: no-cache
Host: www.livescore.com


То-есть просто менять в URL имя домена на IP.

Может у кого есть какие нароботки/каркас и т.д.
Никакой функциональности и обработки не нужно. Просто отлов сообщений на порт и отправка на другой IP:Port один к одному.
Когда это заработает - приймусь за обработку Домен->IP

Раньше никогда не пробовал писать многопоточные и т.д. программы потому даже не знаю с чего начать.

Нашел простой прокси.
Перекомпилил, добавил работу в цепочке (изначально он был ориентирован на отправку запроса напрямую на сервер, а мне нужно вклинить между мей машиной и другим HTTP прокси).
Но странный глюк - запросы принимает, отправляет другому прокси, тот дает ответ, страничка грузиться, а потом или вылетает ошибкой сам прокси или уходит в цикл на перезагрузку одной и той же странички.

Даже не знаю где смотреть и как исправить.

Кто может чем помочь?

Вот сам HTTP proxy http://dump.ru/files/7/73874774/
355
25 февраля 2007 года
<SCORP>
786 / / 21.10.2006
GET http://www.livescore.com/ HTTP/1.1

и ты хочешь сказать вот это работает??? вообще-то в спецификации HTTP 1.1 в гете передаётся путь к файлу относительно сервера. а имя сервера передаётся в поле Host. и уж протокол -- тот и вовсе не указывается
334
26 февраля 2007 года
HexEdit
809 / / 27.07.2006
[QUOTE=<SCORP>;176206]GET http://www.livescore.com/ HTTP/1.1

и ты хочешь сказать вот это работает??? вообще-то в спецификации HTTP 1.1 в гете передаётся путь к файлу относительно сервера. а имя сервера передаётся в поле Host. и уж протокол -- тот и вовсе не указывается[/QUOTE]
тоесть так: GET /index.php?id=1 HTTP/1.1

PS. Интересно было бы посмотреть как бы сервер отреагировал напимер на такое (если бы писалось с протоколом и адресом):
GET ftp://ftp.site.com/ HTTP/1.1
Host: site.com:80
:D
355
26 февраля 2007 года
&lt;SCORP&gt;
786 / / 21.10.2006
Цитата: HexEdit

GET ftp://ftp.site.com/ HTTP/1.1
Host: site.com:80



5 баллов!!! ))

240
26 февраля 2007 года
aks
2.5K / / 14.07.2006
Цитата: HexEdit


PS. Интересно было бы посмотреть как бы сервер отреагировал напимер на такое (если бы писалось с протоколом и адресом):
GET ftp://ftp.site.com/ HTTP/1.1
Host: site.com:80
:D


Ну так зашел телнетом бы и проверил.
Сокорее всего 400-ю ошибку бы вернул (Bad Request)

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог