Список портів та їх призначення. Як перевірити наявність TCP з'єднань (відкриті порти на комп'ютері під Windows)

ДОДАТКИ UDP

Протокол UDP, крім багатьох інших програм, також підтримує роботу Trivial File Transfer Protocol (TFTP), Simple Network Management Protocol (SNMP) та Routing Information Protocol (RIP).
TFTP (Простий протокол передачі файлів). В основному він застосовується для копіювання та інсталяції операційної системина комп'ютер із файл-сервера,

TFTP. Протокол TFTP є меншою програмою, ніж протокол передачі файлів (File Transfer Protocol — FTP). Як правило, TFTP використовується в мережах для простої передачі файлів. У TFTP включений свій власний механізм контролю помилок та порядкової нумерації і, отже, цей протокол не потребує додаткові сервісина транспортному рівні.

SNMP (Простий протокол керування мережею) відстежує та керує мережами та пристроями, приєднаними до них, а також збирає інформацію про продуктивність мережі. SNMP посилає повідомлення протокольних блоків даних, які дозволяють програмному забезпеченню управління мережею контролювати пристрої мережі.

Протокол маршрутної інформації — протокол внутрішньої маршрутизації, що означає його використання в межах організації, але не в Інтернеті.

ДОДАТКИ TCP

Протокол TCP, окрім багатьох інших програм, також підтримує роботу FTP, Telnet та Simple Mail Transfer Protocol (SMTP).

FTP (Протокол передачі файлів) — повнофункціональна програма, яка використовується для копіювання файлів за допомогою запущеної клієнтської програми на одному комп'ютері, пов'язаного з програмою FTP-сервера на іншому віддаленому комп'ютері. За допомогою цієї програми файли можуть бути прийняті та надіслані.

Telnet дозволяє встановлювати термінальні сеанси з віддаленим пристроєм, як правило, з вузлом UNIX, маршрутизатором або комутатором. Це дає мережевому адміністратору можливість керувати мережевим пристроємніби воно було в безпосередній близькості, а для управління використовувався послідовний порт комп'ютера. Корисність Telnet обмежується системами, які використовують символьний режим синтаксису командного. Telnet не підтримує керування графічним оточенням користувача.

SMTP (Простий протокол передачі електронної пошти) — це протокол передачі пошти для Інтернету. Він підтримує передачу повідомлень електронної пошти між поштовими клієнтамита поштовими серверами.

ДОБРЕ ВІДОМІ ПОРТИ
Добре відомі порти призначаються IANA і лежать у діапазоні від 1023 і нижче. Вони призначені програмам, які є основними для Інтернету.

ЗАРЕЄСТРУВАНІ ПОРТИ
Зареєстровані порти каталогізовані IANA і розташовані в діапазоні від 1024 до 49151. Ці порти використовуються ліцензованими програмами, такими як Lotus Mail.

ДИНАМІЧНО ПРИЗНАЧЕНИЕ ПОРТИ
Порти, що динамічно призначаються, отримують номери від 49152 до 65535. Номери для цих портів призначаються динамічно на час тривалості певного сеансу.

Всім привіт сьогодні розповім, чим відрізняється протокол TCP від ​​UDP. Протоколи транспортного рівня, що йдуть в ієрархії за IP, використовуються для передачі даних між прикладними процесами, що реалізуються в мережевих вузлах. Пакет даних, що надійшов від одного комп'ютера іншому через Інтернет, має бути переданий процесу-обробнику, і саме за конкретним призначенням. Транспортний рівень бере на себе відповідальність за це. На цьому рівні два основні протоколи – TCP та UDP.

Що означають TCP та UDP

TCP– транспортний протокол передачі даних у мережах TCP/IP, який попередньо встановлює з'єднання з мережею.

UDP– транспортний протокол, який передає повідомлення-датаграми без необхідності встановлення з'єднання в IP-мережі.

Нагадую, що обидва протоколи працюють на транспортному рівні моделі OSI або TCP/IP, і розуміння того, чим вони відрізняються дуже важливо.

Різниця між протоколами TCP та UDP

Різниця між протоколами TCP і UDP – так званої “гарантії доставки”. TCP вимагає відгуку від клієнта, якому доставлено пакет даних, підтвердження доставки, і цього необхідно встановлене заздалегідь з'єднання. Також протокол TCP вважається надійним, тоді як UDP отримав навіть назву “протокол ненадійних датаграм. TCP виключає втрати даних, дублювання та перемішування пакетів, затримки. UDP все це допускає, і з'єднання для роботи не потрібно. Процеси, яким дані передаються UDP, повинні обходитися отриманим, навіть і з втратами. TCP контролює завантаженість з'єднання, UDP не контролює нічого, крім цілісності отриманих датаграм.

З іншого боку, завдяки такій невибірковості та безконтрольності, UDP доставляє пакети даних (датаграми) набагато швидше, тому для додатків, які розраховані на широку пропускну спроможністьта швидкий обмін, UDP можна вважати оптимальним протоколом. До таких відносяться мережеві та браузерні ігри, а також програми перегляду потокового відео та програми для відеозв'язку (або голосової): від втрати пакета, повного або часткового, нічого не змінюється, повторювати запит не обов'язково, зате завантаження відбувається набагато швидше. Протокол TCP, як надійніший, з успіхом застосовується навіть у поштових програмах, дозволяючи контролювати як трафік, а й довжину повідомлення і швидкість обміну трафіком.

Давайте розглянемо основні відмінності tcp від udp.

  1. TCP гарантує доставку пакетів даних у незмінних вигляді, послідовності та без втрат, UDP нічого не гарантує.
  2. TCP нумерує пакети під час передачі, а UDP немає
  3. TCP працює в дуплексному режимі, в одному пакеті можна надсилати інформацію та підтверджувати отримання попереднього пакета.
  4. TCP вимагає заздалегідь встановленого з'єднання, UDP з'єднання не вимагає, це просто потік даних.
  5. UDP забезпечує вищу швидкість передачі.
  6. TCP надійніше та здійснює контроль над процесом обміну даними.
  7. UDP краще для програм, що відтворюють потокове відео, відеофонії та телефонії, мережевих ігор.
  8. UPD не містить функцій відновлення даних

Прикладами UDP додатків, наприклад можна навести, передачу DNS зон, Active Directory, там не потрібна надійність. Дуже часто такі питання люблять запитувати на співбесідах, тому дуже важливо знати tcp і udp відмінності.

Заголовки TCP та UDP

Давайте розглянемо як виглядають заголовки двох транспортних протоколів, так як і тут кардинальні відмінності.

Заголовок UDP

  • 16 бітовий порт джерела > Вказівка ​​порту джерела для UDP не є обов'язковою. Якщо це поле використовується, одержувач може надіслати відповідь цьому порту.
  • 16 бітовий порт призначення > Номер порту призначення
  • 16 бітна довжина UDP > Довжина повідомлення, включаючи заголовок та дані.
  • 16 бітна контрольна сума > Контрольна сума заголовка та даних для перевірки

Заголовок TCP

  • 16 бітний порт джерела > Номер порту джерела
  • 16 бітовий порт призначення > Номер порту призначення
  • 32 бітовий послідовний номер > Послідовний номер генерується джерелом і використовується призначенням, щоб переупорядкувати пакети для створення вихідного повідомлення та надіслати підтвердження джерелу.
  • 32 бітний номер підтвердження > Якщо встановлено біт АСК поля "Керування", у цьому полі містить наступний очікуваний послідовний номер.
  • 4 біта довжина заголовка > Інформація про початок пакета даних.
  • резерв > Резервуються для майбутнього використання.
  • 16 бітна контрольна сума > Контрольна сума заголовка та даних; по ній визначається, чи був спотворений пакет.
  • 16 бітовий покажчик терміновості > У цьому полі цільовий пристрій отримує інформацію про терміновість даних.
  • Установки > Необов'язкові значення, які вказуються за потреби.

Розмір вікна дозволяє заощаджувати трафік, розглянемо коли його значення дорівнює 1, тут на кожну відправлену відповідь, відправник чекає на підтвердження, не зовсім раціонально.

При розмірі вікна 3 відправник відправляє вже по 3 кадри, і чекає від 4, який має на увазі, що всі три кадри у нього є, +1.

Сподіваюся, у вас тепер є уявлення про відмінності tcp udp протоколів.

Існують два типи міжкомп'ютерного обміну даними- датагромиі сеанси. Датаграма— це повідомлення, яке не вимагає підтвердження про приймання від сторони, що приймає, а якщо таке підтвердження необхідне, то адресат повинен сам надіслати спеціальне повідомлення. Для здійснення обміну даними таким способом приймаюча та передавальна сторони повинні суворо дотримуватися певного протоколу, щоб уникнути втрати інформації. Кожна датаграма є самостійним повідомленням, і за наявності кількох датаграм у ЛОМ їх доставка адресату взагалі не гарантується. При цьому датаграма зазвичай є частиною будь-якого повідомлення, і в більшості ЛОМ швидкість передачі датаграм набагато вище, ніж повідомлень у сеансах.

У сеансіпередбачається створення логічного зв'язку обмінюватись повідомленнями між комп'ютерами і гарантується отримання повідомлень. У той час як датаграми можуть передаватися в довільні моменти часу, у сеансі перед передачею повідомлення відбувається від1фитие сеансу, а після закінчення обміну даними сеанс має бути закритий.

Операційні системи більшості комп'ютерів підтримують мультипрограмний режим, тобто. кілька програм виконуються одночасно (паралельно виконується кілька процесів). З деяким ступенем точності можна говорити про те, що процес це і є остаточне місце призначення для повідомлення. Однак через те, що процеси створюються та завершуються динамічно, відправник рідко має інформацію, достатню для ідентифікації процесу на іншому комп'ютері. Тому виникає необхідність у визначенні місця призначення даних на основі виконуваних процесами функцій, нічого не знаючи про ті процеси, що реалізуються цими функціями.

Насправді замість вважати процес кінцевим місцем призначення, вважають, кожен комп'ютер має набір деяких точок призначення, званих протокольними портами. Кожен порт ідентифікують цілим позитивним числом (від 0 до 65 535). У цьому випадку операційна система забезпечує механізм взаємодії, використовуваний процесами для вказівки порту, на якому вони працюють, або порту, до якого потрібний доступ. Зазвичай порти є буферизованими, і дані, що надходять у конкретний порт до того, як процес готовий їх отримати, не будуть втрачені: вони будуть поміщені в чергу до тих пір, поки процес не витягне їх.

Щоб краще зрозуміти технологію портів, уявіть, що ви прийшли до банку, щоб зробити внесок. Для цього вам необхідно підійти до певного віконця, де оператор оформить документи, і ви відкриєте рахунок. У цьому прикладі банк є комп'ютером, а оператори банку — програми, які виконують певну роботу, а от віконця — це і є порти, при цьому кожне віконце в банку часто нумерується (1, 2,3…).

Те саме стосується і портів, отже, щоб зв'язатися з портом на іншому комп'ютері, відправник повинен знати як IP-адресу комп'ютера-отримувача, так і номер порту в комп'ютері. Кожне повідомлення містить номер порту комп'ютера, якому адресовано повідомлення, так і номер порту-джерела комп'ютера, якому має прийти відповідь. Таким чином, реалізується можливість відповісти відправнику для кожного процесу.

Порти TCP/IP з номерами від 0 до 1023 є привілейованими та використовуються мережевими службами, які, у свою чергу, запущені з привілеями адміністратора (супер користувача). Наприклад, служба доступу до файлів та папкам Windowsвикористовує порт 139, проте якщо вона не запущена на комп'ютері, то при спробі звернутися до даної служби (тобто порту) буде отримано повідомлення про помилку.

Порти TCP/IP з 1023 до 65535 є непривілейованими та використовуються програмами-клієнтами для отримання відповідей від серверів. Наприклад, веб-браузер користувача, звертаючись до web-сервера, використовує порт 44587 свого комп'ютера, але звертається до 80 порту web-сервера. Отримавши запит, веб-сервер відправляє відповідь порт 44587, який використовується web-браузером.

Порт у комп'ютерних мережахє кінцевою точкою зв'язку ОС. Цей термін також застосовується і для апаратних пристроїв, однак у програмному забезпеченні він позначає логічну конструкцію, що ідентифікує конкретний вид послуг або процес. Порт завжди пов'язаний з IP-адресою хоста або типом протоколу зв'язку. Він завершує призначення адреси сеансу зв'язку. Порт ідентифікується для кожного протоколу та адреси за допомогою 16-бітного числа, яке також відоме як номер порту. Часто конкретні номери портів застосовуються визначення конкретних послуг. З кількох тисяч перерахованих 1024 відомих номерів захищено відповідно до спеціальної угоди. Вони визначають конкретні типи послуг на хості. Протоколи, які переважно використовують порти, застосовуються керувати процесами. Як приклад можна навести протокол управління передачею TCPабо User Datagram Protocol із комплекту Internet протоколів.

Значення

Порти TCP не потрібні за прямими посиланнями типу "точка-точка", коли на кожному кінці комп'ютери можуть одночасно працювати тільки з однією програмою. Необхідність у них з'явилася після того, як ці машини виявилися здатними виконувати в один і той же час більше однієї програми. Вони виявилися підключені до сучасних мереж із пакетною комутацією. У моделі клієнт-серверної архітектури порти, додатки та мережеві клієнтипідключаються до ініціації обслуговування. Вони надають мультиплексні послуги після того, як початковий обмін інформацією зв'язується з номером порту. Звільняється шляхом перемикання кожного екземпляра обслуговування запитів до виділеної лінії. Здійснюється підключення до конкретного номера. Завдяки цьому додаткові клієнти можуть обслуговуватись без жодного очікування.

Деталі

Протоколи передачі даних UDP і TCP використовуються для того, щоб вказати у своїх заголовках сегментів номер порту призначення та джерело. Номер порту – це 16-розрядне число без знака. Воно може бути в межах від 0 до 65535. TCP порти не можуть використовувати номер 0. Для UDP порт джерела не обов'язковий. Рівне нуль значення означає його відсутність. Цей процесзв'язує вхідні або вихідні канали за допомогою транспортного протоколу, номера порту та IP адреси через інтернет сокет. Цей процес також відомий як зв'язування. Він дає можливість прийому та передачі інформації через мережу. Мережеве програмне забезпечення операційної системи використовується для передачі вихідних даних всіх портів додатків в мережу. Також воно здійснює переадресацію мереж, що прибувають, пакетів шляхом зіставлення номера та IP адреси. До певної IP адреси та комбінації портів, використовуючи один і той же транспортний протокол, можна прив'язати лише один процес. Збої в роботі додатків, які також називають конфліктами, виникають у тих випадках, коли відразу кілька програм намагаються зв'язатися з тими самими номерами портів на тій же IP адресі, використовуючи той самий протокол.

Як вони застосовуються

Програми, що реалізують спільні служби, часто використовують спеціально зарезервований і відомий список портів UDP і TCP для прийому запитів на обслуговування клієнтів. Цей процес також відомий під назвою прослуховування. Він включає отримання запиту з добре відомого порту і встановлення діалогу між клієнтом і сервером один до одного при використанні одного і того ж номера локального порту. Інші клієнти можуть продовжувати підключення. Це можливо, оскільки з'єднання TCP ідентифікується як ланцюжок, що складається з локального та віддаленого портів та адрес. Стандартні порти UDP і TCP можуть бути визначені за згодою IANA або Internet Assigned Numbers Authority. Як правило, ядро ​​мережевих сервісів, перш за все це World Wide Web, використовує невеликі номери портів, менше 1024. Багато ОС для додатків для прив'язки до них потрібні спеціальні привілеї. З цієї причини вони часто вважаються критичними для мереж IP. Кінцевий клієнт з'єднання з іншого боку, як правило, використовує більшу їх кількість, виділених для короткострокового використання. З цієї причини існують так звані ефемерні порти.

Структура

Порти TCP закодовані у заголовку пакета транспортного пакета. Вони легко можуть бути інтерпретовані не тільки приймаючими та передаючими ПК, але й іншими компонентами мережевої інфраструктури. Міжмережні екрани, зокрема, налаштовані на розрізнення пакетів залежно від номерів портів призначення та їх джерела. Класичним прикладом є перенаправлення. Спроби підключення послідовно до діапазону портів одному комп'ютері також відомі як їх сканування. Подібні процедури, як правило, пов'язані або зі спробами зловмисного збою, або з тим, що мережеві адміністратори спеціально шукають можливі вразливості для того, щоб запобігти таким нападам. Дії, спрямовані на відкриття TCP порту, реєструються та контролюються за допомогою комп'ютерів. Ця техніка використовує цілий ряд запасних з'єднань для забезпечення безперебійної взаємодії з сервером.

Приклади використання

Основний приклад, у якому активно застосовуються порти UDP і TCP, це поштова система Інтернет. Сервер використовується для роботи з електронною поштою. Загалом він потребує двох послуг. Перший сервіс застосовується для транспортування електронною поштою та з інших серверів. Це досягається за допомогою Simple Mail Transfer Protocol (SMTP). Додаток служби SMTP зазвичай прослуховує порт TCP номер 25 для того, щоб обробляти вхідні запити. Інша послуга є POP або IMAP. Вони необхідні для клієнтських програм в електронній пошті на машинах користувачів, щоб отримувати з сервера повідомлення електронної пошти. Прослуховуються службами POP номери з порту TCP 110. Всі зазначені вище служби можуть запускатися на тому самому хост-комп'ютері. Номер порту, коли це відбувається, відрізняє сервіс, що запитується віддаленим пристроєм. Якщо номер порту прослуховування сервера визначено коректно, цей параметр для клієнта визначається динамічного діапазону. Клієнти та сервер окремо в деяких випадках використовують певні порти TCP, призначені в IANA. Як наочний приклад можна навести DHCP. Тут клієнтом у разі використовується UDP 68, а сервером UDP 67.

Використання в URL-адресах

Іноді номери портів добре видно в інтернеті або інших уніфікованих покажчиках інформаційних ресурсів, на кшталт URL. HTTP за промовчанням використовує порт TCP 80, а HTTPS – порт 443. Також існують інші варіації. Так, наприклад, URL http://www.example.com:8080/pathвказує на те, що веб-браузер замість сервера HTTP підключається до 8080.

Список портів UDP та TCP

Як було зазначено раніше, IANA чи InternetA ssigned Numbers Authority, відповідає за глобальну координацію DNS-Root, адресації IP та інших ресурсів інтернет протоколу. Ці процедури включають реєстрацію часто використовуваних портів для відомих інтернет-сервісів. Всі номери портів розділені між собою на три діапазони: добре відомі, зареєстровані та приватні чи динамічні. Відомими називають порти, що мають номери від 0 до 1023. Їх також називають системними. Вимоги, які пред'являються до нових значень у даному діапазоні, є суворішими, ніж для інших реєстрацій.

Приклади

До прикладів портів, що у списку відомих, можна віднести:

  • TCP 443 порт – HTTPS;
  • 21 - File Transfer Protocol;
  • 22- Secure Shell;
  • 25 - простий протокол передачі пошти STMP;
  • 53 – система доменних імен DNS;
  • 119 - протокол передачі мережевих новин або NNTP;
  • 80 – протокол передачі гіпертексту HTTP;
  • 143 - Internet Message Access Protocol;
  • 123 - протокол мережного часу NTP;
  • 161 - простий протокол керування мережею SNMP.

Зареєстровані порти обов'язково мають номери від 1024 до 49151. Internet Assigned Numbers Authority підтримує офіційний список всіх відомих та зареєстрованих діапазонів. Частотні або динамічні порти знаходяться в діапазоні від 29 152 до 65 535. Одним з варіантів використання даного діапазону є тимчасові порти.

Історія створення

Концепція номерів портів розробили ранніми творцями ARPANET. Вона розроблялася за умов неформального співробітництва між авторами програмного забезпеченнята системними адміністраторами. Тоді ще не використовувався термін «номер порту». Номерний ряд віддаленого хоста був 40-бітне число. Перші 32 біти нагадували сьогоднішню адресу IPv4. Найбільш значущими у своїй була перші 8 біт. Менш значної частини числа (це біти з 33 по 40) позначали об'єкт під назвою AEN. Він був прототип сучасного номера порту. Вперше створення каталогу номерів сокету було запропоновано 26 березня 1972 року. Адміністраторів мережі тоді закликали описати кожен постійний номер щодо мережевих послуг та його функцій. Даний каталог згодом був опублікований RFC 433 взимку 1972 року. До нього увійшов список хостів, їх номери портів та відповідна функція, яка використовується у кожному вузлі мережі. Вперше офіційні значення номерів портів було задокументовано у травні 1972 року. Тоді ж було запропоновано і спеціальну адміністративну функцію для ведення даного реєстру. До першого списку портів TCP увійшло 256 значень AEN. Вони були поділені на такі діапазони:

- від 0 до 63 - стандартні функції всієї мережі;

- від 64 до 127 - хост-специфічні функції;

- Від 128 до 239 - функції, зарезервовані для майбутнього використання;

- Від 240 до 255 - будь-яка експериментальна функція.

Терміном AEN на початку існування ARPANET також називали ім'я сокета, яке застосовувалося з початковим протоколом з'єднання та компонентом програми управління мережею або NCP. У цьому випадку NCP був попередником сучасних інтернет-протоколів, які використовують порти TCP/IP.

Протокол TCP/IP є фундамент Internet, з допомогою якого комп'ютери відправляють і приймають інформацію з будь-якої точки земної кулі, незалежно від географічне розташування. Звернутися до комп'ютера з TCP/IP в іншій країні так само просто, як і до комп'ютера, що знаходиться в сусідній кімнаті. Процедура доступу в обох випадках ідентична, хоча для з'єднання з машиною в іншій країні може знадобитися на кілька мілісекунд більше. В результаті громадяни будь-якої країни можуть легко робити покупки в Amazon.com; проте через логічну близькість ускладнюється завдання інформаційного захисту: будь-який власник підключеного до Internet комп'ютера в будь-якій точці світу може спробувати встановити несанкціоноване з'єднання з будь-якою іншою машиною.

Обов'язок ІТ-фахівців – встановити брандмауери та системи виявлення підозрілого трафіку. Під час аналізу пакетів витягується інформація про IP-адреси відправника та призначення та задіяні мережеві порти. Значення мережевих портів не поступається IP-адрес; це найважливіші критерії для відокремлення корисного трафіку від фальшивих і шкідливих посилок, що надходять у мережу та виходять із неї. Основна частина мережевого трафіку Internet складається з пакетів TCP і UDP, які містять інформацію про мережеві порти, що використовуються комп'ютерами для того, щоб спрямовувати трафік від однієї програми до іншої. Необхідна умова безпеки брандмауера та мережі – вичерпне розуміння адміністратором принципів використання цих портів комп'ютерами та мережевими пристроями.

Вивчаємо порти

Знання основних принципів роботи мережевих портів знадобиться будь-кому системному адміністратору. Маючи базові знання про пристрій портів TCP і UDP, адміністратор може самостійно виконати діагностику мережі, що відмовила, або захистити комп'ютер, якому належить звернутися в Internet, не викликаючи мережевого інженера або консультанта з брандмауерів.

У першій частині цієї статті (що складається із двох частин) дається опис основних понять, необхідні розгляду мережевих портів. Буде показано місце мережевих портів у спільній мережевої моделіта роль мережевих портів та NAT (Network Address Translation - трансляція мережевих адрес) брандмауера у з'єднаннях комп'ютерів компанії з Internet. І нарешті, будуть вказані точки мережі, в яких зручно ідентифікувати та фільтрувати мережевий трафік відповідними мережевими портами. У другій частині розглядаються деякі порти, які використовуються широко поширеними програмами та операційними системами, і розповідається про деякі інструменти для пошуку відкритих портів мережі.

Короткий огляд мережевих протоколів

TCP/IP - набір мережевих протоколів, якими комп'ютери встановлюють зв'язок друг з одним. Набір TCP/IP - не більше ніж фрагменти програмного коду, встановлені в операційній системі та відкривають доступ до цих протоколів. TCP/IP є стандартом, тому програми TCP/IP на комп'ютері Windowsповинні успішно обмінюватись даними з аналогічним додатком на машині UNIX. У початковий період розвитку мереж, 1983 р., інженери розробили семирівневу модель взаємодії OSI для опису процесів мережевого обміну комп'ютерів, від кабелю до додатка. Модель OSIскладається з фізичного, канального, мережного, транспортного, сеансового представлення даних та прикладного рівнів. Адміністратори, які постійно працюють з Internet і TCP/IP, в основному мають справу з мережевим, транспортним та прикладним рівнями, але для успішної діагностики необхідно знати й інші рівні. Незважаючи на солідний вік моделі OSI, нею, як і раніше, користуються багато фахівців. Наприклад, коли мережевий інженер говорить про комутатори рівнів 1 або 2, а постачальник брандмауерів - про контроль на рівні 7, вони мають на увазі рівні, визначені в моделі OSI.

У цій статті розповідається про мережеві порти, розташовані на рівні 4 - транспортному. У наборі TCP/IP ці порти використовуються протоколами TCP та UDP. Але перш ніж перейти до докладний описодного рівня, необхідно коротко ознайомитись із сімома рівнями OSI і тією роллю, яку вони виконують у сучасних мережах TCP/IP.

Рівні 1 та 2: фізичні кабелі та адреси MAC

Рівень 1, фізичний, представляє власне середовище, в якому поширюється сигнал, наприклад, мідний кабель, волоконно-оптичний кабель або радіосигнали (у випадку Wi-Fi). Рівень 2, канальний описує формат даних для передачі у фізичному середовищі. На рівні 2 пакети організуються в кадри і можуть бути реалізовані базові функції керування потоком даних та обробки помилок. Стандарт IEEE 802.3, більш відомий як Ethernet, найпоширеніший стандарт рівня 2 для сучасних локальних мереж. Звичайний мережевий комутатор- пристрій рівня 2, за допомогою якого кілька комп'ютерів фізично підключаються та обмінюються даними один з одним. Іноді два комп'ютери не можуть встановити з'єднання один з одним, хоча IP-адреси здаються коректними: причиною неполадки можуть бути помилки в кеші протоколу перетворення адрес ARP (Address Resolution Protocol), що свідчить про несправність на рівні 2. Крім того, деякі бездротові точки доступу (Access Point, AP) забезпечують фільтрацію адрес MAC, що дозволяє з'єднання з бездротовою AP тільки мережевим адаптерамз конкретною MAC-адресою.

Рівні 3 та 4: IP-адреси та мережні порти

Рівень 3, мережевий, підтримує маршрутизацію. У TCP/IP маршрутизація реалізована в IP. IP-адреса пакета належать до рівня 3. Мережеві маршрутизатори- пристрої рівня 3, які аналізують IP-адреси пакетів і пересилають пакети іншому маршрутизатору або доставляють пакети локальні комп'ютери. Якщо в мережі виявлено підозрілий пакет, то спочатку потрібно перевірити IP-адресу пакета, щоб встановити місце походження пакета.

Разом з мережевим рівнем 4-й рівень (транспортний) - відправна точка для діагностики мережевих несправностей. У Internet рівень 4 містить протоколи TCPта UDP та інформацію про мережевий порт, який пов'язує пакет з конкретним додатком. Мережевий стек комп'ютера використовує зв'язок мережного порту TCP або UDP з програмою, щоб направити мережевий трафік до цієї програми. Наприклад, TCP-порт 80 пов'язані з додатком Web-сервера. Така відповідність портів із додатками відома як служба.

TCP та UDP різняться. По суті TCP забезпечує надійне з'єднання для обміну даними між двома додатками. Перш ніж розпочати обмін даними, дві програми повинні встановити зв'язок, виконавши трикроковий процес встановлення сязі TCP. Для протоколу UDP більшою мірою характерний підхід «активізувати та забути». Надійність зв'язку для додатків TCPзабезпечується протоколом, а додатку UDP доводиться самостійно перевіряти надійність з'єднання.

Мережевий порт є числом від 1 до 65535, зазначене і відоме обом додаткам, між якими встановлюється зв'язок. Наприклад, клієнт зазвичай посилає незашифрований запит на сервер за цільовою адресою на TCP-порт 80. Зазвичай комп'ютер посилає запит DNSна DNS-сервер за цільовою адресою на UDP-порт 53. Клієнт та сервер мають IP-адресу джерела та призначення, а також мережевий порт джерела та призначення, які можуть відрізнятися. Історично всі номери портів нижче 1024 року отримали назву «відомих номерів портів» і зареєстровані в організації IANA (Internet Assigned Numbers Authority). У деяких операційних системах лише системні процеси можуть використовувати порти цього діапазону. Крім того, організації можуть зареєструвати в IANA порти з 1024 по 49151, щоб зв'язати порт зі своїм додатком. Така реєстрація забезпечує структуру, яка допомагає уникнути конфліктів між програмами, які прагнуть використовувати порт з одним номером. Однак загалом ніщо не заважає застосуванню запросити конкретний порт, якщо він не зайнятий іншою активною програмою.

Історично склалося так, що сервер може прослуховувати порти з малими номерами, а клієнт - ініціювати з'єднання від порту з великим номером (понад 1024). Наприклад, Web-клієнт може відкрити з'єднання з Web-сервером через порт призначення 80, але асоціювати довільно обраний порт-джерело, наприклад TCP-порт 1025. Відповідаючи клієнту, Web-сервер адресує пакет клієнту з портом-джерелом 80 і портом призначення 1025. Комбінація IP-адреси та порту називається сокетом (socket), вона має бути унікальною в комп'ютері. З цієї причини при організації Web-сервера з двома окремими Web-сайтами на одному комп'ютері необхідно використовувати кілька IP-адрес, наприклад address1:80 і address2:80, або налаштувати Web-сервер на прослуховування декількох мережевих портів, таких як address1:80 та address1:81. Деякі Web-сервери забезпечують роботу кількох Web-сайтів через один порт, запитуючи хост-заголовок, але насправді ця функція виконується додатком Web-сервера на вищому рівні.

У міру того як в операційних системах і програмах з'являлися мережеві функції, програмісти почали використовувати порти з номерами вище 1024, без реєстрації всіх програм в IANA. Виконавши в Internet пошук будь-якого мережного порту, зазвичай, вдається швидко знайти інформацію про додатках, які використовують цей порт. Або можна провести пошук за словами Well Known Ports і відшукати безліч сайтів зі списками найбільш типових портів.

При блокуванні мережних додатків комп'ютера або усуненні вад у брандмауері основна частина роботи припадає на класифікацію та фільтрацію IP-адрес рівня 3, а також протоколів і мережевих портів рівня 4. Щоб швидко відрізняти легальний і підозрілий трафік, слід навчитися розпізнавати 20 найбільш широко використовуваних на портів TCP та UDP.

Вміння розпізнавати мережеві порти та знайомство з ними не обмежується призначенням правил для брандмауера. Наприклад, деякі виправлення системи безпеки Microsoft описують процедуру закриття портів NetBIOS. Цей захід дозволяє обмежити поширення «хробаків», що проникають через уразливі місця операційної системи. Знаючи, як і де слід закрити ці порти, можна зменшити загрозу безпеці мережі під час підготовки до розгортання важливого виправлення.

І відразу до рівня 7

В даний час рідко доводиться чути про рівень 5 (сеансовий) і рівень 6 (подання даних), але рівень 7 (прикладний) - гаряча тема серед постачальників брандмауерів. Новітня тенденція у розвитку мережевих брандмауерів- контроль на рівні 7, який описує методи, що використовуються для аналізу роботи програми з мережевими протоколами. Аналізуючи корисну інформацію мережного пакета, брандмауер може визначити законність трафіку, що проходить через нього. Наприклад, Web-запит містить оператор GET усередині пакета рівня 4 (TCP-порт 80). Якщо у брандмауері реалізовані функції рівня 7, можна перевірити коректність оператора GET. Інший приклад - багато однорангові (P2P) програми обміну файлами можуть захопити порт 80. В результаті стороння особа може налаштувати програму на використання порту на власний вибір - швидше за все, порту, який повинен залишатися відкритим у даному брандмауері. Якщо співробітникам компанії потрібен вихід в Internet, необхідно відкрити порт 80, але щоб відрізнити законний Web-трафік від трафіку P2P, спрямованого кимось у порт 80, брандмауер повинен забезпечувати контроль на рівні 7.

Роль брандмауера

Описав мережні рівні, можна перейти до опису механізму зв'язку між мережевими програмамичерез брандмауери, приділивши особливу увагу використовуваним при цьому мережевим портам. У наступному прикладі клієнтський браузер встановлює зв'язок з Web-сервером з іншого боку брандмауера, як співробітник компанії звертається до Web-серверу в Internet.

Більшість Internet-брандмауерів працює на рівнях 3 і 4, щоб дослідити, а потім дозволити або блокувати вхідний та вихідний мережевий трафік. Загалом адміністратор складає списки керування доступом (ACL), які визначають IP-адреси та мережеві порти блокованого або дозволеного трафіку. Наприклад, щоб звернутися до Web, потрібно запустити браузер і націлити його на Web-сайт. Комп'ютер ініціює вихідне з'єднання, надсилаючи послідовність IP-пакетів, що складаються із заголовка та корисної інформації. Заголовок містить інформацію про маршрут та інші атрибути пакета. Правила брандмауера часто складаються з урахуванням інформації про маршрут і зазвичай містять IP-адреси джерела та місця призначення (рівень 3) та протокол пакету (рівень 4). При переміщеннях по Web IP-адреса призначення належить Web-серверу, а протокол і порт призначення (за замовчуванням) - TCP 80. IP-адреса джерела є адреса комп'ютера, з якого користувач виходить у Web, а порт джерела - зазвичай динамічно призначається число , що перевищує 1024. Корисна інформація не залежить від заголовка та генерується додатком користувача; у разі це запит Web-серверу на надання Web-страницы.

Брандмауер аналізує вихідний трафік і дозволяє його відповідно до правил брандмауера. Багато компаній дозволяють весь вихідний трафік зі своєї мережі. Такий підхід спрощує налаштування та розгортання, але через відсутність контролю даних, що залишають мережу, знижується безпека. Наприклад, «троянський кінь» може заразити комп'ютер у мережі підприємства та надсилати інформацію з цього комп'ютера іншому комп'ютеру в Internet. Має сенс скласти списки керування доступом для блокування такої вихідної інформації.

На відміну від прийнятого в багатьох брандмауерах підходу до вихідного трафіку, більшість із них налаштована на блокування вхідного трафіку. Як правило, брандмауери дозволяють вхідний трафік лише у двох випадках. Перший - трафік, що надходить у відповідь вихідний запит, надісланий раніше користувачем. Наприклад, якщо вказати в браузері адресу Web-сторінки, брандмауер пропускає в мережу програмний код HTML та інші компоненти Web-сторінки. Другий випадок - розміщення в Internet внутрішньої служби, такої як поштовий сервер, Web- або FTP-вузол. Розміщення такої служби зазвичай називається трансляцією порту чи публікацією сервера. Реалізація трансляції порту в різних постачальників брандмауерів є різною, але в основі лежить єдиний принцип. Адміністратор визначає службу, таку як TCP-порт 80 для Web-сервера та внутрішній сервер для розміщення служби. Якщо пакети надходять до брандмауера через зовнішній інтерфейс, Що відповідає даній службі, механізм трансляції портів пересилає їх на конкретний комп'ютер мережі, прихований за брандмауером. Трансляція порту використовується у поєднанні зі службою NAT, описаною нижче.

Основи NAT

Завдяки NAT численні комп'ютери компанії можуть спільно займати невеликий простір загальнодоступних IP-адрес. DHCP-сервер компанії може виділяти IP-адресу з одного з блоків приватних, Internet-немаршрутизованих IP-адрес, визначених у документі Request for Comments (RFC) № 1918. Декілька компаній також можуть спільно використовувати один простір приватних IP-адрес. Приклади приватних IP-підмереж - 10.0.0.0/8, 172.16.0.0/12 та 192.168.0.0/16. Маршрутизатори Internet блокують будь-які пакети, що направляються в одну з приватних адрес. NAT - функція брандмауера, з допомогою якої компанії, у яких використовуються приватні IP-адреси, встановлюють зв'язок коїться з іншими комп'ютерами в Internet. Брандмауер знає, як транслювати вхідний і вихідний трафік для приватних внутрішніх IP-адрес, щоб кожен комп'ютер мав доступ в Internet.