Feilsøk IO::Socket::Socks-tilkoblinger med SocksDebug
Aktiver håndtrykksdiagnostikk for IO::Socket::Socks for proxyen og destinasjonen som undersøkes.
IO::Socket::Socks kan skrive ut SOCKS-utvekslingen når en tilkobling mislykkes. Oppgi proxyen, destinasjonen og feilsøkingsvalget 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 en protokollorientert form. Bruk den til å se hvor langt forhandlingen kommer, og til å undersøke en returnert SOCKS-feilkode.
ProxyAddr og ProxyPort identifiserer mellomleddet. En uautentisert adresse fra SOCKS5-proxylisten kan fylle disse feltene for en tillatt offentlig HTTP-test. ConnectAddr og ConnectPort identifiserer tjenesten den skal koble til. En feil ved å nå lytteren og et negativt SOCKS-tilkoblingssvar er to forskjellige observasjoner.
For en proxy som krever SOCKS5-brukernavn/passord-autentisering, omfatter de dokumenterte konstruktørfeltene AuthType => 'userpass', Username og Password.
En vellykket blokkerende konstruktør etablerer SOCKS-tilkoblingen, mens en applikasjonsforespørsel gjennom den returnerte sockelen leverer det senere applikasjonsresultatet. For en HTTPS-destinasjon må du legge til verifisert destinasjons-TLS etter SOCKS før du sender forespørselen for den protokollen. Behandle feilsøkingsutdata som sensitive når påloggingsinformasjon er involvert.