LINUX.ORG.RU

Получить NS записи

 , ,


1

1

Стоит задача из списка доменов получить их NS записи в многопоточном режиме (максимально возможном) и записать результат в файл в виде:

domain.com;ns1.p13.dynect.net

domain.com;ns2.p13.dynect.net

Пока посоветовали только вариант

parallel -j+1 nslookup -query=NS

может есть способ побыстрей?



Последнее исправление: ridit (всего исправлений: 1)

может есть способ побыстрей?

Да.

parallel -j128 --pipe parallel -j250 nslookup ...

Если это будет слишком быстро, то попробуй просто parallel -j0 nslookup .... Или через xargs запараллель.

anonymous
()

в многопоточном режиме (максимально возможном) и записать результат в файл
может есть способ побыстрей?

Есть. Но непонятно, насколько он подойдет. Можно воспользоваться функциями resolver library. В классической книжке про DNS (со сверчком) есть короткое описание C API http://docstore.mik.ua/orelly/networking_2ndEd/dns/ch15_02.htm

Там же, в следующей главе, есть беглое описание Net::DNS для Perl

Вот пример на перле, как получить и напечатать NS-записи для домена: http://search.cpan.org/~nlnetlabs/Net-DNS-1.06/lib/Net/DNS.pm#Find_the_nameservers_for_a_domain.

Deleted
()
Ответ на: комментарий от ridit

Если это не лабораторная работа, то тут описаны некоторые фантазии по решению какой-то задачи, а не сама задача, о которой мы по прежнему ничего не знаем

zolden ★★★★★
()

Попробуй так

#!/usr/bin/perl

use strict;
use AnyEvent::DNS;
   
my $cv = AnyEvent->condvar;
my %result;
for my $host (@ARGV){
  $cv->begin;
  AnyEvent::DNS::ns $host, sub {  $result{$host} = \@_; $cv->end; };    
}
$cv->recv;
print join "\n", map { join ';', $_, @{$result{$_}} } keys %result;
perl anyev_ns.pl google.com yandex.ru yahoo.com rambler.ru
rambler.ru;ns2.rambler.ru;ns4.rambler.ru;ns5.rambler.ru;ns3.rambler.ru
yandex.ru;ns2.yandex.ru;ns1.yandex.ru
yahoo.com;ns3.yahoo.com;ns5.yahoo.com;ns6.yahoo.com;ns4.yahoo.com;ns1.yahoo.com;ns2.yahoo.com
google.com;ns3.google.com;ns2.google.com;ns4.google.com;ns1.google.com
pru-mike ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.