IO::Socket::Socks dapat mencetak pertukaran SOCKS saat koneksi gagal. Berikan proxy, tujuan, dan opsi debug secara eksplisit:

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 mendokumentasikan SocksDebug sebagai penampil lalu lintas SOCKS dalam bentuk berorientasi protokol. Gunakan untuk melihat sejauh mana negosiasi berjalan dan memeriksa kode kegagalan SOCKS yang dikembalikan.

ProxyAddr dan ProxyPort mengidentifikasi perantara. Alamat tanpa autentikasi dari daftar proxy SOCKS5 dapat mengisi kolom tersebut untuk uji HTTP publik yang diizinkan. ConnectAddr dan ConnectPort mengidentifikasi layanan yang harus dihubungi. Kesalahan mencapai listener dan balasan koneksi SOCKS negatif adalah dua pengamatan yang berbeda.

Untuk proxy yang memerlukan autentikasi nama pengguna/kata sandi SOCKS5, kolom konstruktor yang didokumentasikan mencakup AuthType => 'userpass', Username, dan Password.

Konstruktor pemblokiran yang berhasil membentuk koneksi SOCKS, sedangkan permintaan aplikasi melalui soket yang dikembalikan memberikan hasil aplikasi selanjutnya. Untuk tujuan HTTPS, tambahkan TLS tujuan yang terverifikasi setelah SOCKS sebelum mengirim permintaan protokol tersebut. Perlakukan keluaran debug sebagai sensitif saat kredensial terlibat.

Artikel terkait