обратный обратный dns резолвинг

12
V
На сайте с 25.07.2006
Offline
128
7453

Как известно, зона in-addr.arpa позволяет задавать соответствие ip-адреса доменному имени.

Теоретически и практически множество ip могут резолвится в одно и то же доменное имя.

Например, датацентры обычно никак не ограничивают пользователей в задании имен для арендованных ip.

Вопрос.

Как найти ВСЕ ip, которые резолвятся в заданное доменное имя?

Я понимаю, что такой ДНС-запрос дать невозможно. Но может быть есть сервисы, анлогичные myipneighbors или где-то можно скачать "полное собрание сочинений" зоны in-addr.arpa?..

Приватный linux-администратор
O
На сайте с 13.08.2008
Offline
26
#1
vapetrov:

Вопрос.
Как найти ВСЕ ip, которые резолвятся в заданное доменное имя?

Никак. С учетом возможности делегирования кусков in-addr.arpa. на обслуживание владельцам блоков - а те, в свою очередь имеют полное право держать эту зону в отдельном view - например, исключительно для своих клиентов.

Outsourcenow.ru: оттюним ваш веб-сервер. 100 млн. запросов в сутки - наш размерчик!
N
На сайте с 06.05.2007
Offline
419
#2

Ну почему сразу никак? 4 млрд адресов. Пишете простейший скрипт и за полгодика все отрезолвится.

View, конечно, засада, но для обратных адресов вряд ли их применяют. Скорее, вы наблюдали неправильную конфигурацию dns когда провайдер зоны поднял, но прописывать в сетевом центре ничего не стал или не смог.

Кнопка вызова админа ()
O
На сайте с 13.08.2008
Offline
26
#3
netwind:
ну почему сразу никак? 4 млрд адресов. пишете простейший скрипт и за полгодика все отрезолвится.

Что и куда у вас отрезолвится, из, например, пресловутого вахома, если обратные зона для, скажем, 3.4.5.0/8 резолвится только из 3.0.0.0/8 ?

N
На сайте с 06.05.2007
Offline
419
#4

все резолвится :

host 3.4.5.0

0.5.4.3.in-addr.arpa domain name pointer n003-000-000-000.static.ge.com.

То, что там в каких-то внутренних сетях резолвится иначе в контексте задачи уже не важно.

V
На сайте с 25.07.2006
Offline
128
#5
netwind:
Ну почему сразу никак? 4 млрд адресов. Пишете простейший скрипт и за полгодика все отрезолвится

В том и вопрос, может кто-то это уже сделал и результаты доступны общественности в каком-то виде...

N
На сайте с 06.05.2007
Offline
419
#6

Вот так у нас все вебстроительство : "А может кто-то уже сломал, украл и выложил".

Да не нужно это никому кроме вас. Лучше поведайте какую цель вы пытаетесь достичь с помощью такой базы. Может есть другие пути.

Весь софт приучен проверять обратную зону прямым запросом. Защиту по имени хоста никто не делает, кроме как в полностью контролируемых сетях.

Хотите узнать сети поисковиков и фирм - вам в maxmind. Там хотя бы блоки сетей крупные и поиск перебором вполне реальный и занимает всего-то часы.

V
На сайте с 25.07.2006
Offline
128
#7
netwind:
Вот так у нас все вебстроительство : "А может кто-то уже сломал, украл и выложил"

Странное мнение...

Чего ломать-то? Информация общедоступная.

Весь open source построен на том, чтобы не повторять велосипед, который кто-то уже сделал...

N
На сайте с 06.05.2007
Offline
419
#8

Весь opensource - свалка решений удобных конкретному человеку. Интерактивная кооперативная постоянно изменяющаяся база данных обратных резолвов и так нормально работает и всех устраивает кроме вас.

Если ваши задачи не точно такие же, и вы не готовы вложить ресурсы в этот опенсорс - вы в пролете.

Почему на остальные абзацы не отвечаете? Цель поведать не хотите? Так вы опять в пролете.

O
На сайте с 13.08.2008
Offline
26
#9
netwind:
Весь opensource - свалка решений удобных конкретному человеку.
Если ваши задачи не точно такие же, и вы не готовы вложить ресурсы в этот опенсорс - вы в пролете.

Очень, очень хорошо сказано. Схоронил в уголочке.

s.mikael
На сайте с 25.06.2009
Offline
10
#10

Это ?


#!/usr/bin/perl
use strict;
use Net::DNS;
use Net::IP;

# Check our arguments are valid and if not then bail out.
my $network = $ARGV[0];
if($network !~ /^\d+\.\d+\.\d+\.\d+\/\d+$/)
{
print "Usage: $0 x.x.x.x/x\n";
print "Where x.x.x.x/x is the network to list\n";
exit;
}

# Create a resolver for resolving our reverse DNS lookups.
my $res = Net::DNS::Resolver->new;

# Create an IP object to save us from having to write some complex code to work out IPs.
my $IP= new Net::IP($network) or die("Unable to create network object for $network\n");

# Loop through each IP in the range
do
{
# create the reverse lookup DNS name (note that the octets in the IP address need to be reversed).
my $target_IP = join('.', reverse split(/\./, $IP->ip())).".in-addr.arpa";

# Perform a query on the produced name. (note we want the PTR records for the name).
my $q = $res->query("$target_IP", "PTR");

if($q)
{
# If the query was valid then get the answer.
my $r = ($q->answer)[0];
# If the query produces something other than a PTR record there is something wrong so die.
if($r->type ne "PTR") { die "not PTR"; }
# If we get here then everthing is fine and we can display our answer.
print $r->rdatastr."\n";
}
} while (++$IP); # Keep looping though IPs until we have tried them all.

нужны libnet-ip-perl и libnet-dns-perl

Администрирование и тех.поддержка серверов (/ru/forum/500760) icq 557062281
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий