Mir-knigi.online
Книги онлайн читать бесплатно!
  • Главная
  • Жанры
  • ТОП книг
  • ТОП авторов
  • Контакты

UNIX: разработка сетевых приложений

Часть 212 из 399 Информация о книге

Таблица 19.2. Типы соглашений о безопасности

Тип соглашения Описание
SADB_SATYPE_AH Аутентифицирующий заголовок IPSec
SADB_SATYPE_ESP ESP IPSec
SADB_SATYPE_MIP Идентификация мобильных пользователей (Mobile IP)
SADB_SATYPE_OSPFV2 Аутентификация OSPFv2
SADB_SATYPE_RIPV2 Аутентификация RIPv2
SADB_SATYPE_RSVP Аутентификация RSVP
SADB_SATYPE_UNSPECIFIED He определен

Таблица 19.3. Типы расширений PF_KEY

Тип заголовка расширения Описание Структура
SADB_EXT_ADDRESS_DST Адрес получателя SA sadb_address
SADB_EXT_ADDRESS_PROXY Адрес прокси-сервера SA sadb_address
SADB_EXT_ADDRESS_SRC Адрес отправителя SA sadb_address
SADB_EXT_IDENTITY_DST Личность получателя sadb_ident
SADB_EXT_IDENTITY_SRC Личность отправителя sadb_ident
SADB_EXT_KEY_AUTH Ключ аутентификации sadb_key
SADB_EXT_KEY_ENCRYPT Ключ шифрования sadb_key
SADB_EXT_LIFETIME_CURRENT Текущее время жизни SA sadb_lifetime
SADB_EXT_LIFETIME_HARD Жесткое ограничение на время жизни SA sadb_lifetime
SADB_EXT_LIFETIME_SOFT Гибкое ограничение на время жизни SA sadb_lifetime
SADB_EXT_PROPOSAL Предлагаемая ситуация sadb_prop
SADB_EXT_SA Соглашение о безопасности sadb_sa
SADB_EXT_SENSITIVITY Важность SA sadb_sens
SADB_EXT_SPIRANGE Диапазон допустимых значений SPI sadb_spirange
SADB_EXT_SUPPORTED_AUTH Поддерживаемые алгоритмы аутентификации sadb_supported
SADB_EXT_SUPPORTED_ENCRYPT Поддерживаемые алгоритмы шифрования sadb_supported

Рассмотрим несколько примеров сообщений и расширений, используемых в типичных операциях с сокетами управления ключами.

19.3. Дамп базы соглашений о безопасности

Для дампа текущей базы соглашений о безопасности используется сообщение

SADB_DUMP
. Это самое простое из сообщений, поскольку оно не требует никаких расширений, а состоит только из 16-байтового заголовка
sadb_msg
. Когда процесс отправляет сообщение
SADB_DUMP
ядру через сокет управления ключами, ядро отвечает последовательностью сообщений
SADB_DUMP
по тому же сокету. В каждом сообщении содержится одна запись базы SADB. Конец последовательности обозначается сообщением со значением 0 в поле
sadb_msg_seq
.

Поле

sadb_msg_satype
позволяет запросить только записи определенного типа. Значения этого поля следует брать из табл. 19.2. При указании значения
SADB_SATYPE_UNSPEC
возвращаются все записи базы. Не все типы соглашений о безопасности поддерживаются всеми реализациями. Реализация KAME поддерживает только соглашения, относящиеся к IPSec (
SADB_SATYPE_AH
и
SADB_SATYPE_ESP
), поэтому при попытке получить дамп записей
SADB_SATYPE_RIPV2
будет возвращена ошибка
EINVAL
. Если же записей, относящихся к запрошенному типу, в таблице нет (но они поддерживаются), функция возвращает ошибку
ENOENT
.

Программа, получающая записи из базы данных безопасности, приведена в листинге 19.2.

Листинг 19.2. Дамп базы соглашений о безопасности

//key/dump.c

 1 void

 2 sadb_dump(int type)

 3 {

 4  int s;

 5  char buf[4096];

 6  struct sadb_msg msg;

 7  int goteof;

 8  s = Socket(PF_KEY, SOCK_RAW, PF_KEY_V2);

 9  /* формирование и отправка запроса SADB_DUMP */

10  bzero(&msg, sizeof(msg));

11  msg.sadb_msg_version = PF_KEY_V2;

12  msg.sadb_msg_type = SADB_DUMP;

13  msg.sadb_msg_satype = type;

14  msg.sadb_msg_len = sizeof(msg) / 8;

15  msg.sadb_msg_pid = getpid();

16  printf("Sending dump message:\n");

17  print_sadb_msg(&msg, sizeof(msg));

18  Write(s, &msg, sizeof(msg));

19  printf("\nMessages returned:\n");

20  /* считывание и вывод всех ответов SADB_DUMP */

21  goteof = 0;

22  while (goteof == 0) {


Перейти к странице:
Предыдущая страница
Следующая страница
Жанры
  • Военное дело
  • Деловая литература
  • Детективы и триллеры
  • Детские
  • Детские книги
  • Документальная литература
  • Дом и дача
  • Дом и Семья
  • Жанр не определен
  • Зарубежная литература
  • Знания и навыки
  • История
  • Компьютеры и Интернет
  • Легкое чтение
  • Любовные романы
  • Научно-образовательная
  • Образование
  • Поэзия и драматургия
  • Приключения
  • Проза
  • Прочее
  • Психология и мотивация
  • Публицистика и периодические издания
  • Религия и духовность
  • Родителям
  • Серьезное чтение
  • Спорт, здоровье и красота
  • Справочная литература
  • Старинная литература
  • Техника
  • Фантастика и фентези
  • Фольклор
  • Хобби и досуг
  • Юмор
Mir-knigi.online

Бесплатная онлайн библиотека для чтения книг без регистрации с телефона или компьютера. У нас собраны последние новинки, мировые бестселлеры книжного мира.

Контакты
  • [email protected]
Информация
  • Карта сайта
© mir-knigi.online, 2026. | Вход