Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 |

 

  Вопрос: Мини прокси сервер своими руками!! Добавлено: 15.02.06 22:31  

Автор вопроса:  Apache2 | ICQ: 162823477 
Тут понадобилось написать мини-программку, которая перенаправляет http запросы с броузеров
на локальный кеш и если там нет файла - запрашивает его через интернет.

Настройка веб-броузера: 127.0.0.1 порт: 8090

Всё работает неплохо, запросы получаю.. файл локальный отправить могу..
а вот с интернетом проблемка.

как сделать запрос в интернет через винсокет?
Новый винсок настраиваю порт 80 подключить..
SendData [копия запроса с броузера]
и пишет ошибка.. что я делаю не так?

Чуть позже нашёл готовый исходник:
http://www.sources.ru/vb/vb_personal_proxy_server.shtml

глянул.. а там явно не через сокет сделано, а не понятно через что конектиться к инету..
и только Http

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

Ответить

  Ответы Всего ответов: 25  

Номер ответа: 1
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #1
Добавлено: 16.02.06 06:55
Каким образом нужна поддержка всех протоколов, если ты перенаправляешь только http-запросы? Если нужен не только http-протокол, то http-прокси тебе не подойдет, нужен socks4|5

Ответить

Номер ответа: 2
Автор ответа:
 Apache2



ICQ: 162823477 

Вопросов: 31
Ответов: 114
 Профиль | | #2 Добавлено: 16.02.06 16:02
Да, нужно только перенаправлять запросы.. прямо в интернет.. или на другой прокси сервер.

И поддерживать желательно все существующие протоколы: http, ftp, https...

а можно бодробней о socks4|5 ? где почитать?
нужен новый контрол? проблема в том, что VB .NET программы так просто не используешь.. чтобы всё могло запускаться на машинах с windows 98 и процессором 100 Mhz.. на крайний случай если нет другого выхода придёться делать под платформу .NET..

Пожалуцйста, подробней.. кто хоть что знает.. или есть исходники посмотреть? примеры кода?

Ответить

Номер ответа: 3
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #3
Добавлено: 16.02.06 16:52
http://dasharm.com/modules.php?name=Articles&pa=showarticle&articles_id=14

Ответить

Номер ответа: 4
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #4 Добавлено: 16.02.06 17:16
юзай вбсокет, который ДаШарм делал... Тем кажись сокс 4 реализован...
Открываешь порт, в всё что в него приходит, отправляешь на другой порт
(который в инет открыт), всё что придёт на этот другой отправляешь на
тот первый...

Ответить

Номер ответа: 5
Автор ответа:
 Apache2



ICQ: 162823477 

Вопросов: 31
Ответов: 114
 Профиль | | #5 Добавлено: 16.02.06 20:24
ага, итересно.. почитал, сча попробую..
но нужно иметь сервер на socks4 :(

но допустим хочу сделать так:
комп и модем через телефон.

что и куда отправлять в таком случае, чтобы напрямую взять страницу с инета по любому протоколу?

Ответить

Номер ответа: 6
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #6 Добавлено: 16.02.06 23:02
понятно... Пока не вижу тему для разговора, "что и куда" не катит же,
сам понимаешь - rtfm ...

Ответить

Номер ответа: 7
Автор ответа:
 Apache2



ICQ: 162823477 

Вопросов: 31
Ответов: 114
 Профиль | | #7 Добавлено: 17.02.06 01:31
тогда пишу подробней:
элементарно, компьютер + обычный телефонный модем,
подключаюсь через модем в инет.

есть веб-броузер к примеру Опера, настроки соеинения: lokalhost: порт 8090

есть моя тестовая программа "мини-прокси-сервер"
которая через отдельные сокеты слушает порт 8090 и устанавливает с ними связь.. и получает запросы от броузера скажем "GET http://vbnet.ru"

я этот запрос должен перенаправить в Интернет и получить страничку, чтобы передать броузеру.

Задача ясна? как это сделать, причём протокол должен работать не только с http, но и с ftp, https и т.д.

Ответить

Номер ответа: 8
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #8 Добавлено: 17.02.06 15:19
"как это сделать" - молча, руками... Читай статьи про сеть, винсок,
винсок поймёшь, значит и вбсокет поймёш... а там уже и сам разберёшся
как всё связять... смысл я рассказывал, могу ещё раз

Есть 2 компа, неважно как они связаны между собой, и как один из них
подключён к интернету, главное IP, Port... Предположим что у компов
сетевые IP 192.168.1.1 192.168.1.2 соответственно. Компьютер с
192.168.1.2 имеет доступ к интернету. Рассматриваю пример с протоколом
http. Не важно какой протокол, главно на каждый протокол юзать разные
порты. Итак, 192.168.1.2 открывает порт для обмена данными с
192.168.1.1, например путь это будет порт 666, он будет для http.
Работаем через сокс4, юзаем контрол ДаШарма, скачать можно на dasharm.com.
192.168.1.2 открывает и слушает 666. 192.168.1.1 подключается к этому порту, и
что-то туда отправляет, в нашем случае это команды http протокола...
192.168.1.2 принимает эти команды... Чуть чуть распарсить придётся, а
именно найти к чему GET... Подключаемся через другой контрол, к тому
сайту на 80-ый, и отправляем ему всё что пришло в 666... Слушаем что
нам ответят, и всё что ответят отправляем назад к 192.168.1.2 в 666.
Вот в краце суть.


Ответить

Номер ответа: 9
Автор ответа:
 Apache2



ICQ: 162823477 

Вопросов: 31
Ответов: 114
 Профиль | | #9 Добавлено: 17.02.06 21:07
как работать с винсок я прекрасно знаю..
и статью о сокс4 тоже читал тоже, всё понял..

но пробелма в том.. что IP адрес своего компьютера я знаю, его лекого определить, когда комп выходит в инет. а вот IP адрес компьютера провайдера через который идёт инет по телефону - не знаю :(( и как узнать тоже:((

Ответить

Номер ответа: 10
Автор ответа:
 [root]



Вопросов: 45
Ответов: 1212
 Web-сайт: bit.pirit.info
 Профиль | | #10
Добавлено: 17.02.06 21:41
http://www.sources.ru/vb/vb_personal_proxy_server.shtml

Ответить

Номер ответа: 11
Автор ответа:
 Apache2



ICQ: 162823477 

Вопросов: 31
Ответов: 114
 Профиль | | #11 Добавлено: 18.02.06 00:23
ага, понятно, нужно запросы отправлять через имя DNS, типа vbnet.ru порт: 80
и работать напрямую..

Ответить

Номер ответа: 12
Автор ответа:
 Apache2



ICQ: 162823477 

Вопросов: 31
Ответов: 114
 Профиль | | #12 Добавлено: 18.02.06 00:49
Не слушайте не получаеться даже соединиться, интернет работает нормально..

Winsock3.Connect "rambler.ru", "80"

Ответить

Номер ответа: 13
Автор ответа:
 Apache2



ICQ: 162823477 

Вопросов: 31
Ответов: 114
 Профиль | | #13 Добавлено: 18.02.06 01:14
вернее приём информации - постоянные глюки..
не с первого раза коннектиться.. никогда страничка 100% не загружаеться.. Выскакивают сообшения Error

Ответить

Номер ответа: 14
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #14
Добавлено: 18.02.06 10:25
а вот IP адрес компьютера провайдера через который идёт инет по телефону - не знаю :(( и как узнать тоже:((
Протрассируй маршрут до любого инетного хоста - между тобой и ним наверняка будет шлюз провайдера.

Ответить

Номер ответа: 15
Автор ответа:
 Apache2



ICQ: 162823477 

Вопросов: 31
Ответов: 114
 Профиль | | #15 Добавлено: 18.02.06 15:53
Протрассируй маршрут

чем и как? это для меня новое.

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам