SocksDebug ସହିତ IO::Socket::Socks ସଂଯୋଗ ଡିବଗ କରନ୍ତୁ
ଅନୁସନ୍ଧାନ କରାଯାଉଥିବା ପ୍ରକ୍ସି ଏବଂ ଲକ୍ଷ୍ୟ ପାଇଁ 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 ଲକ୍ଷ୍ୟ ପାଇଁ, ସେହି ପ୍ରୋଟୋକଲର ଅନୁରୋଧ ପଠାଇବା ପୂର୍ବରୁ SOCKS ପରେ ଯାଞ୍ଚିତ ଲକ୍ଷ୍ୟ TLS ଯୋଡନ୍ତୁ। ପ୍ରମାଣପତ୍ର ସଂଶ୍ଳିଷ୍ଟ ଥିଲେ ଡିବଗ ଆଉଟପୁଟକୁ ସମ୍ବେଦନଶୀଳ ବିବେଚନା କରନ୍ତୁ।