Port tushunchasi.
Port, tarmoq protokollarida aloqani yo'l bilan identifikatsiya qiluvchi raqamlardan iborat tashqi interfeys sifatida foydalaniladi. Tarmoqdagi har bir qurilmada (masalan, kompyuter, server yoki routerda) bir nechta portlar mavjud bo'lishi mumkin. Har bir portning raqami mavjud vaqtinchalik joylashgan tashqi ulanishning aloqasini yo'l bilan identifikatsiya qiladi.
Portlar, tarmoq ustida ma'lumotlar almashish va aloqa qurish uchun aloqador protokollarni ta'minlaydi. Masalan, 80-raqamli port HTTP protokolining, 443-raqamli port HTTPS protokolining va 25-raqamli port SMTP protokolining ishlab chiqarilishi uchun ishlatiladi.
Port skanerlar, tarmoqdagi portlarni aniqlash va ularga murojaat qilishning avtomatlashtirilgan vositasi hisoblanadi. Ularning asosiy maqsadi tarmoqdagi portlarni tekshirib, tarmoqdagi ochiq va xavfli portlarni aniqlash va ularga murojaat qilish imkoniyatini ta'minlashdir.
Port skanerlarining bir nechta turli turlari mavjud:
1. TCP skanerlar: TCP protokolini qo'llaydigan portlarni tekshirishda foydalaniladi. Skaner, tarmoqdagi barcha portlarni yo'qotishga harakat qiladi va portning ochiqligini tekshiradi.
2. UDP skanerlar: UDP protokolini qo'llaydigan portlarni tekshirish uchun foydalaniladi. UDP skanerlarida tarmoqdagi portlarga UDP paketlarni yuborib, javobning kelib chiqqanligini tekshirish va portning ochiqligini aniqlash imkoniyati mavjud.
3. SYN/ACK skanerlar: SYN/ACK paketlari orqali tarmoqdagi portlarni tekshirishda foydalaniladi. Skaner, portga SYN paketini yuboradi va javob sifatida SYN/ACK paketi kelishini kutadi. Agar SYN/ACK paketi qabul qilingan bo'lsa, port ochiqligi aniqlanadi.
Soket (inglizcha socket - ulagich) - jarayonlar o'rtasida ma'lumotlar almashinuvini ta'minlash uchun dasturiy interfeysning nomi. Bunday almashinuvdagi jarayonlar bir kompyuterda ham, bir-biriga faqat tarmoq orqali ulangan turli kompyuterlarda ham bajarilishi mumkin. Soket - bu ulanishning oxirgi nuqtasini ifodalovchi mavhum ob'ekt.
Mijoz va server soketlari o'rtasida farq qilish kerak. Mijoz soketlarini taxminan telefon tarmog'ining so'nggi qurilmalari bilan, server soketlarini esa kommutatorlar bilan solishtirish mumkin. Mijoz ilovasi (masalan, brauzer) faqat mijoz soketlaridan foydalanadi, server ilovasi esa (masalan, brauzer so‘rov yuboradigan veb-server) mijoz va server soketlaridan foydalanadi.
Soket interfeysi birinchi marta BSD Unix da paydo bo'ldi. Soket dasturlash interfeysi POSIX.1 standartida tasvirlangan va u yoki bu darajada barcha zamonaviy operatsion tizimlar tomonidan qo'llab-quvvatlanadi.
Soket tamoyillari
TCP/IP protokoli stekidan foydalangan holda mashinalar o'rtasida aloqa o'rnatish uchun manzillar va portlar ishlatiladi. Manzil IPv4 uchun 32 bitli, IPv6 uchun 128 bitli tuzilishdir. Port raqami 0 dan 65535 gacha (TCP protokoli uchun) oralig'idagi butun sondir.
Bu juftlik rozetkani (manzil va portga mos keladigan "rozetka") belgilaydi.
Almashtirish jarayonida, qoida tariqasida, ikkita rozetkadan foydalaniladi - jo'natuvchi rozetkasi va qabul qiluvchi rozetkasi. Masalan, HTTP portidagi serverga kirishda rozetka quyidagicha ko'rinadi: 194.106.118.30:80 va javob mmm.nnn.ppp.qqq:xxxxx manziliga keladi.
Har bir jarayon "tinglash" soketini (server soketi) yaratishi va uni ba'zi operatsion tizim portiga ulashi mumkin (UNIXda imtiyozsiz jarayonlar 1024 dan kichikroq portlardan foydalana olmaydi).
Tinglash jarayoni odatda uyqu rejimida bo'ladi, ya'ni u yangi ulanish kelganda uyg'onadi. Shu bilan birga, hozirgi vaqtda ulanishlar mavjudligini tekshirish, operatsiya uchun vaqtni belgilash va h.k.
Har bir rozetka o'z manziliga ega. UNIX operatsion tizimlari ko'p turdagi manzillarni qo'llab-quvvatlashi mumkin, ammo talab qilinadiganlari INET manzili va UNIX manzilidir. Agar siz rozetkani UNIX manziliga bog'lasangiz, ko'rsatilgan yo'l bo'ylab maxsus fayl (soket fayli) yaratiladi, u orqali har qanday mahalliy jarayonlar undan o'qish/yozish orqali bog'lanishi mumkin (Unix domen soketiga qarang). INET tipidagi rozetkalarga tarmoqdan kirish mumkin va ular ajratilgan port raqamini talab qiladi.
Odatda mijoz tinglovchiga aniq "ulanadi", shundan so'ng har qanday o'qish yoki yozish fayl deskriptori orqali u va server o'rtasida ma'lumotlarni uzatadi.
|