ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > Программирование > PHP, PERL, MySQL, JavaScript
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #5  
Старый 15.05.2010, 11:41
tgbhu
Познающий
Регистрация: 27.11.2007
Сообщений: 40
Провел на форуме:
80952

Репутация: -5
По умолчанию

Цитата:
Сообщение от a1ex  
1. Определяет тип прокси (SOCKS4/SOCKS5)
2. Пытается проломится на него в гугл, принтит, если прокси валидный( читайте публичный), при остальных "ошибках"(таких как запрос авторизации, идента, GSSAPI авторизация итд) не принтит прокси.
Юзать: ./socks.pl list.txt , где list.txt - файл с соксамив формате ип:порт

Код:
#!perl 
# Simple SOCKS(4/5) sorter and checker 
# Author: biophreak (s-teals.org) 
# Todo: print results to text files, use threads 
use warnings; 
use strict; 
use Socket; 
use IO::Handle; 
my $DEBUG = 0; 
my $sockslist = shift || die '[ERROR] Specify sockslist!'; 
(open S, $sockslist and my @socks = <S> and close S) 
or die "Cannot open file $sockslist: $!\n"; 
my %SOCKS4_CONNECT_RESPONSES = ( 
90 => "request granted", 
91 => "request rejected or failed", 
92 => "request rejected, ident required", 
93 => "request rejected, ident mismatch", 
); 
my %SOCKS5_METHODS = ( 
0 => "no authentication required", 
1 => "GSSAPI", 
2 => "username/password", 
255 => "no acceptable methods", 
); 
my %SOCKS5_CONNECT_RESPONSES = ( 
0 => "succeeded", 
1 => "general SOCKS server failure", 
2 => "connection not allowed by ruleset", 
3 => "Network unreachable", 
4 => "Host unreachable", 
5 => "Connection refused", 
6 => "TTL expired", 
7 => "Command not supported", 
8 => "Address type not supported", 
); 
my $answer; 
for (my $i=0; $i < scalar @socks; $i++) 
{ 
my ($server, $port) = split(/:/, $socks[$i]); 
chomp($server, $port); 
socket(SOCK, AF_INET, SOCK_STREAM, getprotobyname('tcp')) 
or (print "Cannot open socket: $!\n" and exit); 
connect(SOCK, sockaddr_in($port, inet_aton($server))) 
or (print "Cannot connect to $server $port: $!\n" and exit); 
SOCK->autoflush(1); 
print SOCK pack("CCC",5,1,0); 
sysread(SOCK,$answer,1) 
or die "Cannot read from socket: $!\n"; 
close SOCK; 
if ($answer eq pack('C',0)) 
{ 
print "$server:$port is SOCKS4/SOCKS4a proxy.\nChecking...\n"if $DEBUG == 1; 
checkSocks4($server,$port); 
} elsif ($answer eq pack('C',5)) 
{ 
print "$server:$port is SOCKS5 proxy.\nChecking...\n"if $DEBUG == 1; 
checkSocks5($server,$port); 
} else { 
print "$server:$port is not SOCKS4/SOCKS5 proxy\n"; 
} 
} 
sub checkSocks5 
{ 
my($server,$port) = @_; 
my($mssg, $repcode, $repmssg); 
socket(SOCK, AF_INET, SOCK_STREAM, getprotobyname('tcp')) 
or (print "Cannot open socket: $!\n" and return 0); 
connect(SOCK, sockaddr_in($port, inet_aton($server))) 
or (print "Cannot connect to $server $port: $!\n" and return 0); 
SOCK->autoflush(1); 
print SOCK pack("CCC", 5, 1, 0) 
or (print "Cannot send to socket: $!\n" and return 0);; 
sysread(SOCK,$mssg,2) 
or (print "Cannot read from socket: $!\n" and return 0); 
$repcode = (unpack("C*", $mssg))[1]; 
$repmssg = $SOCKS5_METHODS{$repcode} 
|| "unknown or reserved reply code"; 
print "$server:$port reply code = $repcode ($repmssg)\n" 
if $DEBUG == 1; 
# print "[ERROR] $server:$port is alive,but isn't usable: $repcode ($repmssg)\n" 
# if $repcode != 0; 
(return 0 and close SOCK) unless($repcode == 0); 
print SOCK pack("CCCCa4n", 5, 1, 0, 1, inet_aton('www.ya.ru'), 80) 
or (warn "Cannot send to socket: $!\n" and return 0);; 
sysread(SOCK,$mssg,10) 
or (warn "Cannot read from socket: $!\n" and return 0); 
$repcode = (unpack("C*", $mssg))[1]; 
$repmssg = $SOCKS5_CONNECT_RESPONSES{$repcode} 
|| "unknown or reserved reply code"; 
print "$server:$port reply code = $repcode ($repmssg)\n" 
if $DEBUG == 1; 
# print "[ERROR] $server:$port is alive,but isn't usable: $repcode ($repmssg)\n" 
# if $repcode != 0; 
(return 0 and close SOCK) unless($repcode == 0); 
print "$server:$port is good SOCKS5 proxy\n"; # Print to file... 
close SOCK; 
return 1; 
} 

sub checkSocks4 
{ 
my($server,$port) = @_; 
my($mssg, $repcode, $repmssg); 
socket(SOCK, AF_INET, SOCK_STREAM, getprotobyname('tcp')) 
or (print "Cannot open socket: $!\n" and return 0); 
connect(SOCK, sockaddr_in($port, inet_aton($server))) 
or (print "Cannot connect to $server $port: $!\n" and return 0); 
SOCK->autoflush(1); 
print SOCK pack("CCnA4x", 4, 1, 80, inet_aton('www.google.com')); 
sysread(SOCK,$mssg,8) 
or (print "Cannot read from socket: $!\n" and return 0); 
$repcode = (unpack("C*", $mssg))[1]; 
$repmssg = $SOCKS4_CONNECT_RESPONSES{$repcode} 
|| "unknown reply code"; 
print "$server:$port reply code = $repcode ($repmssg)\n" 
if $DEBUG == 1; 
# print "[ERROR] $server:$port is alive,but isn't usable: $repcode ($repmssg)\n" 
# if $repcode != 90; 
(return 0 and close SOCK) unless ($repcode == 90); 
print "$server:$port is good SOCKS4/SOCKS4a proxy\n"; # Print to file... 
close SOCK; 
return 1; 
}

а как запускать его? скопировал этот код в файл socks.pl , соксы залил в list.txt
запускаю socks.pl но выдает текстом код
сорри за нубизм)
 
Ответить с цитированием
 



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
SOCKS4/5 Sorter + checker biophreak PHP, PERL, MySQL, JavaScript 4 05.01.2009 17:12
Antichat FTP Checker razzzar Soft - Windows 26 12.08.2008 10:32
Socks сервис. Продажа соксов оптом и поштучно. petzl VPN, Proxy, Socks - Покупка, продажа 2 07.03.2008 19:05
Socks mexcrack Болталка 3 31.07.2004 07:21
Java-чат и socks сервера Болталка 0 14.04.2004 20:10



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ