Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > Вопрос о RFC 1928


Автор: папай 9.5.2006, 15:07
Вот читаю русскую версию RFC 1928. Ссылка:
http://www.codenet.ru/webmast/socks51.php

У меня появился вопрос:
Когда все приветственные сообщения переданы, коннекты установлены, клиент посылает запросы. Их шаблон:

+----+-----+-------+------+----------+----------+
|VER | CMD | RSV | ATYP | DST.ADDR | DST.PORT |
+----+-----+-------+------+----------+----------+
| 1 | 1 | X'00' | 1 | Variable | 2 |
+----+-----+-------+------+----------+----------+

Но гже же поле DATA ??? Где главное поле со всеми данными ?

В UDP соединении таковое имеееться:

+----+------+------+----------+----------+----------+
|RSV | FRAG | ATYP | DST.ADDR | DST.PORT | DATA |
+----+------+------+----------+----------+----------+
| 2 | 1 | 1 | Variable | 2 | Variable |
+----+------+------+----------+----------+----------+

Обьясните пожалуйста!  

Автор: Franz 9.5.2006, 18:05
хм... 

Автор: папай 9.5.2006, 18:19
Переформулирую вопрос:

И так я хочу полностью разобрать как устроены сокс сервера и клиенты.

Есть русский RFC, находиться сдесь:
http://www.codenet.ru/webmast/socks51.php

Понял практически все.
И так клиент обращаеться серваку, они приветствуют друг друга, рассказывают друг другу какая версия протокола и так далее.

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

ДЛя UDP клиентов я видел поле DATA, для TCP - нет.

И еще вопрос. В каком формате сервер отправляет то, что ему ответил конечный сервер ? 

Помогите пожалуйста с этим, т.к. мой проект умирает ! 

Зарание благодарен !  

Автор: bsa 9.5.2006, 20:53
Я так понял, что это описан метод установки соединения с удаленной машиной через SOCKS сервер. В качестве ответа на запрос CONNECT тебе приходит IP (BND.ADDR) и PORT (BND.PORT), к которому ты должен приконнектиться, чтобы получить соединение с удаленным сервером. Я так понимаю, SOCKS просто делает порт-форвардинг.
P.S.: Все вышесказанное мое личное понимание RFC1928, изложенного в приведенном тексте. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)