IO::Socket::Socks kan skrive ut SOCKS-utvekslingen når en tilkobling feiler. Oppgi proxy, destinasjon og feilsøkingsvalg eksplisitt:

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();

Modulen dokumenterer SocksDebug som visning av SOCKS-trafikk i protokollorientert form. Bruk det til å se hvor langt forhandlingen kommer, og til å granske en returnert SOCKS-feilkode.

ProxyAddr og ProxyPort identifiserer mellomleddet. En uautentisert adresse fra SOCKS5-proxylisten kan fylle ut disse feltene for en tillatt offentlig HTTP-test. ConnectAddr og ConnectPort identifiserer tjenesten den skal koble til. En feil med å nå lytteren og et negativt SOCKS-tilkoblingssvar er to ulike observasjoner.

For en proxy som krever SOCKS5-brukernavn/passord-autentisering, inkluderer de dokumenterte konstruktørfeltene AuthType => 'userpass', Username og Password.

En vellykket blokkerende konstruktør oppretter SOCKS-tilkoblingen, mens en applikasjonsforespørsel via den returnerte sockelen gir det senere applikasjonsresultatet. For en HTTPS-destinasjon, legg til verifisert destinasjons-TLS etter SOCKS før du sender forespørselen for den protokollen. Behandle feilsøkingsutdata som sensitivt når påloggingsinformasjon er involvert.

Relaterte artikler