Страница: 1 | 2 |
Вопрос: Пишем proxy!
Добавлено: 09.08.04 18:26
Автор вопроса: Rebel | Web-сайт:
попытался вчера писать проксю на vb6.
как я понимаю фишку, то делать нада так:
берем 3 winsock-контрола, 1й пожизни слушает и при подключении загружает экземпляр второго и акксептит им подключение.
2й при получение данных делает GetData data,vbString. в дату кладется реквест от броузера, который расшифровываю сплитом. на его основе грузится экземпляр третьего и коннектится к сайту.
получает данные и кидет их второму, который на DataArrival кидает ее непосредственно клиенту.
возникают следющие вопросы:
когда закрывать подключение на 2м и 3м контролах?
где и как лучше держать соответствие 2го-3му контролу?
понадобится-ли грузить несколько 3х для одного 2го?
и т.д.
народ, посоветуйт еплз, можт у кого есть опыт или примет или просто соображения... заранее спасибо :)
Ответы
Всего ответов: 16
Номер ответа: 1
Автор ответа:
User Unknown
Вечный Юзер!
ICQ: uu@jabber.cz
Вопросов: 120
Ответов: 3302
Профиль | | #1
Добавлено: 09.08.04 18:57
Здесь есть. Завтра выложу в примеры
http://www.vbnet.ru/vba/stuff/proxy.rar
Правда на VB .NET.
Номер ответа: 2
Автор ответа:
Rebel
Вопросов: 32
Ответов: 50
Web-сайт:
Профиль | | #2
Добавлено: 09.08.04 19:10
эээ... а что-нить ближе к vb6?
Номер ответа: 3
Автор ответа:
ISpy
Разработчик Offline Client
Вопросов: 47
Ответов: 621
Web-сайт:
Профиль | | #3
Добавлено: 09.08.04 19:41
У DaSharm'a были хорошие статьи по сети. Посмотри у него на сайте: www.localhost.co.nr
Номер ответа: 4
Автор ответа:
ISpy
Разработчик Offline Client
Вопросов: 47
Ответов: 621
Web-сайт:
Профиль | | #4
Добавлено: 09.08.04 19:45
Вот вроде статья, отчасти по похожей тематике: http://www.dasharm.iatp.org.ua/index.php?action=articles&show=http
Номер ответа: 5
Автор ответа:
DaSharm
ICQ: 780477
Вопросов: 72
Ответов: 1297
Web-сайт:
Профиль | | #5
Добавлено: 09.08.04 21:46
Чтобы написать проксю нужно сперва выучить НТТР протокол, вот тогда тебе станут известны все ответы на твои вопросы. Ещё есть простой вариант - юзать мой контрол Тяга-сервер на пару с vbsocket1a, но они вместе не уживаються, прийдеться подправить несколько переменных и типов с Public на Private.
Номер ответа: 6
Автор ответа:
Rebel
Вопросов: 32
Ответов: 50
Web-сайт:
Профиль | | #6
Добавлено: 09.08.04 22:22
не, ме охота на винсоке написать....
Номер ответа: 7
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #7
Добавлено: 10.08.04 07:05
Идея такая: 1-й по жизни слушает коннекты, ассептит их к экземпляру 2-го и создает экземпляр 3-го. При получении данных 2-му парсит их и передает на коннект и отправку соответствующему по индексу экземпляру 3-го. Так меньше всего геморра. Тот, принимая данные, отправляет их через соответствующий по индексу экземпляр 2-го.
Номер ответа: 8
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #8
Добавлено: 10.08.04 08:14
Дубовый вариант - напиши на WinPCap, сниффери порт, изменяй IP и MAC, и пересчитывай контрольную сумму. Никаких заморочек с экземплярами и прочей требухой
Номер ответа: 9
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #9
Добавлено: 10.08.04 12:25
> изменяй IP и MAC
Потом перезагружай тачку, пиши на винт низкоуровневый маркер удачного завершения работы...
Номер ответа: 10
Автор ответа:
DaSharm
ICQ: 780477
Вопросов: 72
Ответов: 1297
Web-сайт:
Профиль | | #10
Добавлено: 10.08.04 14:15
> напиши на WinPCap, сниффери порт, изменяй IP и MAC, и пересчитывай контрольную сумму
Вот я напряг свой мозок и все свои знания WinPCAP но что-то не догнал. Как же ты обойдешься без экземпляров?Или я такой тупой, или это идея у тебя такая тупая?
Номер ответа: 11
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #11
Добавлено: 10.08.04 14:19
Ну, совсем без экземпляров никак, хотя бы один быть должен
Я о том что не придется для каждого коннекта загружать экземпляр контрола, как в Winsock. Да и коннекта как такового не происходит вовсе, комп работает в качестве маршрутеризатора.
Номер ответа: 12
Автор ответа:
DaSharm
ICQ: 780477
Вопросов: 72
Ответов: 1297
Web-сайт:
Профиль | | #12
Добавлено: 10.08.04 16:58
ги-ги, ты прикалываешься? Я просто фигею, и офигеет каждый, кто когда-то уже писал проксю. Как ты направишь траффик от клиента к себе, чтобы снифить его? А как ты перенаправишь данные к хосту назначения? Бред и ещё раз повторю БРЕД.
Номер ответа: 13
Автор ответа:
Sharp
Лидер форума
ICQ: 216865379
Вопросов: 106
Ответов: 9979
Web-сайт:
Профиль | | #13
Добавлено: 11.08.04 05:04
> Как ты направишь траффик от клиента к себе, чтобы снифить его?
Как ты не понимаешь, он в начале программы ломает компьютерную фирму и посылает им мыло, если, мол, не продадите ребятам из этой сетки хабы вместо свичей, мы вам винты отформатируем. Вот так и сниффит.
Номер ответа: 14
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #14
Добавлено: 11.08.04 08:25
Хорош тупить. Не нужно никого перенаправлять, мы же пишем проксю а не сниффер. Пакеты идут от клиента непосредственно твоей машине, а с нее - на хост. Обратное тоже справедливо.
Ежели так уж хочется перенаправить - посылай ARP ответы, информирующие клиента о том, что хост имеет твой МАС
Номер ответа: 15
Автор ответа:
DaSharm
ICQ: 780477
Вопросов: 72
Ответов: 1297
Web-сайт:
Профиль | | #15
Добавлено: 11.08.04 14:19
Так ты что для написания прокси-сервера хоченшь использовать технологию ARP снифинга?Ну ты крутой...А на вб напишешь? Думаю, нет