| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > 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, изложенного в приведенном тексте. |