IO::Socket::Socks lahko izpiše izmenjavo SOCKS, ko povezava ne uspe. Proxy, cilj in možnost razhroščevanja navedite izrecno:

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

Modul dokumentira SocksDebug kot prikaz prometa SOCKS v protokolu usmerjeni obliki. Uporabite ga, da vidite, kako daleč napreduje pogajanje, in da pregledate vrnjeno kodo napake SOCKS.

ProxyAddr in ProxyPort določata posrednika. Neoverjen naslov s seznama proxyjev SOCKS5 lahko izpolni ta polja za dovoljen javni preizkus HTTP. ConnectAddr in ConnectPort določata storitev, s katero se je treba povezati. Napaka pri doseganju poslušalca in negativen odgovor povezave SOCKS sta dve različni opažanji.

Za proxy, ki zahteva preverjanje uporabniškega imena/gesla SOCKS5, dokumentirana polja konstruktorja vključujejo AuthType => 'userpass', Username in Password.

Uspešen blokirajoči konstruktor vzpostavi povezavo SOCKS, medtem ko zahteva aplikacije skozi vrnjeni socket zagotovi poznejši rezultat aplikacije. Za cilj HTTPS po SOCKS dodajte preverjeni TLS cilja preden pošljete zahtevo tega protokola. Če so vključene poverilnice, obravnavajte izhod razhroščevanja kot občutljiv.

Sorodni članki