Felsök IO::Socket::Socks-anslutningar med SocksDebug
Aktivera handskaksdiagnostik för IO::Socket::Socks för proxyn och destinationen som undersöks.
IO::Socket::Socks kan skriva ut SOCKS-utbytet när en anslutning misslyckas. Ange proxyn, destinationen och felsökningsalternativet explicit:
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 dokumenterar SocksDebug som visning av SOCKS-trafik i en protokollorienterad form. Använd den för att se hur långt förhandlingen kommer och för att granska en returnerad SOCKS-felkod.
ProxyAddr och ProxyPort identifierar mellanhanden. En oautentiserad adress från SOCKS5-proxylistan kan fylla dessa fält för ett tillåtet offentligt HTTP-test. ConnectAddr och ConnectPort identifierar tjänsten den ska ansluta till. Ett fel att nå lyssnaren och ett negativt SOCKS-anslutningssvar är två olika observationer.
För en proxy som kräver SOCKS5-användarnamn/lösenordsautentisering omfattar de dokumenterade konstruktor-fälten AuthType => 'userpass', Username och Password.
En lyckad blockerande konstruktor upprättar SOCKS-anslutningen, medan en applikationsförfrågan genom den returnerade sockeln ger det senare applikationsresultatet. För en HTTPS-destination, lägg till verifierad destinations-TLS efter SOCKS innan du skickar den protokollets förfrågan. Behandla felsökningsutdata som känslig när inloggningsuppgifter är inblandade.