Налагодження з'єднань IO::Socket::Socks за допомогою SocksDebug
Увімкніть діагностику рукостискання IO::Socket::Socks для досліджуваного проксі та призначення.
IO::Socket::Socks може виводити обмін SOCKS, коли з'єднання не вдається. Укажіть проксі, призначення та параметр налагодження явно:
use IO::Socket::Socks;
my $socket = IO::Socket::Socks->new(
ProxyAddr => 'proxy.example',
ProxyPort => 1080,
ConnectAddr => 'www.example.com',
ConnectPort => 80,
SocksVersion => 5,
SocksDebug => 1,
Timeout => 10,
) or die $SOCKS_ERROR;
$socket->close();Модуль описує SocksDebug як показ трафіку SOCKS в орієнтованій на протокол формі. Використовуйте його, щоб бачити, наскільки просунулися переговори, і перевіряти повернутий код помилки SOCKS.
ProxyAddr і ProxyPort визначають посередника. Неавтентифікована адреса зі списку проксі SOCKS5 може заповнити ці поля для дозволеного публічного HTTP-тесту. ConnectAddr і ConnectPort визначають службу, до якої слід підключитися. Помилка під час досягнення слухача та негативна відповідь з'єднання SOCKS — це два різні спостереження.
Для проксі, що вимагає автентифікації SOCKS5 за іменем користувача та паролем, документовані поля конструктора включають AuthType => 'userpass', Username і Password.
Успішний блокувальний конструктор встановлює з'єднання SOCKS, а запит застосунку через повернутий сокет дає пізніший результат застосунку. Для призначення HTTPS додайте перевірений TLS призначення після SOCKS перед надсиланням запиту цього протоколу. Якщо задіяні облікові дані, вважайте вивід налагодження конфіденційним.