11.21. Другая информация о сетях

11.21. Другая информация о сетях

В этой главе мы сфокусировали внимание на именах узлов, IP-адресах, именах и номерах портов служб. Если же обобщить полученную информацию, мы увидим, что существует четыре типа данных (имеющих отношение к сетям), которые могут понадобиться приложению: узлы, сети, протоколы и службы. В большинстве случаев происходит поиск данных, относящихся к узлам (функции gethostbyname и gethostbyaddr), реже — к службам (функции getservbyname и getservbyaddr) и еще реже — к сетям и протоколам.

Все четыре типа данных могут храниться в файле, и для каждого из четырех типов определены три функции:

1. Функция getXXXent, читающая следующую запись в файле, при необходимости открывающая файл.

2. Функция setXXXent, которая открывает файл (если он еще не открыт) и переходит к началу файла.

3. Функция endXXXent, закрывающая файл.

Для каждого из четырех типов данных определяется его собственная структура (соответственно, структуры hostent, netent, protoent и servent), что требует включения заголовка <netdb.h>.

В дополнение к трем функциям get, set и end, которые допускают последовательную обработку файла, для каждого из четырех типов данных предоставляются функции ключевого поиска, или поиска по ключу (keyed lookup). Эти функции последовательно проходят файл (вызывая функцию getXXXent для чтения каждой строки файла), но вместо того чтобы возвращать каждую строку вызывающему процессу, эти функции ищут элемент, совпадающий с аргументом. Имена функций поиска по ключу имеют вид getXXXbyYYY. Например, две функции ключевого поиска для информации об узле — это функции gethostbyname (ищет элемент, совпадающий с именем узла) и gethostbyaddr (ищет элемент, совпадающий с IP-адресом). Таблица 11.5 обобщает эту информацию.

Таблица 11.5. Четыре типа данных, относящихся к сетям

Тип данных Файл Структура Функции поиска по ключу
Узлы /etc/hosts Hostent gethostbyaddr, gethostbyname
Сети /etc/networks Netent getnetbyaddr, getnetbyname
Протоколы /etc/protocols Protoent getprotobyname, getprotobynumber
Службы /etc/services Servent getservbyname, getservbyport

Как это применяется, если используется DNS? Прежде всего, с помощью DNS возможен доступ только к информации об узле и о сети. Информация о протоколе и службах всегда считывается из соответствующего файла. Ранее в этой главе мы отмечали (см. подраздел «Альтернативы DNS»), что в разных реализациях отличаются способы, с помощью которых администратор определяет, что именно использовать для получения информации об узле и сети — DNS или файл.

Далее, если DNS используется для получения информации об узле и о сети, имеют смысл только функции поиска по ключу. Используя, например, функцию gethostent, не стоит надеяться, что она выполнит последовательный перебор всех записей DNS! Если вызывается функция gethostent, она считывает только информацию об узлах и не использует DNS.

ПРИМЕЧАНИЕ

Хотя информацию о сети можно сделать доступной с помощью DNS, очень немногие пользуются этим. На с. 347-348 [1] рассказывается об этой возможности. Однако обычно администраторы создают и обслуживают файл /etc/networks, используемый вместо DNS. Программа netstat с параметром -i использует этот файл, если он есть, и выводит имя каждой сети. Однако бесклассовая адресация (см. раздел А.4) делает эти функции бесполезными, а поскольку они не поддерживают IPv6, новые приложения не должны использовать их.

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Другая Япония

Из книги Журнал `Компьютерра` N745 автора Журнал «Компьютерра»

Другая Япония Автор: Валерий ЯценковСтереотипы — штука прилипчивая. Вот, скажем, Япония. Если судить только по новостным заметкам или кинофильмам, может показаться, что местные жители поголовно ходят с полными карманами гаджетов, забыли про бумажные книги, смотрят


Полезные статьи и другая информация

Из книги Работа в Интернете автора Макарский Дмитрий

Полезные статьи и другая информация Жизнь устроена так, что человеку часто приходится сталкиваться с проблемой выбора. Имеется в виду выбор вещей, товаров или услуг. Особенно это актуально в наше время, когда общество потребляет все больше различных товаров. В такой


5. Ссылки и другая документация

Из книги HOWTO по управлению трафиком с помощью tcng и HTB автора Браун Мартин А

5. Ссылки и другая документация • проект linux DiffServ• страница HTB (Martin "devik" Devera)• Traffic Control Next Generation (tcng)• Руководство по TCNG manual (Вернер Альмесбергер)• iproute2 (Алексей Кузнецов )• iproute2 manual (Алексей Кузнецов )• Исследование и документация управления трафиком в linux (Стеф Коен [Stef


Способы обмана в мобильных сетях Максим Букин

Из книги Цифровой журнал «Компьютерра» № 24 [05.07.2010 — 11.07.2010] автора Журнал «Компьютерра»

Способы обмана в мобильных сетях Максим Букин Опубликовано 09 июля 2010 года Практически каждый месяц появляются новые способы мобильного мошенничества. В последнее время активизировались любители рассылать SMS-спам по десяткам тысяч номеров в


Запутавшиеся в сетях

Из книги Ощупывая слона [Заметки по истории русского Интернета] автора Кузнецов Сергей Юрьевич


Средства выражения эмоций в сетях

Из книги Fidonet: профессиональная любительская сеть автора Палеев Борис Леонидович

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


4.14 Уровни в сетях 802

Из книги TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security) автора Фейт Сидни М

4.14 Уровни в сетях 802 Ознакомимся со взглядом IEEE на сетевой мир. С появлением локальных сетей 802 IEEE разделил сетевой уровень 2 (уровень связи данных) на два подуровня (см. рис. 4.15). Рис. 4.15. Уровни для локальных сетей 802Подуровень MAC обеспечивает правила доступа к носителю —


Продвижение в социальных сетях

Из книги Прибыльный блог: создай, раскрути и заработай автора Литвин Евгений

Продвижение в социальных сетях Социальные сети не только прочно вошли в нашу жизнь, но и стали важным этапом развития Интернета в целом.Благодаря тому что социальные сети имеют огромную популярность и способны привлекать все больше людей, они обладают большим


Установление идентичности в компьютерных сетях

Из книги Защита от хакеров корпоративных сетей автора Автор неизвестен

Установление идентичности в компьютерных сетях В отличие от привыкших доверять друг другу людей, проблема установления идентичности в компьютерных сетях основана не на случайных признаках (например, как выглядит человек, каковы его характерные черты и т. д.). Она


23-й час Использование SQL в локальных и глобальных сетях

Из книги SQL за 24 часа автора

23-й час Использование SQL в локальных и глобальных сетях В ходе этого урока мы с вами поговорим о том как использовать SQL в сю-виях реального предприятия ичи локачьной сети компании и как испочьзовать SQL в InternetОсновными на этом уроке будут следующие темы• SQL на уровне


Действительно ли наша эпоха другая?

Из книги Главный рубильник. Расцвет и гибель информационных империй от радио до интернета автора Ву Тим

Действительно ли наша эпоха другая? Здесь, в самом конце книги, нужно вернуться к большому вопросу, поставленному в начале: правда ли, что с интернетом все окажется иначе? Или ему суждено преобразоваться в несколько гигантских многоуровневых монополий, которые будут


10 советов о подаче информации в социальных сетях

Из книги 101 совет по работе в социальных сетях автора Соломатина Ольга

10 советов о подаче информации в социальных сетях 1. Возможно это плохая новость для smm-специалистов, но информацию в разных сетях следует размещать разную. И вести себя с читателями разных сетей соответственно придется так, как принято в сообществе, в которое вы


10 советов для новичков или тех, кто хочет обновить свои страницы в сетях

Из книги Компьютерные террористы [Новейшие технологии на службе преступного мира] автора Ревяко Татьяна Ивановна

10 советов для новичков или тех, кто хочет обновить свои страницы в сетях 1. Когда вы наполнили аккаунт всей необходимой информацией, можно приступить к ее раскрутке. К этому моменту на странице будет достаточно официальной, полезной и интересной информацией. Теперь