[SP-pm] [SOURCE CODE] Re: Um índice de utilização para a Linguagem Perl
André Garcia Carneiro
andre.garcia.carneir em terra.com.br
Quinta Maio 1 05:14:20 PDT 2008
O que acha de distribuir faixas de IP entre todos os membros na lista para rodar o código?
Cheers!
---------- Cabeçalho original -----------
De: saopaulo-pm-bounces+andre.garcia.carneir=terra.com.br em pm.org
Para: saopaulo-pm em mail.pm.org
Cópia:
Data: Thu, 01 May 2008 11:11:18 +0200
Assunto: [SP-pm] [SOURCE CODE] Re: Um índice de utilização para a Linguagem Perl
> Luis Motta Campos wrote:
> > Alguém se habilita para o código?
>
> Eu me habilito :D
>
> > Eu sugiro:
> >
> > LWP
> > Iterator
> > Net::IP
>
> Sugestão quase toda aceita. O Net::IP tem um iterador incorporado, não é
> preciso usar o módulo Iterator. ;)
>
> Me desculpem a demora, a minha máquina de lavar pratos me obrigou a
> lavar os pratos eu mesmo, ontem. :D
>
> Aqui tem uma linha que varre a faixa de IPs 200.0.0.0 - 200.255.255.255
> e encontra todos os webservers disponíveis nesta faixa, perguntando para
> cada um deles os headers para '/'.
>
> perl -MNet::IP -MLWP::UserAgent -le '$ip = Net::IP->new( q{200.0.0.0 -
> 200.255.255.255} ); $ua = LWP::UserAgent->new( timeout => 2 ); do{ my
> $i=$ip->ip; my $r = $ua->head( qq{http://$i} ); print qq{$i - } .
> ($r->is_success ? $r->header( q{server} ) : $r->status_line ) }while(
> ++$ip );'
>
> O meu problema agora é que isso é lento que dá dó (mesmo com timeouts
> ridículos como 2s).
>
> Uma amostra: eu varri um pedacinho da rede do iG:
>
> 200.226.133.70 - 500 Can't connect to 200.226.133.70:80
> 200.226.133.71 - 500 Can't connect to 200.226.133.71:80
> 200.226.133.72 - Apache/1.3.28 (Unix) mod_ssl/2.8.15 OpenSSL/0.9.7d
> 200.226.133.73 - 500 Can't connect to 200.226.133.73:80
> 200.226.133.74 - Microsoft-IIS/6.0
> 200.226.133.75 - Apache/2.2.8 (Unix)
> 200.226.133.76 - 500 Can't connect to 200.226.133.76:80
> 200.226.133.77 - Microsoft-IIS/6.0
> 200.226.133.78 - 500 Can't connect to 200.226.133.78:80
> 200.226.133.79 - 500 Can't connect to 200.226.133.79:80
> 200.226.133.80 - 500 Can't connect to 200.226.133.80:80
>
> Eu acho que a gente precisa dividir isso em vários processos e em vários
> hosts, para agilizar o processo.
>
> Também acho dispensável imprimir mensagens e IPs sobre falhas.
>
> Depois, a gente pode fazer um documento dizendo "95% dos webservers
> brazileiros suportam mod_perl na versão XXX".
>
> Quem vai fazer o scan?
>
> * * *
>
> Hum. Consultando http://www.iana.org/assignments/ipv4-address-space, eu
> descobri que existe mais faixas interessantes: os IPs alocados para o
> LACNIC (RIR da América do Sul e Caribe) são: 186.0.0.0/8, 187.0.0.0/8,
> 189.0.0.0/8, 190.0.0.0/8, 191.0.0.0/8, 200.0.0.0/8, e 201.0.0.0/8.
> Precisamos varrer todos estes ranges.
>
> * * *
>
> Noutra frente de trabalho, me sugeriram para tentar encontrar websites
> com ".br" (e que não estão no range 200.0.0.0/8, que a gente já cobriu).
>
> Alguém tem alguma sugestão de como "garimpar" os DNSs "ponto-br"?
>
> Putamplexos!
> --
> Luis Motta Campos (a.k.a. Monsieur Champs) is a software engineer,
> Perl fanatic evangelist, and amateur {cook, photographer}
> _______________________________________________
> SaoPaulo-pm mailing list
> SaoPaulo-pm em pm.org
> http://mail.pm.org/mailman/listinfo/saopaulo-pm
>
--
André Garcia Carneiro
Developer(Perl/PHP)
Member of "São Paulo Perl Mongers" - http://sao-paulo.pm.org
Mais detalhes sobre a lista de discussão SaoPaulo-pm