Сетевые функции

Сетевые функции

ip2long

Производит конвертацию строки адреса IPv4 в число.

Синтаксис:

int ip2long(string ip_address);

Функция ip2long() возвращает четырех байтовое численное представление адреса IP v4 из строки (числа, разделенные точками, например: "127.0.0.1").

// получить IP адрес хоста

$ip=gethostbyname("www.php.net");

echo "Следующие URL эквивалентны:<br>";

echo "http://www.php.net/, http://".$ip.

"/, и http://".ip2long($ip)."/<br>";

long2ip

Производит конвертацию числа в строку адреса IP v4.

Синтаксис:

string long2ip(int proper_address);

Функция long2ip() возвращает строковое представление IP-адреса (в формате: "aaa.bbb.ccc.ddd") из численного представления.

gethostbyaddr

Возвращает имя хоста, который соответствует заданному IP-адресу.

Синтаксис:

string gethostbyaddr(string ip_address);

Функция gethostbyaddr() возвращает доменное имя хоста, заданного своим IP-адресом. В аргументе указывается адрес IP в строковом формате. В случае ошибки возвращает ip_address.

Надо отметить, что функция не гарантирует, что полученное имя на самом деле будет соответствовать действительности. Она лишь опрашивает хост по адресу ip_address и просит его сообщить свое имя. Владелец хоста, таким образом, может передавать все, что ему заблагорассудится.

echo gethostbyaddr("127.0.0.1");

gethostbyname

Возвращает IP-адрес хоста.

Синтаксис:

string gethostbyname(string hostname);

Функция gethostbyname() получает в параметрах доменное имя хоста и возвращает его IP-адрес. Если адрес определить не удалось, функция возвращает hostname.

gethostbynamel

Возвращает список IP-адресов хоста.

Синтаксис:

array gethostbynamel(string hostname);

Одному доменному имени может соответствовать сразу несколько IP-адресов, и в случае сильной загруженности серверов DNS-сервер сам выбирает, по какому IP-адресу перенаправить запрос. Он выбирает тот адрес, который использовался наиболее редко.

Функция gethostbynamel() возвращает не один, а все IP-адреса хоста с именем hostname.

Стоит заметить, что в Интернете существует множество виртуальных хостов, которые имеют различные доменные имена, но один и тот же IP-адресс. Таким образом, если следующая последовательность команд для существующего хоста с IP-адресом ip всегда печатает этот же адрес:

$host = gethostbyaddr($ip);

echo gethostbyname($host);

то аналогичная последовательность для домена с DNS-именем $host, наоборот, может напечатать не то же имя, а другое:

$ip = gethostbyname($host);

echo gethostbyaddr($ip);

getprotobyname

Производит определение номера порта, используемого протоколом.

Синтаксис:

int getprotobyname(string name);

getprotobynumber

Производит определение протокола порта.

Синтаксис:

string getprotobynumber(int number);

getservbyname

Производит определение протокола интернет-службы.

Синтаксис:

int getservbyname(string service, string protocol);

Эта функция возвращает номер порта, который использует служба service.

В аргументе protocol указывается тип протокола - TCP или UDP.

echo getservbyname("HTTP", "TCP"); // может вывести 80

getservbyport

Производит определение интернет-службы, которая использует заданный порт.

Синтаксис:

string getservbyport(int port, string protocol);

Здесь в аргументе protocol нужно указать тип протокола - TCP либо UDP.

echo getservbyport(21, "TCP"); // выведет: ftp

echo getservbyport(23, "TCP"); // выведет: telnet

checkdnsrr

Производит проверку записи DNS.

Синтаксис:

int checkdnsrr(string host [, string type]);

Эта функция отправляет запрос DNS-серверу для поиска записей, которые имеются для хоста host. Если были найдены записи типа type, то функция возвращает true. В противном случае и при ошибке - false.

Аргумент typeможет принимать значения:

Аргумент host может указываться строкой в формате IP с разделением точками, либо быть именем хоста.

getmxrr

Производит получение MX записи для интернет-хоста.

Синтаксис:

int getmxrr(string hostname, array mxhosts [, array weight]);

Функция getmxrr() инициирует поиск в базе данных DNS записи MX (почтовый сервер домена) для хоста hostname.

Если запись найдена, возвращает true, если нет - то false.

Список записей MX заносится в массив mxhosts. Если указан массив weight, он заполняется дополнительной информацией о записях.