Olá,<br>Se o foco seria a segurança, acho que seria mais produtivo modificar os pacotes ICMP, spoofar os ips e mac de origem para aumentar a carga no destino. Outra sugestão é: se o destino for um modem simples ou algo do tipo, tente MAC Flood...<br>
<br>Abraço.<br><br><div class="gmail_quote">Em 12 de março de 2012 09:04, Vinícius Miasato <span dir="ltr"><<a href="mailto:viniciusmiasato@gmail.com">viniciusmiasato@gmail.com</a>></span> escreveu:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Olá Aureliano,<br>
<br>
deixa ver se entendi bem, você pretende utilizar a GPU para atacar a rede ?<br>
<br>
abs.<br>
Japa<br>
<br>
2012/3/12 Aureliano Guedes <<a href="mailto:guedes_1000@hotmail.com">guedes_1000@hotmail.com</a>>:<br>
<div class="HOEnZb"><div class="h5">> Hoje em dia os moldens mais simples pode bloquear ping por defaut, contudo<br>
> no trecho citado vc falou de 2GHz.<br>
><br>
> Testa um i7 e usando GPU com uma placa de video poderosa, levando uma<br>
> internet de 15MB/s (a minha é so 10MB/p).<br>
><br>
> Facilitaria bastante, não?<br>
><br>
> No meu caso, como sou programador por esporte, e me interesso pela parte de<br>
> segurança digital, quero aprender intimamente<br>
> a parte "underground", para isso tenho uma rede configurada onde um Windows<br>
> 95 esta me esperando pra brincar com ele.<br>
> ________________________________<br>
> From: <a href="mailto:creaktive@gmail.com">creaktive@gmail.com</a><br>
> Date: Mon, 12 Mar 2012 09:42:52 -0300<br>
><br>
> To: <a href="mailto:rio-pm@pm.org">rio-pm@pm.org</a><br>
> Subject: Re: [Rio-pm] Multi threads<br>
><br>
> Da documentação do AnyEvent::FastPing:<br>
><br>
> "Performance: On my 2 GHz Opteron system with a pretty average nvidia<br>
> gigabit network card I can ping around 60k to 200k addresses per second,<br>
> depending on routing decisions"<br>
><br>
> Tentar isso com threads certamente vai derrubar o host... O SEU :P<br>
><br>
> ABS()<br>
><br>
><br>
><br>
> On Mon, Mar 12, 2012 at 09:01, Vinícius Miasato <<a href="mailto:viniciusmiasato@gmail.com">viniciusmiasato@gmail.com</a>><br>
> wrote:<br>
><br>
>>Ainda dá pra derrubar servidor com ping hoje<br>
>> em dia?<br>
><br>
> dependendo do servidor, sim, mas creio que são raridades hoje em dia,<br>
><br>
>>Tem uma coisa que a maioria ignora sobre threads, que é o fato de elas<br>
>>serem utilizadas para rodar código em paralelo quando o processador<br>
>>está *ocioso*.<br>
><br>
> não necessariamente. não se usa threads para rodar código somente pelo<br>
> processador estar ocioso. threads geralmente são utilizadas para<br>
> executar tarefas distintas pois quando uma thread entrar em um estado<br>
> bloqueante, as demais ainda podem entrar em execução, porém isso<br>
> também não é regra.<br>
><br>
>> Fique esperto também com a afinidade. Não necessariamente quatro<br>
>> threads rodando em um processador com quatro núcleos vão rodar cada<br>
>> uma em um núcleo. Eventualmente, você pode criar N threads que rodem<br>
>> em apenas um dos núcleos, e aí você se lascou.<br>
><br>
> com uma boa programação e se o SO permitir, você pode escolher em qual<br>
> núcleo cada processo executa =D<br>
><br>
> abs.<br>
> Japa<br>
><br>
> Em 12 de março de 2012 00:38, Blabos de Blebe <<a href="mailto:blabos@gmail.com">blabos@gmail.com</a>> escreveu:<br>
>>> Bem, agora exclareceu mais o assunto na minha cabeça, contudo me deixou<br>
>>> com<br>
>>> mais medo de usar threads... hahaha.<br>
>><br>
>> Se você tem medo de usar threads, então você não está pronto pra usar<br>
>> threads.<br>
>><br>
>>> Bem, esquecendo o assunto de redes, o que eu pretendo fazer é pingar um<br>
>>> servidor, contudo inves de usar 4 bot para<br>
>>> enviar 4 pings simultaneos eu quero usar uma unica maquina para enviar<br>
>>> esses<br>
>>> 4 pings. Mas é so uma questão de estudo<br>
>>> nada de underground.<br>
>><br>
>> Estudo, sei...<br>
>><br>
>> Bem, uma rede bem configurada vai solenemente cagar pro seus pings,<br>
>> então vou supor que você está estudando como configurar redes de forma<br>
>> a evitar um DoD por ping. Ainda dá pra derrubar servidor com ping hoje<br>
>> em dia?<br>
>><br>
>>> Exemplos que achei na internet não davam muita mobilidade de escolher o<br>
>>> numero de threads e tals.<br>
>><br>
>> Exemplos de threads que você (você, um sujeito genérico, ok)<br>
>> normalmente são porcaria. O que você precisa é ler com atenção o livro<br>
>> de SO do tio Tanenbaum <a href="http://www.pearsonhighered.com/tanenbaum" target="_blank">http://www.pearsonhighered.com/tanenbaum</a>.<br>
>><br>
>> ...<br>
>><br>
>> Tem uma coisa que a maioria ignora sobre threads, que é o fato de elas<br>
>> serem utilizadas para rodar código em paralelo quando o processador<br>
>> está *ocioso*.<br>
>><br>
>> Lembre-se sempre que há um custo para o SO fazer a troca de contexto e<br>
>> se o seu código for CPU bound, fazer o processador ficar chaveando<br>
>> contexto quando ele deveria estar processando, é perda de tempo.<br>
>><br>
>> Threads são melhores utilizadas para executar tarefas enquanto alguma<br>
>> parte do código está esperando I/O. Por exemplo, interface gráfica,<br>
>> que fica fica esperando o usuário interagir, ou ainda código que faz<br>
>> I/O, como o seu caso.<br>
>><br>
>> Fique esperto também com a afinidade. Não necessariamente quatro<br>
>> threads rodando em um processador com quatro núcleos vão rodar cada<br>
>> uma em um núcleo. Eventualmente, você pode criar N threads que rodem<br>
>> em apenas um dos núcleos, e aí você se lascou.<br>
>><br>
>><br>
>> []'s<br>
>><br>
>><br>
>><br>
>><br>
>><br>
>> 2012/3/11 Aureliano Guedes <<a href="mailto:guedes_1000@hotmail.com">guedes_1000@hotmail.com</a>>:<br>
>>> Bem, agora exclareceu mais o assunto na minha cabeça, contudo me deixou<br>
>>> com<br>
>>> mais medo de usar threads... hahaha.<br>
>>><br>
>>> Bem, esquecendo o assunto de redes, o que eu pretendo fazer é pingar um<br>
>>> servidor, contudo inves de usar 4 bot para<br>
>>> enviar 4 pings simultaneos eu quero usar uma unica maquina para enviar<br>
>>> esses<br>
>>> 4 pings. Mas é so uma questão de estudo<br>
>>> nada de underground.<br>
>>><br>
>>> Exemplos que achei na internet não davam muita mobilidade de escolher o<br>
>>> numero de threads e tals.<br>
>>><br>
>>> Mas valeu, monges, me ajudou muito mesmo.<br>
>>><br>
>>>> Date: Sun, 11 Mar 2012 22:58:20 -0300<br>
>>>> From: <a href="mailto:viniciusmiasato@gmail.com">viniciusmiasato@gmail.com</a><br>
>>><br>
>>>> To: <a href="mailto:rio-pm@pm.org">rio-pm@pm.org</a><br>
>>>> Subject: Re: [Rio-pm] Multi threads<br>
>>>><br>
>>>> só para não ficar confuso demais, a variável $pool_thr[ $i ] não<br>
>>>> recebe o retorno das threads. ela serve como uma forma de controle das<br>
>>>> threads, para efetuar join, detach ou executar outros métodos<br>
>>>> fornecidos,<br>
>>>><br>
>>>> o link para a documentação mais detalhada estpa abaixo:<br>
>>>> <a href="http://perldoc.perl.org/threads.html" target="_blank">http://perldoc.perl.org/threads.html</a><br>
>>>><br>
>>>> abs.<br>
>>>> Japa<br>
>>>><br>
>>>> Em 11 de março de 2012 22:53, Vinícius Miasato<br>
>>>> <<a href="mailto:viniciusmiasato@gmail.com">viniciusmiasato@gmail.com</a>> escreveu:<br>
>>>> > olá Aureliano,<br>
>>>> ><br>
>>>> > parece que você está confundindo um pouco o conceito de threads.<br>
>>>> > quando uma thread é criada ela executa em paralelo ( assumindo que sua<br>
>>>> > máquina possui vários nucleos e seu SO dá suporte à multi-threads ).<br>
>>>> ><br>
>>>> > o código que você citou espera a rotina terminar antes de iniciar uma<br>
>>>> > nova iteração do loop, já com threads, o loop continua mesmo sem a<br>
>>>> > thread retornar, caso a tarefa seja grande o suficiente,<br>
>>>> ><br>
>>>> > o que o Buss falou está certo, então venho tentar adicionar algo à<br>
>>>> > mais,<br>
>>>> ><br>
>>>> > como você não menciona nada sobre controle de threads, talvez você não<br>
>>>> > precise manter o controle das threads ao cria-las, então você pode<br>
>>>> > efetuar um detach nelas, o que significa descartar qualquer retorno da<br>
>>>> > thread em questão. após um detach, a thread não poderá mais ser<br>
>>>> > controlada.<br>
>>>> ><br>
>>>> > caso queira esperar um thread específica retornar antes de criar as<br>
>>>> > outras você  pode efetuar um join para aguardar o término da mesma,<br>
>>>> ><br>
>>>> > seria algo como:<br>
>>>> ><br>
>>>> > my $thr =  threads->create(\&sub1);<br>
>>>> > $thr->detach; # não queremos saber sobre o retorno desta thread e<br>
>>>> > liberamos ela<br>
>>>> ><br>
>>>> > ou<br>
>>>> ><br>
>>>> > my $thr2 =  threads->create(\&sub2);<br>
>>>> > my $resposta = $thr->join; # o retorno da sub2 atribuído à variável<br>
>>>> > escalar $resposta<br>
>>>> ><br>
>>>> > para o caso de você querer receber o resultado de cada thread criada,<br>
>>>> > vale à ideía do Buss de criar um array no loop aonde as threads são<br>
>>>> > criadas,<br>
>>>> > ficando mais ou menos assim:<br>
>>>> ><br>
>>>> > my @pool_thr;<br>
>>>> > for (my $i =1; $i = 5; $i++){<br>
>>>> >    $pool_thr[ $i ] = threads->create(\&sub1);<br>
>>>> > }<br>
>>>> ><br>
>>>> > sub sub1 {<br>
>>>> > ....<br>
>>>> > }<br>
>>>> ><br>
>>>> > quanto ao exemplo do servidor, mesmo com threads ou forks, enfim<br>
>>>> > vários processos em paralelo, você ainda terá outro provável gargalo,<br>
>>>> > que é a parte de rede,<br>
>>>> ><br>
>>>> > abs.<br>
>>>> > Japa<br>
>>>> ><br>
>>>> > 2012/3/11 Aureliano Guedes <<a href="mailto:guedes_1000@hotmail.com">guedes_1000@hotmail.com</a>>:<br>
>>>> >> Na verdade, eu acho que minha pergunta que foi feita de forma errada.<br>
>>>> >> Eu queria, por exemplo, dar ping em um servidor ate derruba-lo,<br>
>>>> >> contudo<br>
>>>> >> eu<br>
>>>> >> queria para isso enviar digamos, 5 pacotes simultaneos,<br>
>>>> >> inves de enviar 1 por vez.<br>
>>>> >><br>
>>>> >> Mas eu entendi quanto a usar o laço, talvez eu realmente faça isso.<br>
>>>> >> Contudo,<br>
>>>> >> usar<br>
>>>> >><br>
>>>> >> for (my $i =1; $i <= 5; $i++){<br>
>>>> >> my $thr = threads->create(\&sub1);<br>
>>>> >> }<br>
>>>> >><br>
>>>> >> não é o mesmo que usar apenas<br>
>>>> >><br>
>>>> >><br>
>>>> >> for (my $i =1; $i <= 5; $i++){<br>
>>>> >> &sub1;<br>
>>>> >> }<br>
>>>> >><br>
>>>> >> se a função do meu sub1 for apenas enviar pacotes a um servidor???<br>
>>>> >><br>
>>>> >> ________________________________<br>
>>>> >> From: <a href="mailto:bruno.buss@gmail.com">bruno.buss@gmail.com</a><br>
>>>> >> Date: Sun, 11 Mar 2012 22:29:06 -0300<br>
>>>> >><br>
>>>> >> To: <a href="mailto:rio-pm@pm.org">rio-pm@pm.org</a><br>
>>>> >> Subject: Re: [Rio-pm] Multi threads<br>
>>>> >><br>
>>>> >> 2012/3/11 Aureliano Guedes <<a href="mailto:guedes_1000@hotmail.com">guedes_1000@hotmail.com</a>><br>
>>>> >><br>
>>>> >> Opa, Bruno, valeu a resposta, mas vamos ver se eu entendi<br>
>>>> >><br>
>>>> >>  eu poderia fazer assim:<br>
>>>> >><br>
>>>> >>     use threads;<br>
>>>> >><br>
>>>> >><br>
>>>> >>     for (my $i =1; $i = 5; $i++){<br>
>>>> >>     my $thr = threads->create(\&sub1);<br>
>>>> >><br>
>>>> >><br>
>>>> >>     sub sub1 {<br>
>>>> >><br>
>>>> >>     }<br>
>>>> >> }<br>
>>>> >><br>
>>>> >> Mas assim não ocorreria  execução simultanea, certo? Pois cada<br>
>>>> >> execução<br>
>>>> >> iria<br>
>>>> >> ocorrer uma por vez a cada contagem do contador.<br>
>>>> >><br>
>>>> >><br>
>>>> >> A resposta para sua pergunta: errado.<br>
>>>> >> Porém sua explicação está "correta"... a cada iteração do for, será<br>
>>>> >> criada<br>
>>>> >> uma nova thread, então você terá disparado diversas threads até o<br>
>>>> >> final<br>
>>>> >> do<br>
>>>> >> for.<br>
>>>> >><br>
>>>> >> Agora, o ponto em ser simultâneo é um pouco mais complicado: depende<br>
>>>> >> de<br>
>>>> >> quantos cores tem seu sistema (se tiver menos cores que threads<br>
>>>> >> utilizadas,<br>
>>>> >> então as threads estarão executando de forma concorrente e não<br>
>>>> >> simultânea),<br>
>>>> >> depende do escalonador de tarefas do seu sistema operacional, dependo<br>
>>>> >> do que<br>
>>>> >> a sua sub1 faz, etc.<br>
>>>> >><br>
>>>> >> Mas acho que a sua dúvida é um pouco mais básica do que isso...<br>
>>>> >><br>
>>>> >> Fazer:<br>
>>>> >> for (my $i =1; $i <= 5; $i++){<br>
>>>> >> [alguma coisa]<br>
>>>> >> }<br>
>>>> >><br>
>>>> >> é essencialmente igual a fazer [alguma coisa] 5 vezes (tirando o fato<br>
>>>> >> que<br>
>>>> >> você pode utilizar o parâmetro do for para fazer alterações):<br>
>>>> >> [alguma coisa]<br>
>>>> >> [alguma coisa]<br>
>>>> >> [alguma coisa]<br>
>>>> >> [alguma coisa]<br>
>>>> >> [alguma coisa]<br>
>>>> >><br>
>>>> >> No seu caso,<br>
>>>> >> for (my $i =1; $i <= 5; $i++){<br>
>>>> >> my $thr = threads->create(\&sub1);<br>
>>>> >> }<br>
>>>> >><br>
>>>> >> É igual a fazer:<br>
>>>> >> my $thr = threads->create(\&sub1);<br>
>>>> >> my $thr = threads->create(\&sub1);<br>
>>>> >> my $thr = threads->create(\&sub1);<br>
>>>> >> my $thr = threads->create(\&sub1);<br>
>>>> >> my $thr = threads->create(\&sub1);<br>
>>>> >><br>
>>>> >> Que é exatamente o que você queria, não? ;-)<br>
>>>> >><br>
>>>> >> [ ]'s<br>
>>>> >> --<br>
>>>> >> Bruno C. Buss<br>
>>>> >> <a href="http://brunobuss.wordpress.com/" target="_blank">http://brunobuss.wordpress.com/</a><br>
>>>> >> <a href="http://www.dcc.ufrj.br/%7Ebrunobuss/" target="_blank">http://www.dcc.ufrj.br/~brunobuss/</a><br>
>>>> >><br>
>>>> >> _______________________________________________ Rio-pm mailing list<br>
>>>> >> <a href="mailto:Rio-pm@pm.org">Rio-pm@pm.org</a> <a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">http://mail.pm.org/mailman/listinfo/rio-pm</a><br>
>>>> >><br>
>>>> >> _______________________________________________<br>
>>>> >> Rio-pm mailing list<br>
>>>> >> <a href="mailto:Rio-pm@pm.org">Rio-pm@pm.org</a><br>
>>>> >> <a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">http://mail.pm.org/mailman/listinfo/rio-pm</a><br>
>>>> _______________________________________________<br>
>>>> Rio-pm mailing list<br>
>>>> <a href="mailto:Rio-pm@pm.org">Rio-pm@pm.org</a><br>
>>>> <a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">http://mail.pm.org/mailman/listinfo/rio-pm</a><br>
>>><br>
>>> _______________________________________________<br>
>>> Rio-pm mailing list<br>
>>> <a href="mailto:Rio-pm@pm.org">Rio-pm@pm.org</a><br>
>>> <a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">http://mail.pm.org/mailman/listinfo/rio-pm</a><br>
>> _______________________________________________<br>
>> Rio-pm mailing list<br>
>> <a href="mailto:Rio-pm@pm.org">Rio-pm@pm.org</a><br>
>> <a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">http://mail.pm.org/mailman/listinfo/rio-pm</a><br>
> _______________________________________________<br>
> Rio-pm mailing list<br>
> <a href="mailto:Rio-pm@pm.org">Rio-pm@pm.org</a><br>
> <a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">http://mail.pm.org/mailman/listinfo/rio-pm</a><br>
><br>
><br>
><br>
> _______________________________________________ Rio-pm mailing list<br>
> <a href="mailto:Rio-pm@pm.org">Rio-pm@pm.org</a> <a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">http://mail.pm.org/mailman/listinfo/rio-pm</a><br>
><br>
> _______________________________________________<br>
> Rio-pm mailing list<br>
> <a href="mailto:Rio-pm@pm.org">Rio-pm@pm.org</a><br>
> <a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">http://mail.pm.org/mailman/listinfo/rio-pm</a><br>
_______________________________________________<br>
Rio-pm mailing list<br>
<a href="mailto:Rio-pm@pm.org">Rio-pm@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/rio-pm" target="_blank">http://mail.pm.org/mailman/listinfo/rio-pm</a><br>
</div></div></blockquote></div><br>