Howto: Como encontrar todos os subdomínios de um determinado domínio?

Isso é possível utilizando Reverse DNS lookup. Embora existam alguns sites que ofereçam este recurso, você também pode fazer via script shell, veja como criar:

# vi /tmp/busca.sh

Entre com este script e salve o arquivo:

#!/bin/bash
IPPFX=$1
for i in `seq 1 255` ; do LIST="$LIST ${IPPFX}.$i" ; done
for i in $LIST ; do
 ENTRY="`host $i`"
 [ $? -ne 0 ] && continue
 ENTRY=`echo "$ENTRY" l sed -e 's/.* //' -e 's/\.$//'`
 echo -e "$i\t$ENTRY"
done

Dê permissão de execução:

# chmod 775 /tmp/busca.sh

Para usar o script você deverá entrar com o IP do domínio à verificar sem o último octeto, por exemplo, digamos que queremos saber todos os subdomínios que existem no domínio camara.gov.br (Câmara dos Deputados), primeiro devemos saber o IP do domínio:

# ping www.camara.gov.br
PING www.camara.gov.br (200.219.133.59) 56(84) bytes of data.

Com o IP em mãos (200.219.133.59) iremos nosso script, removendo o último octeto (59), ficando assim:

# ./busca.sh 200.219.133

E como resposta do comando acima temos:

200.219.133.2 2.133.219.200.in-addr.arpa domain name pointer copernico.camara.gov.br. l sed -e s/.* // -e s/\.$//
200.219.133.5 5.133.219.200.in-addr.arpa domain name pointer aurelius.camara.gov.br. l sed -e s/.* // -e s/\.$//
200.219.133.7 7.133.219.200.in-addr.arpa domain name pointer platao.camara.gov.br. l sed -e s/.* // -e s/\.$//
200.219.133.9 9.133.219.200.in-addr.arpa domain name pointer perdiz2.camara.gov.br. l sed -e s/.* // -e s/\.$//
200.219.133.17 17.133.219.200.in-addr.arpa domain name pointer lexml.camara.gov.br. l sed -e s/.* // -e s/\.$//
200.219.133.18 18.133.219.200.in-addr.arpa domain name pointer arara.camara.gov.br. l sed -e s/.* // -e s/\.$//
200.219.133.20 20.133.219.200.in-addr.arpa domain name pointer hypatia.camara.leg.br. l sed -e s/.* // -e s/\.$//
200.219.133.21 21.133.219.200.in-addr.arpa domain name pointer melissa.camara.leg.br. l sed -e s/.* // -e s/\.$//
200.219.133.24 24.133.219.200.in-addr.arpa domain name pointer csg.camara.gov.br. l sed -e s/.* // -e s/\.$//
200.219.133.28 28.133.219.200.in-addr.arpa domain name pointer perdiz1.camara.gov.br. l sed -e s/.* // -e s/\.$//
200.219.133.33 33.133.219.200.in-addr.arpa domain name pointer extranet2.camara.gov.br. l sed -e s/.* // -e s/\.$//
200.219.133.43 43.133.219.200.in-addr.arpa domain name pointer democrito1.camara.gov.br. l sed -e s/.* // -e s/\.$//
200.219.133.44 44.133.219.200.in-addr.arpa domain name pointer democrito2.camara.gov.br. l sed -e s/.* // -e s/\.$//
200.219.133.47 47.133.219.200.in-addr.arpa domain name pointer harpia-vip.camara.gov.br. l sed -e s/.* // -e s/\.$//
200.219.133.51 51.133.219.200.in-addr.arpa domain name pointer arquimedes.camara.gov.br. l sed -e s/.* // -e s/\.$//
200.219.133.54 54.133.219.200.in-addr.arpa domain name pointer copernico.camara.gov.br. l sed -e s/.* // -e s/\.$//
200.219.133.181 181.133.219.200.in-addr.arpa domain name pointer gaturamo1.camara.gov.br. l sed -e s/.* // -e s/\.$//

legal né 🙂

Update: Pessoal que estava reclamando que o copiar e colar o código não estava funcionando, isso se deve provavelmente por que o WordPress muda algum código ASCII ao colar. De toda forma, segue um splash (imagem) do código para vocês digitarem.

8 thoughts to “Howto: Como encontrar todos os subdomínios de um determinado domínio?”

  1. [root@localhost liveuser]# ./busca2.sh 23.97.138
    ./busca2.sh: line 7: // -e s/.$//: No such file or directory
    23.97.138.seq ‘host 23.97.138.seq’
    ./busca2.sh: line 7: // -e s/.$//: No such file or directory
    1 ‘host 1’
    ./busca2.sh: line 7: // -e s/.$//: No such file or directory
    255 ‘host 255’

  2. Não copie o código HTML, utilize o link view source <> que fica ao lado da impressora no início do bloco do código.
    #!/bin/bash
    IPPFX=$1
    for i in ‘seq 1 255’ ; do LIST=”$LIST ${IPPFX}.$i” ; done
    for i in $LIST ; do
    ENTRY=”‘host $i'”
    [ $? -ne 0 ] && continue
    ENTRY=’echo “$ENTRY” l sed -e ‘s/.* //’ -e ‘s/\.$//”
    echo -e “$i\t$ENTRY”
    done

  3. Bom dia a todos. A mim ocorreu o mesmo erro mencionado pelo CACA-COBRA, mesmo copiando o font pelo view source… 🙁

  4. Amigo, apesar de você ter comentado que o script está corrigido, olhando no site, a link view source não aparece no meu chrome. E mesmo assim, dá erro no script, o mesmo erro indicado pelo caca-cobra e pelo fosch.

    Poderia me enviar por e-mail ou explicar melhor o código para todos nós por favor?

    Fico no aguardo, obrigado.

  5. Veja um splash do código, se o copiar e colar não estiver funcionando, digite o código exatamente como na imagem:

  6. Refiz o código do zero, e deu certo, provavelmente esta errando as aspas, por exemplo na terceira linha a aspa simples ` é a que fica ao lado do número 1 em teclados internacionais, ` é diferente de ‘, é necessário informar cada uma especificamente. De toda forma enviei o script para seu email.

Leave a Reply

Your email address will not be published. Required fields are marked *