Пример: определяем, включены ли контрольные суммы UDP
Пример: определяем, включены ли контрольные суммы UDP
Теперь мы приведем простой пример использования функции sysctl с протоколами Интернета для проверки, включены ли контрольные суммы UDP. Некоторые приложения UDP (например, BIND) проверяют при запуске, включены ли контрольные суммы UDP, и если нет, пытаются включить их. Для того чтобы включить подобное свойство, требуются права привилегированного пользователя, но мы сейчас просто проверим, включено это свойство или нет. В листинге 18.7 представлена наша программа.
Листинг 18.7. Проверка включения контрольных сумм
//route/checkudpsum.c
1 #include "unproute.h"
2 #include <netinet/udp.h>
3 #include <netinet/ip_var.h>
4 #include <netinet/udp_var.h> /* для констант UDPCTL_xxx */
5 int
6 main(int argc, char **argv)
7 {
8 int mib[4], val;
9 size_t len;
10 mib[0] = CTL_NET;
11 mib[1] = AF_INET;
12 mib[2] = IPPROTO_UDP;
13 mib[3] = UDPCTL_CHECKSUM;
14 len = sizeof(val);
15 Sysctl(mib, 4, &val, &len, NULL, 0);
16 printf("udp checksum flag: %d ", val);
17 exit(0);
18 }
Включение системных заголовков
2-4 Следует включить заголовочный файл <netinet/udp_var.h>, чтобы получить определение констант UDP функции sysctl. Для него требуются два других заголовка.
Вызов функции sysctl
10-16 Мы размещаем в памяти массив целых чисел с четырьмя элементами и храним константы, соответствующие иерархии, показанной на рис. 18.3. Поскольку мы только получаем переменную и не присваиваем ей значение, аргумент newp функции sysctl мы задаем как пустой указатель, и поэтому аргумент newp этой функции имеет нулевое значение, oldp указывает на нашу целочисленную переменную, в которую сохраняется результат, a oldenp указывает на переменную типа «значение- результат», хранящую размер этого целого числа. Мы выводим либо 0 (отключено), либо 1 (включено).
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
Строковые суммы и хеш-функции
Строковые суммы и хеш-функции strlenВозвращает длину строки.Синтаксис:int strlen(string str)Возвращает просто длину строки, т.е., сколько символов содержится в str.Строка может содержать любые символы, в том числе и с нулевым кодом. Функция strlen() будет правильно работать и с такими
6.13.6 Заголовок контрольной суммы
6.13.6 Заголовок контрольной суммы Контрольная сумма (checksum) находится в 16-разрядном поле и вычисляется по значению остальных полей заголовка IP как сумма всех дополнений до единицы 16-разрядных слов заголовка. До вычисления поле контрольной суммы содержит 0. Контрольная
Глава 3. Увеличение суммы среднего чека
Глава 3. Увеличение суммы среднего чека Второй способ, который позволяет получить дополнительную прибыль от интернет-магазина, – внедрение технологии
19.2.4.6. Предоставляйте контрольные суммы пакетов
19.2.4.6. Предоставляйте контрольные суммы пакетов Сопровождайте бинарные файлы (архивы, RPM и др.) контрольными суммами. Они позволяют пользователям проверить, не повреждены ли файлы при загрузке и не содержат ли они код "троянского коня".Хотя существует несколько команд,
19.2.4.6. Предоставляйте контрольные суммы пакетов
19.2.4.6. Предоставляйте контрольные суммы пакетов Сопровождайте бинарные файлы (архивы, RPM и др.) контрольными суммами. Они позволяют пользователям проверить, не повреждены ли файлы при загрузке и не содержат ли они код "троянского коня".Хотя существует несколько команд,
11.3. Вычисление суммы и среднего значения элементов контейнера
11.3. Вычисление суммы и среднего значения элементов контейнера ПроблемаТребуется вычислить сумму и среднее значение чисел, содержащихся в контейнере.РешениеДля расчета суммы можно использовать функцию accumulate из заголовочного файла <numeric> и затем разделить ее на
Контрольные вопросы
Контрольные вопросы 1. Что изучает информатика?2. Как развивались способы сбора, хранения и передачи информации?3. Какова структура современной информатики?4. Что такое информация?5. Какие функции выполняет информация?6. Дайте характеристику основным информационным
Контрольные вопросы
Контрольные вопросы 1. Какие поколения развития ЭВМ различают? Дайте их характеристику.2. Каковы основные принципы работы машины фон Неймана?3. Как осуществляется функционирование ЭВМ?4. Какие устройства относятся к основным блокам персонального
Контрольные вопросы
Контрольные вопросы 1. Что такое алгоритм? Приведите пример.2. Какими свойствами обладает алгоритм?3. Какие способы используются для описания алгоритма?4. Какие алгоритмы различают? Приведите примеры.5. Что такое язык программирования?6. В чем отличие языков
Контрольные вопросы
Контрольные вопросы 1. Что такое модель?2. Для чего используются модели?3. Что такое моделирование?4. Как классифицируются модели?5. Какие этапы проходит процесс создания модели?6. Какие виды моделирования различают?7. Какие модели характеризуют информационное
Определяем свою приёмочную шкалу
Определяем свою приёмочную шкалу В дополнении к обычному product backlog, product owner определяет приёмочную шкалу, которая представляет собой ни что иное, как простое разбиение всех историй product backlog’а на группы в зависимости от их уровня важности в контексте контрактных
Определяем неисправность по количеству звуковых сигналов
Определяем неисправность по количеству звуковых сигналов Как уже было отмечено, писк при запуске – это явный признак аппаратной ошибки. Количество сигналов и их последовательность зависит от базовой системы ввода/вывода (BIOS, Basic Input/Output System). Обычно версия и