
- •Лабораторна робота № 15 взаємодія процесів в ос unix за допомогою іменованих каналів
- •1 Мета роботи
- •2 Основні положення
- •2.1 Способи забезпечення взаємодії процесів в ос unix
- •2.2 Взаємодія поміж процесами за допомогою іменованих каналів
- •2.3 Функції та системні виклики ос unix,
- •3 Контрольні запитання
- •4 Домашнє завдання
- •5 Лабораторне завдання
- •6 Зміст протоколу
- •7 Список рекомендованої літератури
- •Взаємодія процесів в ос unix за допомогою інтерфейсу сокетів
- •1 Мета роботи
- •2 Основні положення
- •2.1 Загальні вимоги до міжпроцесної взаємодії
- •2.2 Програмний інтерфейс сокетів
- •2.3 Приклад використання сокета
- •3 Контрольні запитання
- •4 Домашнє завдання
- •5 Лабораторне завдання
- •6 Зміст протоколу
- •3 Контрольні запитання
- •4 Домашнє завдання
- •5 Лабораторне завдання
- •6 Зміст протоколу
- •7 Список рекомендованої літератури
- •Лабораторна робота № 18
- •2.1 Утиліта ping
- •2.2 Програма traceroute
- •2.3 Програма ttcp
- •2.4 Програма tcpdump
- •2.5 Програма netstat
- •3 Контрольні запитання
- •4 Домашнє завдання
- •5 Лабораторне завдання
- •6 Зміст протоколу
- •7 Список рекомендованої літератури
- •Створення системи обліку трафіка
- •1 Мета роботи
- •2 Ключові положення
- •2.1 Принципи обліку трафіка
- •2.2 Мова програмування Shell
- •2.2.1 Структура команд
- •2.2.2. Структура команд
- •2.2.3 Групування команд
- •2.2.4 Переспрямовування команд
- •2.3 Брандмауер firewall
- •2.3.1 Можливості ipfw
- •2.3.2 Формат правил ipfw
- •2.4 Мова програмування awk
- •3 Контрольні запитання
- •4 Домашнє завдання
- •5 Лабораторне завдання
- •6 Зміст протоколу
- •7 Список рекомендованої літератури
- •Тексти програм serverfifo та clientfifo
- •Тексти програм socketserver та socketclient
- •Тексти програм servertcp та clienttcp
- •Тексти програм simpletcpserv та simpletcpclient
- •Лістинг програми обліку трафіку
2.3 Брандмауер firewall
2.3.1 Можливості ipfw
Для захисту мережі використовуються спеціалізовані сервери – брандмауери, з яких найбільш надійними є програми firewall. У ОС FreeBSD інтерфейс для керування firewall має назву IPFW, окрім того, firewall має опції обліку трафіка та обмеження швидкості dumnunet; конфігурування брандмауера здійснюється за допомогою списку нумерованих правил:
Брандмауер перевіряє за цими правилами кожний вхідний та вихідний пакети, доки не буде віднайдено відповідне до нього правило.
Пакети може бути введено до брандмауера відповідно до правила повторно, залежно від характеру дії, яка визначає це правило, а також від системних налагоджувань.
Усі правила є чинними для всіх мережних інтерфейсів, тому системний адміністратор має так записати встановлення правил, щоби шлях перевірки був мінімальним.
Конфігурування завжди вміщує правило за умовою (DEFAULT rule, номер 65535), яке не можна потім змінити, тому що воно використовується для всіх типів пакетів. Це правило може або дозволяти все, або забороняти все, залежно від конфігурації системного ядра, якщо налагодження вміщує одне або більше правил в собі зі збереженням стану або обмеженням опцій, тобто ipfw створюватиме динамічні правила, відповідні до точних параметрів (адреси порту) пакета, доки консенсу не буде віднайдено. Ці динамічні правила мають необмежений час життя й перевіряються за першого входження; правила cheek-state (перевірка наявності динамічних правил) або keep-state (правила стають статичними й зазвичай використовуються брандмауером за вимогою й лише для бажаного трафіка).
Усі правила, так само й динамічні, мають кілька пов’язаних лічильників для підраховування пакетів, кількості байтів, реєстрації підрахунків та timestamp – реєстрації часу.
Лічильники можуть відбиватись або скидатись командами ipfw.
Правила можуть додаватися командою add, вилучені індивідуально – за допомогою команди delete, а також глобально (усі разом) за допомогою команди fluch (скидання); правила можуть виводитись на екран за оцінками разом із вмістом лічильників за допомогою команд list. Лічильники відновлюються за допомогою команд zero або resetlog.
Припустимими є опції до команд ipfw:
-а — при друкуванні зазначаються значення лічильників;
-d — при друкуванні на доповнення до статичних правил виводяться динамічні правила;
-е — при друкуванні, якщо зазначено опцію d, додатково зазначаються прострочені динамічні правила;
-f — заборона запиту на потвердження для команд, яка може спричинити проблему, якщо неправильно використовуються.
Доступ до консолі треба відновлювати у таких випадках:
-t — при друкуванні зазначити відповідний timestamp;
-n — перевіряти відповідність імені та адреси при введенні;
-s — [fild] при друкуванні каналів розподіляти, що згідно з одним з чотирьох лічильників (підраховують поточні пакети чи байти).
З метою спрощення конфігурування правила може бути переміщено до файла, якого опрацьовано ipfw. При цьому повинен використовуватись абсолютний шлях. Файл читатиметься рядок за рядком, які можуть застосовуватися як аргументи для ipfw. Опційно може бути зазначено, використовуючи – preproc, де pathname має бути наскрізним канальним. Сучасні препроцесори включають в себе cpp та m4. Якщо preproc не запускається з прямим слешем (“/”), то його першим символом виконується звичайний пошук шляху. Слід дотримуватися обережності з preproc у системах, де не всі файлові системи змонтовано на мить запуску ipfw або ж він перебуває в файловій системі NFS. Параметр -p, а також наступні за ним (опційно) -D та -U можуть також передаватися препроцесорові. Це дозволяє створити гнучкий конфігураційний файл – подібно до конфігурування локального імені хоста й, використовувати макроси для централізованого конфігурування, подібно до IP-адреси.