ดีบักการเชื่อมต่อ IO::Socket::Socks ด้วย SocksDebug
เปิดการวินิจฉัยการจับมือของ IO::Socket::Socks สำหรับพร็อกซีและปลายทางที่กำลังตรวจสอบ
IO::Socket::Socks สามารถพิมพ์การแลกเปลี่ยน SOCKS เมื่อการเชื่อมต่อล้มเหลว ระบุพร็อกซี ปลายทาง และตัวเลือกดีบักอย่างชัดเจน:
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();โมดูลจัดทำเอกสาร SocksDebug ว่าเป็นการแสดงทราฟฟิก SOCKS ในรูปแบบที่เน้นโปรโตคอล ใช้เพื่อดูว่าการเจรจาไปได้ไกลแค่ไหนและตรวจสอบรหัสความล้มเหลวของ SOCKS ที่ส่งกลับมา
ProxyAddr และ ProxyPort ระบุตัวกลาง ที่อยู่ที่ไม่ผ่านการรับรองความถูกต้องจาก รายการพร็อกซี SOCKS5 สามารถเติมฟิลด์เหล่านั้นสำหรับการทดสอบ HTTP สาธารณะที่ได้รับอนุญาต ConnectAddr และ ConnectPort ระบุบริการที่ควรเชื่อมต่อ ความผิดพลาดในการไปถึงตัวรับฟังและการตอบกลับการเชื่อมต่อ SOCKS เชิงลบเป็นการสังเกตที่แตกต่างกัน
สำหรับพร็อกซีที่ต้องการการรับรองความถูกต้องด้วยชื่อผู้ใช้/รหัสผ่าน SOCKS5 ฟิลด์คอนสตรักเตอร์ที่จัดทำเอกสารประกอบด้วย AuthType => 'userpass', Username และ Password
คอนสตรักเตอร์แบบบล็อกที่สำเร็จจะสร้างการเชื่อมต่อ SOCKS ขณะที่คำขอของแอปพลิเคชันผ่านซ็อกเก็ตที่ส่งกลับมาให้ผลลัพธ์ของแอปพลิเคชันในภายหลัง สำหรับปลายทาง HTTPS เพิ่ม TLS ของปลายทางที่ตรวจสอบแล้วหลัง SOCKS ก่อนส่งคำขอของโปรโตคอลนั้น ปฏิบัติต่อเอาต์พุตดีบักเป็นข้อมูลอ่อนไหวเมื่อมีข้อมูลรับรองเกี่ยวข้อง