|
11 / 11 / 10
Регистрация: 06.10.2012
Сообщений: 675
|
|
SOCKS получение ip06.04.2014, 22:19. Показов 2518. Ответов 11
Метки нет (Все метки)
Нужно создать socks. Использовал вот этот RFC.
Создал все запросы которые требуются. Но вот последний запрос "Ответы" от сервера клиенту, не могу понять как получаются BND.ADDR и BND.PORT. Как их получить? Буду очень благодарен.
0
|
|
| 06.04.2014, 22:19 | |
|
Ответы с готовыми решениями:
11
Socks сервер Работа с socks Socks прокси |
|
503 / 352 / 94
Регистрация: 22.03.2011
Сообщений: 1,112
|
||
| 07.04.2014, 14:41 | ||
|
Взято из тогоже RFC.
0
|
||
|
11 / 11 / 10
Регистрация: 06.10.2012
Сообщений: 675
|
||
| 08.04.2014, 00:44 [ТС] | ||
|
Добавлено через 8 минут Вот допустим у меня у клиента ip-127.0.0.1:2010 сервер ip-192.168.129.129:2010 Я в браузере забиваю google.ru Клиент перехватывает эту ссылку и передаёт серверу... Как я понимаю сервер должен получить BND и передать клиенту, а тот в свою очередь браузеру? или я что-то не то понял? Мне дали такую схему: браузер->клиент(шифрует)->сервер(расшифровывает)->интернет . И обратно.
0
|
||
|
503 / 352 / 94
Регистрация: 22.03.2011
Сообщений: 1,112
|
|
| 08.04.2014, 01:20 | |
|
Проясним, Вы реализуете, SOCKS5 клиент где транспортом является TCP. Исходя из http://www.ietf.org/rfc/rfc1928.txt, Вам приходит ответ на CONNECT в котором сообщается BND.ADDR BND.PORT.
Причем начало BND.ADDR вы можете взять сдвигом по октетам, а "variable len" походу попадает под "data type field" и равно MAX_ADDR_LEN (POSIX define). Смотрите датаграмму ответа сервера. п.с. В RFC не сказано, что BIND является "mandatory", но и не упоминается, что он не должен быть "implemented". Добавлено через 2 минуты Схема правильная, но с биндом Вы напутали. Клиент отсылает: DST.ADDR desired destination address DST.PORT desired destination port in network octet order Клиент получает: BND.ADDR server bound address BND.PORT server bound port in network octet order Добавлено через 9 минут т.е. если Вы хотите передавать пакеты на google.com то указываете DST.ADDR googlec.com, в свою очередь, сервер предоставит Вам BND.ADDR и BND.PORT по которому будет происходить коммуникация зашифрованными пекетами, расшифрует их и передаст на адрес DST.ADDR. т.е. Саму "нагрузку", данные для google.com, Вы будете передавать не через адресс:порт SOCKS5 сервера, а через дополнительно выделенные addr: port.
0
|
|
|
11 / 11 / 10
Регистрация: 06.10.2012
Сообщений: 675
|
||
| 08.04.2014, 23:45 [ТС] | ||
|
0
|
||
|
503 / 352 / 94
Регистрация: 22.03.2011
Сообщений: 1,112
|
|
| 09.04.2014, 00:21 | |
|
Вы думаете, что Ваш преподаватель не заметит Вашего сообщения про соц сети?). И нет меня нет в соц сетях, вообще, я не приверженник этого.
И все же если Ваш преподаватель прочитает эту ветку, то получение СОВЕТОВ (а не решений) на форуме или любом другом ресурсе, это абсолютно нормально и только поощряется в среде программистов. И как я Вам уже заметил, у меня нет желания решать Вашу задачу от и до. Что же касается самой задачи, то так как Вы конектитесь к SOCKS5 серверу, так же конектитесь и к переданному Вам адресу. Если хотите конкретике, то уточните Ваш язык программирования (С/С++), операционную систему (Windows/Linux/Unix), а также возможность использовать дополнительные библиотеки/фреймворки (boost/qt)
0
|
|
|
11 / 11 / 10
Регистрация: 06.10.2012
Сообщений: 675
|
||
| 09.04.2014, 10:11 [ТС] | ||
|
0
|
||
|
503 / 352 / 94
Регистрация: 22.03.2011
Сообщений: 1,112
|
|
| 09.04.2014, 15:08 | |
|
Нет. У меня ворос как Вы предполагаете интеграцию в браузер, и в какой браузер Вы будете интегрировать Ваш клиент?
0
|
|
|
11 / 11 / 10
Регистрация: 06.10.2012
Сообщений: 675
|
|
| 09.04.2014, 17:07 [ТС] | |
|
0
|
|
|
503 / 352 / 94
Регистрация: 22.03.2011
Сообщений: 1,112
|
|||||||||||
| 09.04.2014, 17:39 | |||||||||||
|
Браузер это отдельное приложение, разработанное группой разработчиков, у каждого браузера (покарйней мере chrome/firefox/ie) есть свой socks клиент. И я не знаю такой возможности чтобы Вы как-то подгрузили плагином, или еще как-то, свой клиент для сущестующих браузеров.
Спросите у своего преподавателя, как он видет конечную имплементацию клиента. Возможно от вес не требуется вообще интеграция. А только смоделировать работу брауза, что делается давольно таки просто. А именно: 1. Когда Вы в браузере переходите по определенному url он шлет GET/POST запрос (обычный буффер) на указанный вами адресс. 2. В случае, если в комуникации участвует socks, то он этот запрос (буффер) передает на socks клиент. 3. Встроенный socks клиент соединяется с сервером, получает необходимую мета информацию. 4. Потом буффер, переданный браузером, шифруется если необходимо, и шифрованным отправляется по указанному BND адрессу. 5. Соответственно потом принимается ответ от socks сервера, расшифровуется и передается браузеру на исполнение. Так вот, чтобы смоделировать запрос браузера Вам нужно предоставить интерфейс в Ващем клиенте. Припустим
//pseudo code
0
|
|||||||||||
|
11 / 11 / 10
Регистрация: 06.10.2012
Сообщений: 675
|
||
| 10.04.2014, 23:04 [ТС] | ||
|
0
|
||
|
503 / 352 / 94
Регистрация: 22.03.2011
Сообщений: 1,112
|
|
| 10.04.2014, 23:32 | |
|
Вы представляете как работает обычное клиент/серверное TCP/UDP соединение? Почитайте поподробней, если кратко, то сервер в BND.ADDR и в BDN.PORT говорит клиенту, на какой адрес и на какой порт он ожидает соединение, при этом производит необходимые действия (создает сокет, биндится и ждет информации).
Вообще socks5 можно представить как 1 главное соединение (по которым Вы передаете команды CONNECT, BIND, ASSOSIATE), и N нагрузочных (по которым Вы передаете данные).
0
|
|
| 10.04.2014, 23:32 | |
|
Помогаю со студенческими работами здесь
12
Socks 5 и https Вопросы по спецификации SOCKS 5 443 порт socks Socks Proxy Server Socks 4/5 для webbrowser Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем.
. . .
|