Pular para o conteúdo principal

Net::DNS - o scraper resolve domínios em endereços IP

Visão geral do scraper

Visão geral do scraperNet::DNSNet::DNS – coleta registros DNS de um nome de domínio. Resolução em massa automatizada de uma base de domínios, verificação de disponibilidade de domínios.

A funcionalidade do A-Parser permite salvar as configurações de extração de dados do scraper Net::DNS para uso posterior (presetes), definir cronogramas de extração de dados e muito mais.

A gravação dos resultados é possível no formato e estrutura que você desejar, graças ao poderoso construtor de modelos integrado Template Toolkit, que permite aplicar lógica adicional aos resultados e exibir dados em vários formatos, incluindo JSON, SQL e CSV.

Dados coletados

  • Lista de endereços IP
  • Servidor DNS utilizado em caso de consulta bem-sucedida
  • Registro DNS de qualquer tipo (exibidos em formato JSON, o que permite obter convenientemente seus parâmetros individuais)

Variantes de uso

  • Resolução de bases de domínios
  • Verificação de disponibilidade de domínios

Consultas

Como consultas, é necessário indicar uma lista de domínios, por exemplo:

a-parser.com  
yandex.ru
google.com
vk.com
facebook.com
youtube.com

Variantes de exibição de resultados

O A-Parser suporta formatação flexível de resultados graças ao construtor de modelos integrado Template Toolkit, o que permite exibir resultados em forma livre, bem como estruturada, como CSV ou JSON

Exibição padrão

Formato do resultado:

$query: $ip ($ips.format('$ip, '))\n

O resultado exibe o domínio e seus endereços IP:

youtube.com: 173.194.70.136 (173.194.70.136, 173.194.70.190, 173.194.70.93, 173.194.70.91, )  
google.com: 46.28.247.98 (46.28.247.98, 46.28.247.89, 46.28.247.84, 46.28.247.108, 46.28.247.119, 46.28.247.114, 46.28.247.88, 46.28.247.94, 46.28.247.99, 46.28.247.109, 46.28.247.93, 46.28.247.104, 46.28.247.113, 46.28.247.118, 46.28.247.123, 46.28.247.103, )
facebook.com: 173.252.110.27 (173.252.110.27, )
a-parser.com: 176.9.9.90 (176.9.9.90, )
vk.com: 87.240.143.244 (87.240.143.244, 87.240.131.120, )
yandex.ru: 93.158.134.11 (93.158.134.11, 213.180.193.11, 213.180.204.11, 77.88.21.11, 87.250.250.11, )

Salvamento em formato SQL

Formato do resultado:

[% "INSERT INTO dns VALUES('" _ query _ "', '" _ ip _ "', '" _ ips.format('$ip, ') _ "')\n" %]

Exemplo de resultado:

INSERT INTO dns VALUES('vk.com', '87.240.190.67', '87.240.190.67, 87.240.190.72, 87.240.190.78, 93.186.225.208, 87.240.137.158, 87.240.139.194, ')
INSERT INTO dns VALUES('a-parser.com', '176.9.9.90', '176.9.9.90, ')
INSERT INTO dns VALUES('yandex.ru', '5.255.255.50', '5.255.255.50, 77.88.55.50, 77.88.55.88, 5.255.255.5, ')
INSERT INTO dns VALUES('facebook.com', '157.240.19.35', '157.240.19.35, ')
INSERT INTO dns VALUES('youtube.com', '172.217.171.238', '172.217.171.238, ')

Dump de resultados em JSON

Formato geral do resultado:

[% IF notFirst;
",\n";
ELSE;
notFirst = 1;
END;

obj = {};
obj.query = query;
obj.ips = p1.ips;

obj.json %]

Texto inicial:

[

Texto final:

]

Exemplo de resultado:

[
{"ips":[{"ip":"176.9.9.90"}],"query":"http://a-parser.com/"},
{"ips":[{"ip":"172.217.173.78"}],"query":"http://google.com/"},
{"ips":[{"ip":"77.88.55.60"},{"ip":"77.88.55.66"},{"ip":"5.255.255.55"},{"ip":"5.255.255.60"}],"query":"http://yandex.ru/"},
{"ips":[{"ip":"172.217.25.14"}],"query":"http://youtube.com/"},
{"ips":[{"ip":"87.240.190.78"},{"ip":"93.186.225.208"},{"ip":"87.240.137.158"},{"ip":"87.240.139.194"},{"ip":"87.240.190.67"},{"ip":"87.240.190.72"}],"query":"http://vk.com/"},
{"ips":[{"ip":"157.240.196.35"}],"query":"http://facebook.com/"}
]
dica

Para que as opções "Prepend text" e "Append text" estejam disponíveis no Editor de tarefas, é necessário ativar "More options".

Configurações possíveis

ParâmetroValor padrãoDescrição
DNS Servers208.67.220.220, 8.8.8.8Suporte para múltiplos servidores separados por vírgula
Not found is errorPermite verificar novamente respostas falsas de servidores DNS
Rotation typeConsistentlyMétodo de seleção do próximo servidor DNS (Sequencial/Aleatório)
Ban not working serversBanimento de servidores que não funcionam por algoritmo heurístico por 20 minutos; se restar apenas um servidor, ele não será banido
Query typeA - Address recordPermite escolher o tipo de registro