SOCKS4
SOCKS4 — старая версия протокола SOCKS: передаёт соединения, но не поддерживает вход по паролю.
Обновлено · Редакция Prokso
SOCKS4 передаёт данные между программой и сервером так же, как SOCKS5, но умеет гораздо меньше. В нём нет проверки логина и пароля и нет поддержки IPv6.
В базовом SOCKS4 адрес сайта должна определить сама программа. Расширение SOCKS4a позволяет передать прокси имя сайта, но поддерживают его не везде.
Сегодня SOCKS4 встречается в основном в старых программах и в списках бесплатных прокси. Современные сервисы работают через SOCKS5 или HTTP.
Prokso работает с HTTP, HTTPS и SOCKS5. Если программа предлагает выбор между SOCKS4 и SOCKS5, выбирайте SOCKS5.
Как выглядит запрос SOCKS4
Программа отправляет один короткий пакет: номер версии 4, команду, порт сайта, его адрес IPv4 и поле идентификатора пользователя, которое заканчивается нулевым байтом. Команда CONNECT открывает соединение с сайтом, BIND ждет входящее. Сервер отвечает кодом 90, если запрос разрешен, и 91, если отклонен.
Поле идентификатора часто путают с логином. Это не проверка пароля: поле лишь передает имя, а места для пароля в протоколе нет.
Как SOCKS4a передает имя сайта
В SOCKS4a программа ставит вместо IP специальный адрес вроде 0.0.0.1, а после идентификатора добавляет имя сайта. Прокси видит это и сам определяет адрес по имени. Если сервер знает только обычный SOCKS4, такой запрос будет отклонен.
| Возможность | SOCKS4 | SOCKS4a | SOCKS5 |
|---|---|---|---|
| Логин и пароль | нет | нет | да |
| Имя сайта вместо IP | нет | да | да |
| IPv6 | нет | нет | да |
Что делать, если программа предлагает SOCKS4
Prokso предлагает SOCKS5, а не SOCKS4: порт 824 с новым IP на каждый запрос и порты 10000–20000 с фиксированным IP. Если указать эти порты как SOCKS4, сервер получит пакет с другим номером версии, и соединение не установится. Если программа знает только SOCKS4, выберите вместо него вариант HTTP-прокси с портом 823 или посмотрите страницу SOCKS5-прокси.
Не уверены, с каким протоколом работает строка? Вставьте ее в проверку прокси: она показывает протокол рабочей строки. В curl SOCKS4 и SOCKS4a задают схемами socks4:// и socks4a://, а SOCKS5 — схемами socks5:// и socks5h://. Перепутанная схема в строке дает ту же ошибку, что и неверный тип прокси в настройках.
Вопросы и ответы
Можно ли использовать SOCKS4 с паролем?
Нет, в SOCKS4 нет входа по паролю. С ним можно работать только через доступ по IP, и то если сервис поддерживает этот протокол.
Совместим ли SOCKS5 с SOCKS4?
Протоколы разные. Некоторые серверы принимают оба, но программа должна явно указать, какой использует.
Связанные термины
Резидентские $1.59, мобильные $2.50, серверные $0.65 за 1 ГБ
Регистрация за минуту, доступы сразу после оплаты.