IO::Socket::Socks יכול להדפיס את חילופי SOCKS כאשר חיבור נכשל. ציינו במפורש את ה-proxy, היעד ואת אפשרות הניפוי:

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 מזהים את המתווך. כתובת ללא אימות מתוך רשימת ה-proxy מסוג SOCKS5 יכולה למלא שדות אלה עבור בדיקת HTTP ציבורית מורשית. ConnectAddr ו-ConnectPort מזהים את השירות שאליו יש להתחבר. שגיאה בהגעה למאזין ותשובת חיבור SOCKS שלילית הן שתי תצפיות שונות.

עבור proxy הדורש אימות שם משתמש/סיסמה של SOCKS5, שדות הבנאי המתועדים כוללים AuthType => 'userpass', Username ו-Password.

בנאי חוסם מוצלח מקים את חיבור SOCKS, בעוד שבקשת יישום דרך ה-socket המוחזר מספקת את תוצאת היישום המאוחרת. עבור יעד HTTPS, הוסיפו TLS מאומת של היעד לאחר SOCKS לפני שליחת הבקשה של אותו פרוטוקול. התייחסו לפלט הניפוי כרגיש כאשר מעורבים פרטי זיהוי.

מאמרים קשורים