como o domaintools.com realiza sua pesquisa inversa de ip?

2

Estou tentando melhorar meu entendimento do sistema DNS e estou confuso sobre como domaintools.com consegue resolver todos os DNs associados a um endereço IP.

Depois de brincar com a escavação, estou preso.

Exemplo no domínio dressupgames.com

usando dig ::

$ dig +short dressupgames.com                                                                                      
173.231.156.28

$ dig +short -x 173.231.156.28                                                                                     
28.24/29.156.231.173.in-addr.arpa.

$ dig +short 28.24/29.156.231.173.in-addr.arpa
67.215.65.132

$ dig +short -x 67.215.65.132                                                                                      
hit-nxdomain.opendns.com.

$ dig +short hit-nxdomain.opendns.com
67.215.65.132

Presumivelmente, 173.231.156.28 é um apelido para 67.215.65.132 (?). Agora, usando a interface da Web do DomainTools link , recebo a promessa de 129 resultados.

Como posso encontrar esses resultados usando ferramentas de linha de comando?

    
por user15411 30.10.2012 / 16:58

2 respostas

6

O DNS não contém um mecanismo de pesquisa de IP automático para o nome do host. Ele possui registros PTR, mas eles são configurados manualmente e não correspondem aos registros A na maioria dos casos. Sites como domaintools.com simplesmente possuem um grande banco de dados de todos os mapeamentos avançados que eles descobriram e consultam isso quando um IP é procurado. Não é garantido que os resultados estejam completos ou atualizados.

    
por 31.10.2012 / 01:06
1

Eu sou o criador do host.io , que também mostra uma lista de todos os domínios hospedados no mesmo endereço IP (junto com uma lista de domínios que apontam para o domínio e mais). Por exemplo, aqui está uma lista de domínios hospedados no mesmo IP que stackoverflow.com: link

Como você descobriu, obter o endereço IP de um único domínio é apenas uma parte muito pequena da solução. Não existe um único comando ou script que você possa escrever para fazer isso - você precisa criar seu próprio banco de dados de domínios para o endereço IP, que é exatamente o que o DomainTools, nós e outros como nós fazemos.

Primeiro, precisa obter (ou criar) uma lista de todos os nomes de domínio disponíveis. Existem aproximadamente 250 milhões atualmente. O próximo passo é resolver todos esses domínios para um endereço IP. Em seguida, você precisa armazenar todos esses pares de domínio para IP em um banco de dados e, em seguida, pode consultar para obter uma lista de todos os domínios no mesmo IP. E então você precisa fazer isso em uma frequência regular para garantir que ele fique atualizado.

Para dar um exemplo completo, vamos criar um arquivo com 4 domínios e resolvê-los para endereços IP:

$ cat domains.txt
facebook.com
fb.com
stackoverflow.com
stackexchange.com

# Let's resolve the domains to IPs with dig - could use nslookup or similar
$ cat domains.txt | xargs -I% bash -c "dig +short % | tail -n1" > ips.txt
31.13.76.68
31.13.76.68
151.101.129.69
151.101.193.69

# Let's combine the domains and IPs using paste
$ paste domains.txt ips.txt > combined.tsv
$ cat combined.tsv
facebook.com    31.13.76.68
fb.com  31.13.76.68
stackoverflow.com   151.101.129.69
stackexchange.com   151.101.129.69

# Let's create a DB table and import the data, and write a query 
# to find any domains in our dataset that are hosted on the same 
# domain as stackoverflow.com

$ psql $DB_URL

=> create table details (domain text, ip text);
=> \copy details from ~/combined.tsv;

=> select domain from details where ip = (select ip from details where domain = 'stackoverflow.com');
      domain
-------------------
 stackoverflow.com
 stackexchange.com
(2 rows)
    
por 07.11.2018 / 20:39