Работа с DNS серверами на PHP
Рассмотрим функции, которые есть в PHP для работы с DNS серверами. Наиболее часто возникает задача получения имени хоста тспользуя его IP-адрес, другие задачи встречаются значительно реже.
Функция gethostbyname
Синтаксис:
string gethostbyname(string hostname)
Пример использования фунции gethostbyname
<?
$hostname = «localhost»;
$ip_address = gethostbyname($hostname);
echo («IP-адрес $hostname: $ip_address»);
?>
Функция gethostbynamel
string gethostbynamel(string hostname)
Многие компьютеры имеют несколько IP-адресов, особенно типична такая ситуация для различных серверов. Получить полный список IP-адресов, соответствующих данному имени компьютера, можно с помощью функции gethostbynamel, действующей аналогично функции gethostbyname. Другая ситуация, в которой полезно применение этой функции, возникает, когда одно имя DNS соответствует нескольким компьютерам. Это бывает при работе с DNS серверами, поддерживающими механизм кругового распределения нагрузки, при котором одно имя DNS сервера отображается на несколько компьютеров в локальной сети этого сервера.
Возвращаемый список IP-адресов функция gethostbynamel помещает в массив:
<?
$hostname = «localhost»;
$ip_addresses = gethostbyname($hostname);
echo(«The IP adresses of ‘$hostName’ are: <br>\n»);
foreach($ip_adresses as $index => $val)
{
echo(«$val»);
}
?>
Функция gethostbyaddr
Эта функция принимает в качестве аргумента IP-адрес и возвращает соответствующее ему имя хоста:
<?
$ip_address = «127.0.0.1»;
$hostname = gethostbyaddr ($ip_address);
echo («Имя хоста с IP-адресом $ip_address: $hostname»);
?>
Функция checkdnsrr
string checkdnsrr(string hostname [, string type])
DNS сервер сохраняет немало полезной информации о хосте, для чего используются так называемые записи ресурсов, которые имеют следующие типы:
A (Запись содержит IP-адрес хоста);
CNAME (Запись содержит псевдоним хоста);
NS (Запись содержит имя DNS-сервера, являющегося авторитетным для поддо-мена. Авторитетным является такой DNS-сервер, который замыкает цепочку DNS-запросов);
МХ (Запись содержит Имя хоста почтового ретранслятора в домене, которому принадлежит данный хост. В этой записи также хранится значение коэффициента предпочтения для почтового ретранслятора);
PTR (Запись хранит отображения IP-адресов в имена).
Функция checkdnsrr находит на DNS-сервере записи ресурсов вида type для хоста hostname.
Примечание
Этой функции нет на Windows-платформах.
31 августа, 2008 at 11:49
Познавательная статья, да и сам сайт я смотрю очень даже не плох. Наткнулся по поиску из Google, посоветую друзьям