Работа с DNS в PHP
04.05.2008
В данной статье будут рассмотрены инструменты в PHP предназначенные для работы с DNS.
Зачастую возникает задача получения имени хоста по его IP-адресу.
Теперь непосредственно перейдем к рассмотрению задачи получения IP-адреса по имени хоста. Для ее решения используют две функции:
-
string gethostbyname ( string $hostname );
-
array gethostbynamel ( string $hostname );
Обе функции в качестве аргумента принимают строку, которая содержит имя хоста (компьютера).
Разница между ними заключается лишь в том, что gethostbyname() возвращает строку с соответствующим IP-адресом компьютера, а gethostbynamel() - массив.
gethostbynamel() полезна в том случае, когда необходимо получить полный список IP-адресов, которые соответствуют данному доменному имени.
Чтобы получить доменное имя по известному IP-адресу, необходимо воспользоваться функцией:
string gethostbyaddr ( string $ip_address )
Входящий параметр - строка с IP-адресом искомого сервера, возвращаемое значение - строка с доменным именем.
Для того чтобы получить список почтовых ретрансляторов необходимого домена, используют:
bool getmxrr ( string $hostname , array &$mxhosts [, array &$weight ] )
Аргументы:
$hostname - имя хоста;
&$mxhosts - массив, который будет заполнен списком почтовых ретрансляторов;
&$weight - необязательный параметр. Если он указан, то он будет заполнен значениями предпочтения, которые возвращает почтовый ретранслятор.
Ниже представлены еще несколько полезных функций:
int getprotobyname ( string $name )
по имени TCP/IP протокола определяет его номер.
string getprotobynumber ( int $number )
по номеру TCP/IP протокола возвращает его имя.
int getservbyname ( string $service , string $protocol )
принимает в качестве аргументов: $service - имя службы и $protocol - и один из транспортных протоколов (TCP или UDP). Возвращает номер порта, через который работает данная служба.
string getservbyport ( int $port , string $protocol )
входные параметры: $port - номер порта и $protocol - протокол. Возвращает имя службы.
Tags: PHP
Оставить комментарий