Взаємодія комп'ютерів між собою, а також з іншим активним мережевим обладнанням, в TCP / IP-мережах організовано на основі використання мережевих служб, які забезпечуються спеціальними процесами мережевої операційної системи (ОС) — демонами в UNIX-подібних ОС, службами в ОС сімейства ОС Windows і т. д. Прикладами мережевих сервісів є вебсервери (сайти всесвітньої павутини), електронна пошта, FTP-сервери для обміну файлами, та багато іншого.
Сокети, з'єднання
Спеціальні процеси операційної системи (демони, служби) створюють «слухаючий» сокет і «прив'язують» його до певного порту (пасивне відкриття з'єднання), забезпечуючи тим самим можливість іншим комп'ютерам звернутися до даної служби. Клієнтська програма або процес створює запит на відкриття сокета із зазначенням IP-адреси і порту сервера, в результаті чого встановлюється з'єднання, що дозволяє взаємодіяти двом комп'ютерам з використанням відповідного мережевого протоколу прикладного рівня.
Номери портів
Номер порту для «прив'язки» служби вибирається залежно від його функціонального призначення. За привласнення номерів портів певним мережним службам відповідає IANA. Номери портів знаходяться в діапазоні 0-65535 і розділені на 3 категорії:
Номери портів | Категорія | Опис |
---|---|---|
0—1023 | загальновідомі порти | Номери портів призначені IANA і на більшості систем можуть бути використані виключно процесами системи (або користувача root), або прикладними програмами, запущеними привілейованими користувачами. Не повинні використовуватися без реєстрації IANA. Процедура реєстрації визначена в розділі 19.9 RFC 4340(англ.). |
1024—49151 | зареєстровані порти | Номери портів включені в каталог IANA і на більшості систем можуть бути використані процесами звичайних користувачів або програмами, запущеними звичайними користувачами. Не повинні використовуватися без реєстрації IANA. Процедура реєстрації визначена в розділі 19.9 RFC 4340. |
49152—65535 | динамічні порти | Призначені для тимчасового використання (наприклад, для тестування додатків до реєстрації IANA), а також як клієнтські (використовуваних для приватних служб у середині мереж). Ці порти не можуть бути зареєстровані. |
Історія регулювання відповідності
Питання уніфікації відповідності мережевих служб номерами сокетів (портів) піднімалися в RFC 322 і RFC 349, перші спроби регулювання були зроблені Джоном Постелом в RFC 433 і RFC 503.
У березні 1990 року (див. RFC 1060) функція регулювання відповідності мережевих служб номерам портів була передана спеціальної організації -IANA, яка актуалізувала список відповідності випуском документів RFC «Assigned Numbers» (під номерами 739, 750, 755, 758, 762, 770, 776, 790, 820, 870, 900, 923, 943, 960, 990, 1010, 1060, 1340, 1700). Значну частину цих документів готував Джон Постел.
З січня 2002 року (див. RFC 3232) IANA публікує актуальний список відповідності на своєму сайті (без закріплення в RFC): http://www.iana.org/assignments/port-numbers.
Локальна копія списку
Локальна копія списку входить в інсталяційний пакет мережевих операційних систем. Файл локальної копії списку зазвичай називається services і в різних операційних системах «лежить» в різних місцях:
- Windows 98/ME
- C:\Windows\services
- Windows NT/XP
- C:\Windows\system32\drivers\etc\services
- UNIX-подібні ОС
- /etc/services
Стан мережевих служб операційної системи
У більшості операційних систем можна подивитися стан мережних служб за допомогою команди
- netstat -an
В ОС сімейства Windows результат роботи цієї команди виглядає приблизно так:
Активне підключення ім'я Локальний адрес Зовнішній адрес Стан TCP 0.0.0.0:135 0.0.0.0:0 LISTENING TCP 0.0.0.0:445 0.0.0.0:0 LISTENING TCP 127.0.0.1:1026 0.0.0.0:0 LISTENING TCP 127.0.0.1:12025 0.0.0.0:0 LISTENING TCP 127.0.0.1:12080 0.0.0.0:0 LISTENING TCP 127.0.0.1:12110 0.0.0.0:0 LISTENING TCP 127.0.0.1:12119 0.0.0.0:0 LISTENING TCP 127.0.0.1:12143 0.0.0.0:0 LISTENING TCP 192.168.0.16:139 0.0.0.0:0 LISTENING TCP 192.168.0.16:1572 213.180.204.20:80 CLOSE_WAIT TCP 192.168.0.16:1573 213.180.204.35:80 ESTABLISHED UDP 0.0.0.0:445 *:* UDP 0.0.0.0:500 *:* UDP 0.0.0.0:1025 *:* UDP 0.0.0.0:1056 *:* UDP 0.0.0.0:1057 *:* UDP 0.0.0.0:1066 *:* UDP 0.0.0.0:4500 *:* UDP 127.0.0.1:123 *:* UDP 127.0.0.1:1900 *:* UDP 192.168.0.16:123 *:* UDP 192.168.0.16:137 *:* UDP 192.168.0.16:138 *:* UDP 192.168.0.16:1900 *:*
В UNIX-подібних ОС результат роботи команди netstat -an має приблизно такий вигляд:
Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 0.0.0.0:37 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:199 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:2601 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:2604 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:2605 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:13 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:179 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:1723 0.0.0.0:* LISTEN tcp 0 0 10.0.0.254:1723 10.0.0.243:2441 ESTABLISHED tcp 0 0 192.168.19.34:179 192.168.19.33:33793 ESTABLISHED tcp 1 0 192.168.18.250:37 192.168.18.243:3723 CLOSE_WAIT tcp 0 0 10.0.0.254:1723 10.0.0.218:1066 ESTABLISHED tcp 1 0 192.168.18.250:37 192.168.18.243:2371 CLOSE_WAIT tcp 0 0 10.0.0.254:1723 10.0.0.201:4346 ESTABLISHED tcp 0 0 10.0.0.254:1723 10.0.0.30:2965 ESTABLISHED tcp 0 48 192.168.19.34:22 192.168.18.18:43645 ESTABLISHED tcp 0 0 10.0.0.254:38562 10.0.0.243:22 ESTABLISHED tcp 0 0 10.50.1.254:1723 10.50.1.2:57355 ESTABLISHED tcp 0 0 10.50.0.254:1723 10.50.0.174:1090 ESTABLISHED tcp 0 0 192.168.10.254:1723 192.168.13.104:65535 ESTABLISHED tcp 0 0 10.0.0.254:1723 10.0.0.144:65535 ESTABLISHED tcp 0 0 10.0.0.254:1723 10.0.0.169:2607 ESTABLISHED tcp 0 0 10.0.0.254:1723 10.0.0.205:1034 ESTABLISHED udp 0 0 0.0.0.0:1812 0.0.0.0:* udp 0 0 0.0.0.0:1813 0.0.0.0:* udp 0 0 0.0.0.0:161 0.0.0.0:* udp 0 0 0.0.0.0:323 0.0.0.0:* udp 0 0 0.0.0.0:123 0.0.0.0:* raw 0 0 192.168.10.254:47 192.168.13.104:* 1 raw 0 0 10.0.0.254:47 10.0.0.120:* 1 raw 0 0 10.10.204.20:47 10.10.16.110:* 1 raw 0 0 192.168.10.254:47 192.168.11.72:* 1 raw 0 0 10.0.0.254:47 10.0.0.144:* 1 raw 0 0 10.0.0.254:47 10.0.0.205:* 1 raw 0 0 10.50.0.254:47 10.50.0.174:* 1 raw 0 0 10.0.0.254:47 10.0.0.170:* 1 raw 0 0 10.0.0.254:47 10.0.0.179:* 1
Стан (State) LISTEN (LISTENING) показує пасивно відкриті з'єднання . Саме вони і надають мережеві служби.
ESTABLISHED — це встановлені з'єднання, тобто мережеві служби в процесі їх використання.
Перевірка доступності мережевих служб
У разі виявлення проблем з тією чи іншою мережевою службою, для перевірки її доступності використовують різні засоби діагностики, залежно від їх наявності в даній ОС.
Один з найзручніших засобів — команда (утиліта) tcptraceroute (різновид traceroute), яка використовує TCP-пакети відкриття з'єднання ((SYN|ACK)) з вказаним сервером (за замовчуванням — web-сервер, порт 80) хоста і показує інформацію про час проходження даного виду TCP-пакетів через маршрутизатори, а також інформацію щодо доступності хоста, або, у разі проблем з доставкою пакетів — в якому місці шляху вони виникли.
Як альтернативу можна використовувати окремо
Посилання
- Актуальный список номеров портов // IANA(англ.)
- RFC 322(англ.) Well Known Socket Numbers
- RFC 349(англ.) Proposed Standard Socket Numbers (отменён RFC 433)
- RFC 433(англ.) Socket Number List (отменён RFC 503)
- RFC 503(англ.) Socket Number List (отменён RFC 739)
- RFC 739(англ.) ASSIGNED NUMBERS (первый список присвоенных номеров, был заменён рядом RFCs, последний из которых RFC 1700)
- RFC 768(англ.) User Datagram Protocol
- RFC 793(англ.) TRANSMISSION CONTROL PROTOCOL
- RFC 1700(англ.) ASSIGNED NUMBERS (последний список присвоенных номеров, отменён RFC 3232)
- RFC 3232(англ.) Assigned Numbers: RFC 1700 is Replaced by an On-line Database
- RFC 4340(англ.) Datagram Congestion Control Protocol (DCCP) — PROPOSED STANDARD
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Vzayemodiya komp yuteriv mizh soboyu a takozh z inshim aktivnim merezhevim obladnannyam v TCP IP merezhah organizovano na osnovi vikoristannya merezhevih sluzhb yaki zabezpechuyutsya specialnimi procesami merezhevoyi operacijnoyi sistemi OS demonami v UNIX podibnih OS sluzhbami v OS simejstva OS Windows i t d Prikladami merezhevih servisiv ye vebserveri sajti vsesvitnoyi pavutini elektronna poshta FTP serveri dlya obminu fajlami ta bagato inshogo Soketi z yednannyaSpecialni procesi operacijnoyi sistemi demoni sluzhbi stvoryuyut sluhayuchij soket i priv yazuyut jogo do pevnogo portu pasivne vidkrittya z yednannya zabezpechuyuchi tim samim mozhlivist inshim komp yuteram zvernutisya do danoyi sluzhbi Kliyentska programa abo proces stvoryuye zapit na vidkrittya soketa iz zaznachennyam IP adresi i portu servera v rezultati chogo vstanovlyuyetsya z yednannya sho dozvolyaye vzayemodiyati dvom komp yuteram z vikoristannyam vidpovidnogo merezhevogo protokolu prikladnogo rivnya Nomeri portivNomer portu dlya priv yazki sluzhbi vibirayetsya zalezhno vid jogo funkcionalnogo priznachennya Za privlasnennya nomeriv portiv pevnim merezhnim sluzhbam vidpovidaye IANA Nomeri portiv znahodyatsya v diapazoni 0 65535 i rozdileni na 3 kategoriyi Nomeri portiv Kategoriya Opis 0 1023 zagalnovidomi porti Nomeri portiv priznacheni IANA i na bilshosti sistem mozhut buti vikoristani viklyuchno procesami sistemi abo koristuvacha root abo prikladnimi programami zapushenimi privilejovanimi koristuvachami Ne povinni vikoristovuvatisya bez reyestraciyi IANA Procedura reyestraciyi viznachena v rozdili 19 9 RFC 4340 angl 1024 49151 zareyestrovani porti Nomeri portiv vklyucheni v katalog IANA i na bilshosti sistem mozhut buti vikoristani procesami zvichajnih koristuvachiv abo programami zapushenimi zvichajnimi koristuvachami Ne povinni vikoristovuvatisya bez reyestraciyi IANA Procedura reyestraciyi viznachena v rozdili 19 9 RFC 4340 49152 65535 dinamichni porti Priznacheni dlya timchasovogo vikoristannya napriklad dlya testuvannya dodatkiv do reyestraciyi IANA a takozh yak kliyentski vikoristovuvanih dlya privatnih sluzhb u seredini merezh Ci porti ne mozhut buti zareyestrovani Istoriya regulyuvannya vidpovidnosti Pitannya unifikaciyi vidpovidnosti merezhevih sluzhb nomerami soketiv portiv pidnimalisya v RFC 322 i RFC 349 pershi sprobi regulyuvannya buli zrobleni Dzhonom Postelom v RFC 433 i RFC 503 U berezni 1990 roku div RFC 1060 funkciya regulyuvannya vidpovidnosti merezhevih sluzhb nomeram portiv bula peredana specialnoyi organizaciyi IANA yaka aktualizuvala spisok vidpovidnosti vipuskom dokumentiv RFC Assigned Numbers pid nomerami 739 750 755 758 762 770 776 790 820 870 900 923 943 960 990 1010 1060 1340 1700 Znachnu chastinu cih dokumentiv gotuvav Dzhon Postel Z sichnya 2002 roku div RFC 3232 IANA publikuye aktualnij spisok vidpovidnosti na svoyemu sajti bez zakriplennya v RFC http www iana org assignments port numbers Lokalna kopiya spisku Lokalna kopiya spisku vhodit v instalyacijnij paket merezhevih operacijnih sistem Fajl lokalnoyi kopiyi spisku zazvichaj nazivayetsya services i v riznih operacijnih sistemah lezhit v riznih miscyah Windows 98 ME C Windows services Windows NT XP C Windows system32 drivers etc services UNIX podibni OS etc servicesStan merezhevih sluzhb operacijnoyi sistemiU bilshosti operacijnih sistem mozhna podivitisya stan merezhnih sluzhb za dopomogoyu komandi netstat an V OS simejstva Windows rezultat roboti ciyeyi komandi viglyadaye priblizno tak Aktivne pidklyuchennya im ya Lokalnij adres Zovnishnij adres Stan TCP 0 0 0 0 135 0 0 0 0 0 LISTENING TCP 0 0 0 0 445 0 0 0 0 0 LISTENING TCP 127 0 0 1 1026 0 0 0 0 0 LISTENING TCP 127 0 0 1 12025 0 0 0 0 0 LISTENING TCP 127 0 0 1 12080 0 0 0 0 0 LISTENING TCP 127 0 0 1 12110 0 0 0 0 0 LISTENING TCP 127 0 0 1 12119 0 0 0 0 0 LISTENING TCP 127 0 0 1 12143 0 0 0 0 0 LISTENING TCP 192 168 0 16 139 0 0 0 0 0 LISTENING TCP 192 168 0 16 1572 213 180 204 20 80 CLOSE WAIT TCP 192 168 0 16 1573 213 180 204 35 80 ESTABLISHED UDP 0 0 0 0 445 UDP 0 0 0 0 500 UDP 0 0 0 0 1025 UDP 0 0 0 0 1056 UDP 0 0 0 0 1057 UDP 0 0 0 0 1066 UDP 0 0 0 0 4500 UDP 127 0 0 1 123 UDP 127 0 0 1 1900 UDP 192 168 0 16 123 UDP 192 168 0 16 137 UDP 192 168 0 16 138 UDP 192 168 0 16 1900 V UNIX podibnih OS rezultat roboti komandi netstat an maye priblizno takij viglyad Active Internet connections servers and established Proto Recv Q Send Q Local Address Foreign Address State tcp 0 0 0 0 0 0 37 0 0 0 0 LISTEN tcp 0 0 0 0 0 0 199 0 0 0 0 LISTEN tcp 0 0 0 0 0 0 2601 0 0 0 0 LISTEN tcp 0 0 0 0 0 0 3306 0 0 0 0 LISTEN tcp 0 0 0 0 0 0 2604 0 0 0 0 LISTEN tcp 0 0 0 0 0 0 2605 0 0 0 0 LISTEN tcp 0 0 0 0 0 0 13 0 0 0 0 LISTEN tcp 0 0 0 0 0 0 179 0 0 0 0 LISTEN tcp 0 0 0 0 0 0 21 0 0 0 0 LISTEN tcp 0 0 0 0 0 0 22 0 0 0 0 LISTEN tcp 0 0 0 0 0 0 1723 0 0 0 0 LISTEN tcp 0 0 10 0 0 254 1723 10 0 0 243 2441 ESTABLISHED tcp 0 0 192 168 19 34 179 192 168 19 33 33793 ESTABLISHED tcp 1 0 192 168 18 250 37 192 168 18 243 3723 CLOSE WAIT tcp 0 0 10 0 0 254 1723 10 0 0 218 1066 ESTABLISHED tcp 1 0 192 168 18 250 37 192 168 18 243 2371 CLOSE WAIT tcp 0 0 10 0 0 254 1723 10 0 0 201 4346 ESTABLISHED tcp 0 0 10 0 0 254 1723 10 0 0 30 2965 ESTABLISHED tcp 0 48 192 168 19 34 22 192 168 18 18 43645 ESTABLISHED tcp 0 0 10 0 0 254 38562 10 0 0 243 22 ESTABLISHED tcp 0 0 10 50 1 254 1723 10 50 1 2 57355 ESTABLISHED tcp 0 0 10 50 0 254 1723 10 50 0 174 1090 ESTABLISHED tcp 0 0 192 168 10 254 1723 192 168 13 104 65535 ESTABLISHED tcp 0 0 10 0 0 254 1723 10 0 0 144 65535 ESTABLISHED tcp 0 0 10 0 0 254 1723 10 0 0 169 2607 ESTABLISHED tcp 0 0 10 0 0 254 1723 10 0 0 205 1034 ESTABLISHED udp 0 0 0 0 0 0 1812 0 0 0 0 udp 0 0 0 0 0 0 1813 0 0 0 0 udp 0 0 0 0 0 0 161 0 0 0 0 udp 0 0 0 0 0 0 323 0 0 0 0 udp 0 0 0 0 0 0 123 0 0 0 0 raw 0 0 192 168 10 254 47 192 168 13 104 1 raw 0 0 10 0 0 254 47 10 0 0 120 1 raw 0 0 10 10 204 20 47 10 10 16 110 1 raw 0 0 192 168 10 254 47 192 168 11 72 1 raw 0 0 10 0 0 254 47 10 0 0 144 1 raw 0 0 10 0 0 254 47 10 0 0 205 1 raw 0 0 10 50 0 254 47 10 50 0 174 1 raw 0 0 10 0 0 254 47 10 0 0 170 1 raw 0 0 10 0 0 254 47 10 0 0 179 1 Stan State LISTEN LISTENING pokazuye pasivno vidkriti z yednannya Same voni i nadayut merezhevi sluzhbi ESTABLISHED ce vstanovleni z yednannya tobto merezhevi sluzhbi v procesi yih vikoristannya Perevirka dostupnosti merezhevih sluzhbU razi viyavlennya problem z tiyeyu chi inshoyu merezhevoyu sluzhboyu dlya perevirki yiyi dostupnosti vikoristovuyut rizni zasobi diagnostiki zalezhno vid yih nayavnosti v danij OS Odin z najzruchnishih zasobiv komanda utilita tcptraceroute riznovid traceroute yaka vikoristovuye TCP paketi vidkrittya z yednannya SYN ACK z vkazanim serverom za zamovchuvannyam web server port 80 hosta i pokazuye informaciyu pro chas prohodzhennya danogo vidu TCP paketiv cherez marshrutizatori a takozh informaciyu shodo dostupnosti hosta abo u razi problem z dostavkoyu paketiv v yakomu misci shlyahu voni vinikli Yak alternativu mozhna vikoristovuvati okremo traceroute dlya diagnostiki marshrutu dostavki paketiv nedolik vikoristannya UDP paketiv dlya diagnostiki telnet abo netcat na port problemnoyi sluzhbi dlya perevirki yiyi vidguku PosilannyaAktualnyj spisok nomerov portov IANA angl RFC 322 angl Well Known Socket Numbers RFC 349 angl Proposed Standard Socket Numbers otmenyon RFC 433 RFC 433 angl Socket Number List otmenyon RFC 503 RFC 503 angl Socket Number List otmenyon RFC 739 RFC 739 angl ASSIGNED NUMBERS pervyj spisok prisvoennyh nomerov byl zamenyon ryadom RFCs poslednij iz kotoryh RFC 1700 RFC 768 angl User Datagram Protocol RFC 793 angl TRANSMISSION CONTROL PROTOCOL RFC 1700 angl ASSIGNED NUMBERS poslednij spisok prisvoennyh nomerov otmenyon RFC 3232 RFC 3232 angl Assigned Numbers RFC 1700 is Replaced by an On line Database RFC 4340 angl Datagram Congestion Control Protocol DCCP PROPOSED STANDARD