Все DNS записи

MisterX

Guest
Все DNS записи

Как можно получить ВСЕ(!) dns записи хоста ? Т.е. нужно что-то типа getmxrr(), но не только для записей MX, но и для A, NS, SOA, RP, TXT, LOC, PTR, ...
P.S. Вообще странно что функция getmxrr() есть, а функций getarr(), getnsrr(), getsoarr(), ... нет.

Нужен слудующий результат, например, для yahoo.com
yahoo.com IN A 64.58.79.230 535s (8m 55s)
yahoo.com IN A 66.218.71.198 535s (8m 55s)
yahoo.com IN NS ns1.yahoo.com 5935s (1h 38m 55s)
yahoo.com IN NS ns2.yahoo.com 5935s (1h 38m 55s)
yahoo.com IN NS ns3.yahoo.com 5935s (1h 38m 55s)
yahoo.com IN NS ns4.yahoo.com 5935s (1h 38m 55s)
yahoo.com IN NS ns5.yahoo.com 5935s (1h 38m 55s)
yahoo.com IN SOA server: ns1.yahoo.com
email: [email protected]
serial: 2003041403
refresh: 900
retry: 300
expire: 604800
minimum ttl: 600
535s (8m 55s)
yahoo.com IN MX preference: 1
exchange: mx1.mail.yahoo.com
5935s (1h 38m 55s)
yahoo.com IN MX preference: 1
exchange: mx2.mail.yahoo.com
5935s (1h 38m 55s)
yahoo.com IN MX preference: 5
exchange: mx4.mail.yahoo.com
5935s (1h 38m 55s)
yahoo.com IN RP email: [email protected]
txt domain: contact.yahoo.com
535s (8m 55s)
contact.yahoo.com IN TXT Yahoo general phone: +1 408 349 3300 1800s (30m)
contact.yahoo.com IN TXT US postal: 701 1st Ave, Sunnyvale CA 94089 1800s (30m)
yahoo.com IN LOC version: 0
size: 100m
horz precision: ±50m
vert precision: ±1m
longitude: 37є 23' 30.900" N
latitude: 121є 59' 19.000" W
altitude: 7m
 

MisterX

Guest
> http://pear.php.net/package-info.php?pacid=59 тебе поможет.

Помогло конечно, да не совсем. Проект хороший, но не дописанный и знает всего 6 типов записей. Может быть есть еще что-нибудь подобное, но в стадии Release ?

to Georgy: по ssh не подходит, нужно на голом php.
 

MisterX

Guest
> http://phpresolver.sourceforge.net
> я юзаю ету штуку.. вроде ниче, с пивом пойдет

У меня это даже со спиртом не пошло! Для yahoo.com всего одна запись SOA и все! Может DNS сервер какой-то кривой -66.35.250.11. Screjet ты пользовался этим DNS сервером или другим ?
 

kvn

programmer
А на 53 порт законнектиться..?

Ну или заекзекать nslookup?
не кроссплатформенно, зато получишт все, что хочешь..
 

MisterX

Guest
А общаться на 53 порту теми же командами что и в nslookup ?
Как определить nameserver для хоста ? Т.е. к примеру для получения информации по yahoo.com запрос на какой сервер слать ?
 

nagash

Guest
а ты вообще пользуйся своим хостингом... пускай он всё рыскает...
пример


$pingcount = 4; // Количество посылаемых пакетов
$command = "ping -c".$pingcount." ".$server;
exec($command, $result);
for ($i=1; $i <count($result); $i++) {
echo $result[$i]."<br>";
}
 

MisterX

Guest
А если использовать nslookup через exec, то как обеспечить мгновенный вывод результата, а не после завершения работы команды ?
 

Screjet

Новичок
Автор оригинала: tony2001
в PHP5 будет dns_get_record();
Будь любезен, подскижи, плз
В исходниках php5-200304151930 я выкопал, что реализация этой функции готова к использованию, есть директива:
Код:
#define HAVE_DNS_FUNCS 1
отвечающая за включение этой функции.
Но вот после компиляции ПХП выдает "Undefined function".
Что не так?
 
Сверху