Eseguire il debug delle connessioni IO::Socket::Socks con SocksDebug
Abilita la diagnostica dell'handshake di IO::Socket::Socks per il proxy e la destinazione in esame.
IO::Socket::Socks può stampare lo scambio SOCKS quando una connessione fallisce. Specifica esplicitamente il proxy, la destinazione e l'opzione di debug:
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();Il modulo documenta SocksDebug come visualizzazione del traffico SOCKS in forma orientata al protocollo. Usalo per vedere fin dove procede la negoziazione e per esaminare un codice di errore SOCKS restituito.
ProxyAddr e ProxyPort identificano l'intermediario. Un indirizzo non autenticato dalla lista di proxy SOCKS5 può compilare questi campi per un test HTTP pubblico consentito. ConnectAddr e ConnectPort identificano il servizio a cui deve connettersi. Un errore nel raggiungere il listener e una risposta di connessione SOCKS negativa sono osservazioni diverse.
Per un proxy che richiede l'autenticazione SOCKS5 con nome utente/password, i campi documentati del costruttore includono AuthType => 'userpass', Username e Password.
Un costruttore bloccante riuscito stabilisce la connessione SOCKS, mentre una richiesta dell'applicazione attraverso il socket restituito fornisce il risultato successivo dell'applicazione. Per una destinazione HTTPS, aggiungi un TLS verificato della destinazione dopo SOCKS prima di inviare la richiesta di quel protocollo. Tratta l'output di debug come sensibile quando sono coinvolte credenziali.