IO::Socket::Socks-verbindingen debuggen met SocksDebug
Schakel handshake-diagnostiek van IO::Socket::Socks in voor de proxy en bestemming die worden onderzocht.
IO::Socket::Socks kan de SOCKS-uitwisseling afdrukken wanneer een verbinding mislukt. Geef de proxy, bestemming en debug-optie expliciet op:
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();De module documenteert SocksDebug als het weergeven van SOCKS-verkeer in een protocolgerichte vorm. Gebruik het om te zien hoever de onderhandeling vordert en om een teruggegeven SOCKS-foutcode te onderzoeken.
ProxyAddr en ProxyPort identificeren de tussenpartij. Een niet-geverifieerd adres uit de SOCKS5-proxylijst kan die velden vullen voor een toegestane openbare HTTP-test. ConnectAddr en ConnectPort identificeren de dienst waarmee verbinding moet worden gemaakt. Een fout bij het bereiken van de listener en een negatief SOCKS-verbindingsantwoord zijn twee verschillende waarnemingen.
Voor een proxy die SOCKS5-gebruikersnaam/wachtwoord-verificatie vereist, omvatten de gedocumenteerde constructorvelden AuthType => 'userpass', Username en Password.
Een geslaagde blokkerende constructor brengt de SOCKS-verbinding tot stand, terwijl een applicatieverzoek via de teruggegeven socket het latere applicatieresultaat levert. Voor een HTTPS-bestemming voeg na SOCKS een geverifieerde TLS van de bestemming toe voordat het verzoek van dat protocol wordt verzonden. Behandel debug-uitvoer als gevoelig wanneer er inloggegevens in het spel zijn.