Связывание SOCKS5 является постоянным или одноразовым? - PullRequest
3 голосов
/ 25 августа 2011

Я изучал RFC 1928 , и описание операции BIND мне не было понятно. Последовательность установки описана следующим образом, насколько я понимаю:

  1. Клиент устанавливает соединение с сервером SOCKS5
  2. Клиент выполняет запрос CONNECT
  3. Клиент устанавливает новое TCP-соединение с сервером SOCKS5 и запрашивает BIND
  4. Сервер немедленно отвечает с результатом операции BIND
  5. При получении входящего соединения сервер SOCKS5 отправляет клиенту уведомление

Что мне не сразу понятно, так это шаг 5. Должен ли я повторно запросить BIND, чтобы разрешить дополнительные входящие соединения?

Насколько я понимаю, одно и то же TCP-соединение (установленное на шаге 3) используется для связи с принятым узлом. Что делать, если мне нужно продолжать принимать соединения на один и тот же адрес: порт? В конце концов, возможно ли это?

1 Ответ

3 голосов
/ 26 августа 2011

Вам нужен отдельный запрос BIND для каждого соединения, которое вы хотите принять, поскольку прокси-сервер SOCKS отправляет только 1 уведомление, когда клиент подключается к связанному порту. Разрешает ли прокси-сервер SOCKS5 несколько запросов BIND для одного и того же IP / порта, зависит от реализации прокси.

...