Socks5 и браузеры
Socks5 и браузеры
Браузеры Explorer и Navigator в использовании Socks "блещут консерватизмом": используется Socks4. UDP браузерам не нужен, но такую полезную возможность Socks5, как избавление от локального DNS-сервера, они игнорируют явно зря. К сожалению, Socks4 и Socks5 не имеют обратной совместимости, и не все Socks5-серверы могут обрабатывать Socks4-запросы, посылаемые браузерами. Socks и SocksCapture и подобные программы помогут вам приручить в локальной сети большинство из тех программ, которые не умеют работать через прокси самостоятельно. Это обеспечивается за счет перехвата обращений этих программ к функциям winsock и направления этих вызовов через Socks-сервер. SocksCapture позволяет довольно гибко настраивать и сохранять сетевую конфигурацию этих программ: через какой Socks-сервер ее запускать, в каком режиме работать с DNS и др. Socks-сервер запускается на шлюзовом компьютере, а SocksCapture является клиентской по отношению к нему программой и должен устанавливаться на каждом компьютере в локальной сети. Что не может делать Socks Поскольку Socks-прокси не знает, какие высокоуровневые протоколы он через себя пропускает, он не может им "помогать". В основном это касается кэширования. Socks не может узнать, какие ресурсы сети извлекаются с его помощью, и, соответственно, не может при следующем обращении к этому ресурсу "подставить" старое содержание немедленно без выполнения запроса. Второе ограничение - когда клиентская программа просит Socks-прокси выполнить за него серверную функцию (прими для меня входящее TCP-соединение), Socks-прокси не гарантирует, что он будет "слушать" именно тот номер порта, который хотел бы слушать клиент, так как на шлюзовой машине этот порт может быть уже занят другим сервером или другим потоком Socks-сервера, обслуживающим другого клиента. Таким образом, почти невозможно организовать работу, например, Web-cервера, находящегося внутри локальной сети, но принимающего соединения через Socks-сервер, - так как внешний клиент не будет заранее знать, с каким портом соединяться. То есть через Socks-прокси клиентское приложение сможет быть сервером, но только временным и только после того, как эта пара - клиент и сервер - уже установили первичное соединение и могут передать через него номер порта для вторичного соединения. Этот номер назначается Socks-сервером и сообщается Socks-клиенту. В таком режиме могут работать, например, FTP-клиенты и ICQ. Для выдачи постоянных внутренних серверов "наружу" через прокси лучше пользоваться обычным mapping-прокси с постоянными отображениями портов.