МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ
НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ «ЛЬВІВСЬКА ПОЛІТЕХНІКА»
кафедра ЗІ
ЛАБОРАТОРНА РОБОТА №3
МЕТОДИ СКАНУВАННЯ ПОРТІВ
з курсу “Захист інформації в комп’ютерних мережах”
Виконав:
Ст. гр. ЗІД-12м
Прийняв:
Львів 2011
Мета роботи – вивчити основні методи сканування портів стеку ТСР/ІР, визначення працюючих на хості служб та типу ОС, характеристики програмних засобів для їх реалізації. Зрозуміти методи і механізми, використовувані зловмисниками для реалізації різних атак, способи їх виявлення, та принципи, що закладаються в широко відомі системи мережевої безпеки.
Теоретичні відомості.
Сканування мережевих портів (рorts scan) – процес організації множини з’єднань з віддалених хостів на різні мережеві порти локальної системи, інакше кажучи, це перевірка системи на наявність відкритих TCP/IP портів. Програма-сканер, намагається приєднатися до кожного порта і встановлює які з них відкриті, тобто надсилають відповідь.
Сканування портів або ідентифікація сервісів
Скануванням портів називається метод віддаленого аналізу, який здійснюється шляхом передачі тестових запитів на створення з’єднання і дозволяє визначити список активних служб представлення віддаленого сервісу на якомусь хості.
Для управлінням з’єднанням в ТСР-протоколі використовуються значення прапорців в полі Кодові біти (Code Bits) ТСР-заголовку, яке займає 6 біт, та містить службову інформацію про тип даного сегменту (див. Лаб. роб № 2).
Прапорець SYN (synchronize) - цей прапорець використовується для позначення початку з’єднання. Повідомлення з встановленим SYN, використовується для синхронізації лічильників переданих даних при встановленні з’єднання.
Прапорець ACK (acknowledgement) - квитанція на прийнятий сегмент.
Прапорець RST (reset) - TCP-модуль встановлює цей прапорець, якщо виникли які-небудь проблеми з підключенням (раптове закриття з’єднання).
Прапорець FIN (finish) – цим прапорцем відправник повідомляє, що про закінчення відправлення даних. FIN-прапорець закриває з’єднання.
Прапорець URG (urgent) - вказує TCP-модулю на терміновість даних. TCP-модуль повинен обробляти такі дані поза чергою.
Прапорець PSH (push) - якщо цей прапорець встановлений, то TCP-модуль повинен надсилати дані з сегмента до програми відразу, а не через буфер.
Встановлення TCP-з’єднання відбувається в 3 стадії (3-way handshake): клієнт надсилає ТСР-пакет з встановленим прапорцем SYN (С- SYN) для ініціалізації з’єднання. Якщо сервер прослуховує цей порт, він відсилає пакет з встановленими прапорцями ACK і SYN (підтвердження клієнтського запиту - C-ACK і одночасно запрошуючи зворотне з’єднання S-SYN) і переводить сесію в стан SYN_RECEIVED і заносить її в чергу. Тепер вже клієнт повинен вислати підтвердження запиту сервера, пакетом з прапорцем ACK (S-ACK). Якщо на протязі заданого часу від клієнта не надійде S-ACK, з’єднання видаляється з черги, в протилежному випадку з’єднання вважається встановленим (стан ESTABLISHED) і починається обмін даними, тобто клієнт і сервер обмінюються специфічними для даних аплікацій командами, створюючи з’єднання вже на прикладному рівні. Коли одна з сторін виконає передачу іншій, вона може послати пакет FIN. Інша сторона повинна підтвердити цей пакет FIN надіславши пакет ACK і надіслати своє власне повідомлення FIN, очікуючи від другої сторони підтвердження того, що з’єднання дійсно закрито. Для екстреного переривання з’єднання будь-яка з сторін може передати пакет з прапорцем RST. ТСР-взаємодію між клієнтом і сервером представлено нижче:
Клієнт надсилає серверу повідомлення SYN.
Сервер відповідає SYN/ ACK.
Клієнт надсилає повідомлення ACK - серверу.
Клієнт і сервер обмінюються пакетами, підтверджуючи кожну передачу сигналом ACK.
Клієнт бажає завершити взаємодію і надсилає серверу повідомлення FIN.
Сервер надсилає повідомлення ACK. Потім сервер надсилає власне повідомлення FIN.
Клієнт відправляє підтвердження ACK – серверу.
Мережеві служби (серверні аплікації), такі як WWW, FTP, TELNET і ін. після завантаження очікують одержанн...