Resultados 1 a 2 de 2

Tópico: [Ruby/Perl] Verificador de domínios

  1. #1
    Veterano ingresso
    Data de Ingresso
    Jan 2011
    Localização
    Pguá ~ PR
    Posts
    2.363
    Post Thanks / Like

    Cool [Ruby/Perl] Verificador de domínios

    Salve!
    Um pouco sobre a ferramenta do gwebtools para verificar a disponibilidade de domínios:
    Antes de registrar e comprar um domínio, você pode usar esta ferramenta e verificar se determinado domínio está registrado em diversos países.
    Com algumas requisições podemos obter essas informações.
    Código PHP:
    #!/usr/bin/ruby

    require 'net/http'

    def entrada()
    doms =[
    '.AG','.BE',
    '.CO.NZ','.COM.BR','.EU',
    '.IT','.ME.UK',
    '.NET.AG','.ORG',
    '.ORG.TW','.TW','.AM','.BIZ',
    '.CO.UK','.COM.CN',
    '.GS','.JOBS','.MOBI',
    '.NET.CN','.ORG.AG',
    '.ORG.UK','.US',
    '.ASIA','.CA',
    '.COM','.COM.TW',
    '.IDV.TW','.JP',
    '.NAME',
    '.NET.NZ',
    '.ORG.CN','.TC',
    '.VG','.AT',
    '.CN','.COM.AG',
    '.DE','.INFO',
    '.ME','.NET',
    '.NU','.ORG.NZ',
    '.TV','.WS',
    ]
        
    system((RUBY_PLATFORM =~ /linux/) ? 'reset' 'cls')
        
    $_ ARGV[0] || abort("[-] Parâmetro inválido.\n")
        
    $_.sub('http://','')
        
    puts "[+] Domínio: #{d}\n\n"
        
    for i in doms do 
            
    Net::HTTP.get(URI("http://www.gwebtools.com.br/domain-checker/CheckDomain/name/#{d}/domain/#{i}"))
            if(
    =~ /Registered/)
                
    puts "\033[01;35m[-]\033[00;37m Domínio #{i} está registrado\n"    
            
    elsif(=~ /Available/)
                
    puts "\033[01;32m[+]\033[00;37m Domínio #{i} disponível\n"
            
    else
                
    puts "[-] Resultado desconhecido\n"
            
    end
            
        end
    end    

    entrada
    () 
    Código PHP:
    #!/usr/bin/perl

    use strict;
    use 
    warnings;
    use 
    WWW::Mechanize;

    our @doms = (
    '.AG','.BE',
    '.CO.NZ','.COM.BR','.EU',
    '.IT','.ME.UK',
    '.NET.AG','.ORG',
    '.ORG.TW','.TW','.AM','.BIZ',
    '.CO.UK','.COM.CN',
    '.GS','.JOBS','.MOBI',
    '.NET.CN','.ORG.AG',
    '.ORG.UK','.US',
    '.ASIA','.CA',
    '.COM','.COM.TW',
    '.IDV.TW','.JP',
    '.NAME',
    '.NET.NZ',
    '.ORG.CN','.TC',
    '.VG','.AT',
    '.CN','.COM.AG',
    '.DE','.INFO',
    '.ME','.NET',
    '.NU','.ORG.NZ',
    '.TV','.WS',
    );

    sub entrada
    {
        
    system(($^O ne 'linux')?'cls':'reset');
        die 
    "[-] Parâmetro não definido.\n" unless($ARGV[0]);
        
    my $d $ARGV[0];
        
    $d =~ s/^http:\/\///i;
        
    my $mech WWW::Mechanize->new();
        print 
    "[+] Domínio: $d\n\n";
        foreach(@
    doms)
        {
            
    my $res $mech->get("http://www.gwebtools.com.br/domain-checker/CheckDomain/name/$d/domain/$_");
            
    my $c $res->decoded_content;
            if(
    $c =~ /Registered/)
            {
                
    printf "\033[01;35m[-]\033[00;37m Domínio %s está registrado\n",$_;
            }
            
    elsif($c =~ /Available/)
            {
                
    printf "\033[01;32m[+]\033[00;37m Domínio %s disponível\n",$_;
            }
            else
            {
                print 
    "[-] Resultado desconhecido\n";
            }
        };
    };

    &
    entrada(); 
    Modo de utilização Ruby/Perl:
    $ nomedoscript.rb www.forum-invaders.com.br
    $ nomedoscript.pl www.forum-invaders.com.br
    Última edição por str0p; 02 Jan 2014 às 13:44.

  2. #2
    Membro Avançado ingresso
    Data de Ingresso
    Dec 2011
    Localização
    !/usr/bin/env perl
    Posts
    868
    Post Thanks / Like
    Só para brincar um pouco, fiz, na parte do Perl, mostrar algumas informações a mais:

    Código:
    #!/usr/bin/perl
    
    
    
    use strict;
    use warnings;
    use WWW::Mechanize;
    
    
    
    
    our @doms = (
    '.AG','.BE',
    '.CO.NZ','.COM.BR','.EU',
    '.IT','.ME.UK',
    '.NET.AG','.ORG',
    '.ORG.TW','.TW','.AM','.BIZ',
    '.CO.UK','.COM.CN',
    '.GS','.JOBS','.MOBI',
    '.NET.CN','.ORG.AG',
    '.ORG.UK','.US',
    '.ASIA','.CA',
    '.COM','.COM.TW',
    '.IDV.TW','.JP',
    '.NAME',
    '.NET.NZ',
    '.ORG.CN','.TC',
    '.VG','.AT',
    '.CN','.COM.AG',
    '.DE','.INFO',
    '.ME','.NET',
    '.NU','.ORG.NZ',
    '.TV','.WS',
    );
    
    
    
    
    sub entrada()
    {
        system(($^O ne 'linux')?'cls':'reset');
        die "[-] Parâmetro não definido.\n" unless($ARGV[0]);
        my $d = $ARGV[0];
    	my ($disponivel, $registrado);
        $d =~ s/^http:\/\///i;
        my $mech = WWW::Mechanize->new();
    	print "Iniciando análise em " . @doms . " domínios\n";
        print "[+] Domínio: $d\n\n";
        foreach(@doms)
        {
            my $res = $mech->get("http://www.gwebtools.com.br/domain-checker/CheckDomain/name/$d/domain/$_");
            my $c = $res->decoded_content;
            if($c =~ /Registered/)
            {
                printf "\033[01;35m[-]\033[00;37m Domínio %s está registrado\n",$_;
    			$registrado++;
            }
            elsif($c =~ /Available/)
            {
                printf "\033[01;32m[+]\033[00;37m Domínio %s disponível\n",$_;
    			$disponivel++;
            }
            else
            {
                print "[-] Resultado desconhecido\n";
            }
            
        };
    	
    	my $porcentagemDisponivel = $disponivel * 100 / @doms;
    	my $porcentagemRegistrado = $registrado * 100 / @doms;
    	
    	print "-----------------------\n";
    	print "Disponível: " . $disponivel . " (" . $porcentagemDisponivel . ")\n";
    	print "Registrado: ". $registrado . " (" . $porcentagemRegistrado . ")\n";
    	print "-----------------------\n";
    };
    
    
    
    
    &entrada();

Permissões de Postagem

  • Você não pode iniciar novos tópicos
  • Você não pode enviar respostas
  • Você não pode enviar anexos
  • Você não pode editar suas mensagens
  •