Depanarea conexiunilor IO::Socket::Socks cu SocksDebug
Activați diagnosticarea handshake-ului IO::Socket::Socks pentru proxy-ul și destinația investigate.
IO::Socket::Socks poate afișa schimbul SOCKS atunci când o conexiune eșuează. Furnizați explicit proxy-ul, destinația și opțiunea de depanare:
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();Modulul documentează SocksDebug ca afișare a traficului SOCKS într-o formă orientată pe protocol. Folosiți-l pentru a vedea cât de departe ajunge negocierea și pentru a inspecta un cod de eșec SOCKS returnat.
ProxyAddr și ProxyPort identifică intermediarul. O adresă neautentificată din lista de proxy SOCKS5 poate completa acele câmpuri pentru un test HTTP public permis. ConnectAddr și ConnectPort identifică serviciul la care trebuie să se conecteze. O eroare la atingerea ascultătorului și un răspuns negativ de conexiune SOCKS sunt observații diferite.
Pentru un proxy care necesită autentificare SOCKS5 cu nume de utilizator/parolă, câmpurile documentate ale constructorului includ AuthType => 'userpass', Username și Password.
Un constructor blocant reușit stabilește conexiunea SOCKS, în timp ce o cerere a aplicației prin socketul returnat oferă rezultatul ulterior al aplicației. Pentru o destinație HTTPS, adăugați TLS verificat al destinației după SOCKS înainte de a trimite cererea acelui protocol. Tratați ieșirea de depanare ca sensibilă atunci când sunt implicate acreditări.