پورت 53 مسئول چه چیزی است. شبکه های

لایه حمل و نقل

وظیفه لایه انتقال انتقال داده ها بین برنامه های مختلف در حال اجرا در تمام گره های شبکه است. پس از تحویل بسته از طریق IP به رایانه گیرنده، داده ها باید به یک فرآیند گیرنده ویژه ارسال شوند. هر کامپیوتر می تواند چندین فرآیند را اجرا کند و یک برنامه کاربردی می تواند چندین نقطه ورودی داشته باشد که به عنوان مقصد بسته های داده عمل می کند.

بسته هایی که به لایه انتقال سیستم عامل می رسند در صف های متعدد در نقاط ورودی برنامه های مختلف سازماندهی می شوند. در اصطلاح TCP/IP به این نقاط ورود پورت می گویند.

پروتکل کنترل انتقال

پروتکل کنترل انتقال(TCP) (پروتکل کنترل انتقال) یک پروتکل اجباری از استاندارد TCP/IP است که در RFC 793، "پروتکل کنترل انتقال (TCP)" تعریف شده است.

TCPیک پروتکل لایه انتقال است که انتقال (انتقال) یک جریان داده را با نیاز به برقراری ارتباط ابتدا فراهم می کند و در نتیجه اطمینان از یکپارچگی داده های دریافتی را تضمین می کند و همچنین درخواست مکرر داده را در صورت از دست دادن داده انجام می دهد. یا فساد علاوه بر این، پروتکل TCP بسته های تکراری را نظارت می کند و در صورت شناسایی، بسته های تکراری را از بین می برد.

برخلاف پروتکل UDP، یکپارچگی داده های ارسالی و تایید فرستنده از نتایج انتقال را تضمین می کند. در انتقال فایل استفاده می شود که در آن از دست دادن یک بسته می تواند کل فایل را خراب کند.

TCP قابلیت اطمینان خود را با موارد زیر به دست می آورد:

  • داده های برنامه به بلوک هایی با اندازه مشخصی تقسیم می شود که ارسال می شود.
  • هنگامی که TCP یک بخش را ارسال می کند، یک تایمر تنظیم می کند و منتظر است تا تایید آن بخش از انتهای راه دور برسد. اگر پس از سپری شدن زمان تاییدیه ای دریافت نشود، بخش مجددا ارسال می شود.
  • هنگامی که TCP داده ها را از سمت راه دور اتصال دریافت می کند، یک تایید ارسال می کند. این تصدیق بلافاصله ارسال نمی شود، اما معمولاً برای کسری از ثانیه به تأخیر می افتد.
  • TCP برای هدر و داده‌های خود یک چک‌سوم محاسبه می‌کند. این یک چک جمع محاسبه شده در انتهای اتصال است که هدف آن تشخیص هرگونه تغییر در داده ها در حین انتقال است. اگر یک بخش با یک جمع‌بندی نادرست وارد شود، TCP آن را کنار می‌گذارد و هیچ تاییدی ایجاد نمی‌شود. (انتظار می رود که فرستنده به پایان برسد و دوباره ارسال کند.)
  • از آنجایی که بخش های TCP به صورت دیتاگرام IP منتقل می شوند و دیتاگرام های IP می توانند به صورت تصادفی وارد شوند، بخش های TCP نیز می توانند به صورت تصادفی وارد شوند. پس از دریافت داده ها، TCP می تواند آن را در صورت نیاز مجدداً ترتیب دهد تا برنامه داده ها را به ترتیب صحیح دریافت کند.
  • از آنجایی که یک دیتاگرام IP می تواند کپی شود، TCP دریافت کننده باید داده های تکراری را دور بیندازد.
  • TCP کنترل جریان را فراهم می کند. هر طرف اتصال TCP دارای یک فضای بافر خاص است. TCP در انتهای گیرنده به انتهای راه دور اجازه می دهد تا داده ها را تنها در صورتی ارسال کند که گیرنده بتواند آن را در یک بافر قرار دهد. این امر مانع از سرریز شدن بافرهای میزبان های کند با میزبان های سریع می شود.

  • شماره دنباله دو هدف را دنبال می کند:
    • اگر پرچم SYN تنظیم شده باشد، این مقدار اولیه شماره دنباله است - ISN (Initial Sequence Number) و اولین بایت داده ای که در بسته بعدی ارسال می شود دارای شماره دنباله ای برابر با ISN + 1 خواهد بود.
    • در غیر این صورت، اگر SYN تنظیم نشده باشد، اولین بایت داده ارسال شده در یک بسته معین دارای این شماره دنباله است.
  • Acknowledgment Number - اگر پرچم ACK تنظیم شده باشد، این فیلد حاوی شماره ترتیب مورد انتظار گیرنده دفعه بعد است. این بخش را به عنوان تاییدیه دریافت علامت گذاری می کند.
  • طول هدر در کلمات 32 بیتی مشخص می شود.
  • اندازه پنجره تعداد بایت هایی است که گیرنده مایل به پذیرش بدون تایید است.
  • Checksum - شامل شبه هدر، هدر و داده است.
  • نشانگر فوریت - آخرین بایت داده های فوری را نشان می دهد که باید فوراً به آن پاسخ داده شود.
  • URG - پرچم فوریت، شامل فیلد "نشانگر فوریت" است.
  • ACK - پرچم تایید، شامل فیلد "شماره تایید" است، اگر = 0 باشد، فیلد نادیده گرفته می شود.
  • PSH - پرچم نیاز به عملیات فشار دارد، ماژول TCP باید فوراً بسته را به برنامه منتقل کند.
  • RST - پرچم قطع اتصال که برای رد اتصال استفاده می شود
  • SYN - پرچم همگام سازی شماره دنباله ای که هنگام برقراری اتصال استفاده می شود.
  • FIN - پرچم پایان انتقال از سمت فرستنده

بیایید به ساختار هدر نگاه کنیم TCPبا استفاده از تحلیلگر شبکه Wireshark:


پورت های TCP

از آنجایی که چندین برنامه می توانند روی یک کامپیوتر اجرا شوند، برای تحویل یک بسته TCP به یک برنامه خاص، از شناسه یا شماره پورت منحصر به فرد هر برنامه استفاده می شود.

شماره پورتیک عدد 16 بیتی شرطی از 1 تا 65535 است که نشان می دهد بسته برای کدام برنامه در نظر گرفته شده است.

پورت های TCP از یک پورت نرم افزاری خاص برای تحویل داده های ارسال شده با استفاده از پروتکل کنترل انتقال (TCP) استفاده می کنند. پورت های TCP پیچیده تر هستند و متفاوت از پورت های UDP کار می کنند. در حالی که یک پورت UDP به عنوان یک صف پیام واحد و به عنوان نقطه ورود برای اتصال UDP عمل می کند، نقطه ورود نهایی برای همه اتصالات TCP یک اتصال منحصر به فرد است. هر اتصال TCP به طور منحصر به فرد توسط دو نقطه ورودی شناسایی می شود.

هر پورت سرور TCP منفرد می تواند دسترسی مشترک به چندین اتصال را ارائه دهد زیرا همه اتصالات TCP با دو مقدار شناسایی می شوند: یک آدرس IP و یک پورت TCP (سوکت).

تمام شماره‌های پورت TCP که کمتر از 1024 هستند، توسط مرجع شماره‌های اختصاص داده شده اینترنت (IANA) رزرو و ثبت می‌شوند.

شماره پورت های UDP و TCP با هم همپوشانی ندارند.

برنامه های TCP از شماره پورت های رزرو شده یا شناخته شده استفاده می کنند، همانطور که در شکل زیر نشان داده شده است.

برقراری ارتباط TCP

حال بیایید ببینیم که چگونه اتصالات TCP برقرار می شوند. فرض کنید فرآیندی که روی یک هاست اجرا می‌شود، می‌خواهد با فرآیند دیگری در میزبان دیگر ارتباط برقرار کند. به یاد داشته باشید که میزبانی که اتصال را آغاز می کند "کلینت" نامیده می شود، در حالی که میزبان دیگر "سرور" نامیده می شود.

قبل از انتقال هر داده، طبق پروتکل TCP، طرفین باید یک اتصال برقرار کنند. اتصال در سه مرحله برقرار می شود (فرآیند TCP "سه دست دادن").

  • درخواست کننده (معمولاً کلاینت نامیده می شود) یک بخش SYN را ارسال می کند که شماره پورت سروری را که مشتری می خواهد به آن متصل شود و شماره دنباله اصلی مشتری (ISN) را نشان می دهد.
  • سرور با بخش SYN خود که شامل شماره دنباله اصلی سرور است پاسخ می دهد. سرور همچنین ورود SYN مشتری را با استفاده از ACK تأیید می کند (ISN + 1). در هر SYN از یک شماره دنباله استفاده می شود.
  • کلاینت باید ورود یک SYN از سرور را با بخش های SYN آن حاوی شماره دنباله اصلی مشتری (ISN+1) و با استفاده از ACK (ISN+1) تأیید کند. بیت SYN روی 0 تنظیم شده است زیرا اتصال برقرار شده است.

هنگامی که اتصال TCP برقرار شد، این دو میزبان می توانند داده ها را به یکدیگر منتقل کنند، از آنجایی که اتصال TCP کاملا دوطرفه است، آنها می توانند داده ها را به طور همزمان انتقال دهند.

شماره پورت برای "پیوند" یک سرویس بسته به هدف عملکردی آن انتخاب می شود. IANA مسئول تخصیص شماره پورت به خدمات شبکه خاص است.

شماره پورت ها از 0 تا 65535 متغیر است و به 3 دسته تقسیم می شوند:


شماره های پورت

دسته بندی

شرح
0—1023 بنادر معروف شماره‌های پورت توسط IANA اختصاص داده می‌شوند و در اکثر سیستم‌ها فقط می‌توانند توسط فرآیندهای سیستم (یا ریشه) یا برنامه‌های در حال اجرا توسط کاربران ممتاز استفاده شوند.

نباید استفاده شودبدون ثبت IANA روش ثبت نام در بخش 19.9 RFC 4340 تعریف شده است.

1024—49151 پورت های ثبت شده شماره پورت در کاتالوگ IANA گنجانده شده است و می تواند توسط فرآیندهای کاربر معمولی یا برنامه هایی که توسط کاربران عادی در اکثر سیستم ها اجرا می شود استفاده شود.

نباید استفاده شودبدون ثبت IANA روش ثبت نام در بخش 19.9 RFC 4340 تعریف شده است.

49152—65535 پورت های دینامیک در نظر گرفته شده برای استفاده موقت (به عنوان مثال، آزمایش برنامه های کاربردی قبل از ثبت نام IANA)، و همچنین سمت مشتری (برای خدمات خصوصی در شبکه های بسته استفاده می شود). این پورت ها قابل ثبت نیست

کپی محلی از لیست

یک نسخه محلی از لیست در بسته نصب سیستم عامل های شبکه گنجانده شده است. فایل یک کپی محلی از لیست معمولا سرویس نامیده می شود و در مکان های مختلف در سیستم عامل های مختلف قرار دارد:

ویندوز 98/ME

ج:\ویندوز\خدمات

ویندوز NT/XP

C:\Windows\system32\drivers\etc\services

سیستم عامل یونیکس مانند

رفتن به: 1 مدت، اصطلاح نبایددر این زمینه در معنای تعریف استفاده می شودنبایددر RFC 2119 ارائه شده است (انگلیسی):

"نباید"یا "توصیه نمیشود"به این معنی که در شرایط خاص ممکن است موارد فردی بنا به دلایل قانع کننده ای وجود داشته باشد که نقض توصیه های مشخص شده قابل قبول و یا حتی ارجح باشد، اما این دلایل و شرایط باید قبل از نقض توصیه های مشخص شده با این عبارت درک شده و به دقت سنجیده شوند.

پورت های شبکه می توانند اطلاعات حیاتی در مورد برنامه هایی که از طریق شبکه به رایانه ها دسترسی دارند ارائه دهند. با دانستن برنامه‌هایی که از شبکه و پورت‌های شبکه مربوطه استفاده می‌کنند، می‌توانید قوانین فایروال دقیقی ایجاد کنید و رایانه‌های میزبان را طوری پیکربندی کنید که فقط به ترافیک مفید اجازه دهند. با ساختن یک نمایه شبکه و استقرار ابزارهایی برای تشخیص ترافیک شبکه، می‌توانید به طور موثرتر مزاحمان را شناسایی کنید - گاهی اوقات به سادگی با تجزیه و تحلیل ترافیک شبکه که آنها ایجاد می‌کنند. بررسی این موضوع را در قسمت اول مقاله منتشر شده در شماره قبلی مجله شروع کردیم. اطلاعات اولیه در مورد پورت های TCP/IP به عنوان پایه و اساس امنیت شبکه ارائه شد. بخش 2 برخی از روش‌های شبکه و میزبان را شرح می‌دهد که می‌توانند برای شناسایی برنامه‌های کاربردی در حال گوش دادن در شبکه استفاده شوند. در ادامه مقاله در مورد نحوه ارزیابی ترافیک عبوری از شبکه صحبت خواهیم کرد.

مسدود کردن برنامه های شبکه

سطح حمله شبکه یک اصطلاح رایج برای توصیف آسیب پذیری شبکه است. بسیاری از حملات شبکه از طریق برنامه های آسیب پذیر صورت می گیرد و سطح حمله را می توان با کاهش تعداد برنامه های فعال در شبکه به میزان قابل توجهی کاهش داد. به عبارت دیگر، شما باید خدمات استفاده نشده را غیرفعال کنید، یک فایروال روی سیستم اختصاصی نصب کنید تا مشروعیت ترافیک را بررسی کنید و یک لیست کنترل دسترسی جامع (ACL) برای فایروال در محیط شبکه ایجاد کنید.

هر پورت شبکه باز نشان دهنده برنامه ای است که در شبکه گوش می دهد. سطح حمله هر سرور متصل به شبکه را می توان با غیرفعال کردن تمام سرویس ها و برنامه های غیر ضروری شبکه کاهش داد. Windows Server 2003 نسبت به نسخه های قبلی سیستم عامل برتری دارد زیرا خدمات شبکه کمتری را به طور پیش فرض فعال می کند. با این حال، بازرسی برای شناسایی برنامه‌های تازه نصب‌شده و تغییرات پیکربندی که پورت‌های غیرضروری شبکه را باز می‌کنند، هنوز ضروری است.

هر پورت باز یک درب پشتی بالقوه برای مهاجمان برای سوء استفاده از فضاهای برنامه میزبان یا دسترسی مخفیانه به برنامه با نام و رمز عبور کاربر دیگر (یا استفاده از روش احراز هویت قانونی دیگر) است. در هر صورت، اولین قدم مهم برای محافظت از شبکه، غیرفعال کردن برنامه‌های شبکه بلااستفاده است.

اسکن پورت

اسکن پورت فرآیند شناسایی برنامه های گوش دادن با نظرسنجی فعال پورت های شبکه یک کامپیوتر یا سایر دستگاه های شبکه است. توانایی خواندن نتایج اسکن و مقایسه گزارش های شبکه با نتایج نظرسنجی پورت میزبان به شما این امکان را می دهد که تصویر واضحی از ترافیک جاری در شبکه خود داشته باشید. دانش توپولوژی شبکه در تهیه یک برنامه استراتژیک برای اسکن مناطق خاص مهم است. به عنوان مثال، با اسکن طیف وسیعی از آدرس های IP خارجی، می توانید داده های ارزشمندی در مورد یک مهاجم اینترنتی جمع آوری کنید. بنابراین، باید شبکه خود را بیشتر اسکن کنید و تمام پورت های غیر ضروری شبکه را ببندید.

اسکن پورت فایروال خارجی می تواند تمام سرویس های پاسخ دهنده (مانند وب یا ایمیل) را که روی سرورهای داخلی میزبانی می شوند، شناسایی کند. این سرورها نیز باید محافظت شوند. یک اسکنر پورت آشنا (به عنوان مثال، Network Mapper - Nmap) را برای اسکن گروه مورد نظر از پورت های UDP یا TCP پیکربندی کنید. به طور معمول، اسکن پورت TCP به دلیل بازخورد عمیق تر از پروتکل های اتصال گرا TCP، قابل اعتمادتر از اسکن UDP است. نسخه های Nmap هم برای ویندوز و هم برای یونیکس وجود دارد. شروع یک اسکن اولیه آسان است، اگرچه این برنامه ویژگی های بسیار پیشرفته تری را ارائه می دهد. برای یافتن پورت های باز در رایانه آزمایشی، دستور را اجرا کردم

Nmap 192.168.0.161

صفحه 1 نتایج یک جلسه اسکن را نشان می دهد - در این مورد، یک رایانه ویندوز 2003 در یک پیکربندی استاندارد. داده های جمع آوری شده از اسکن پورت نشان می دهد که شش پورت TCP باز وجود دارد.

صفحه 1: جلسه اسکن اصلی Nmap
  • پورت 135 توسط ویژگی نقشه‌برداری نقطه پایانی RPC که در بسیاری از فناوری‌های ویندوز، مانند برنامه‌های COM/DCOM، DFS، ثبت رویداد، تکرار فایل، صف‌بندی پیام و Microsoft Outlook وجود دارد، استفاده می‌شود. این پورت باید توسط فایروال محیطی شبکه مسدود شود، اما مسدود کردن آن و حفظ عملکرد ویندوز دشوار است.
  • پورت 139 توسط سرویس جلسه NetBIOS استفاده می شود که مرورگر Find Other Computers، خدمات اشتراک فایل، Net Logon و سرویس سرور را فعال می کند. بستنش هم مثل پورت 135 سخته.
  • پورت 445 توسط ویندوز برای اشتراک گذاری فایل استفاده می شود. برای بستن این پورت، باید اشتراک گذاری فایل و چاپگر را برای شبکه های مایکروسافت مسدود کنید. بستن این پورت مانع از اتصال کامپیوتر به سایر منابع راه دور نمی شود. با این حال، کامپیوترهای دیگر قادر به اتصال به این سیستم نخواهند بود.
  • پورت های 1025 و 1026 به صورت پویا باز می شوند و توسط سایر فرآیندهای سیستم ویندوز، به ویژه سرویس های مختلف مورد استفاده قرار می گیرند.
  • پورت 3389 توسط Remote Desktop استفاده می شود که به طور پیش فرض فعال نیست، اما در رایانه آزمایشی من فعال است. برای بستن پورت، به تب Remote در کادر محاوره‌ای System Properties بروید و تیک Allow users to connect remotely to this computer را پاک کنید.

حتماً پورت های UDP باز را جستجو کنید و پورت های غیر ضروری را ببندید. برنامه اسکن پورت های باز رایانه را نشان می دهد که از شبکه قابل مشاهده هستند. نتایج مشابهی را می توان با استفاده از ابزارهای واقع در سیستم میزبان به دست آورد.

اسکن میزبان

علاوه بر استفاده از اسکنر پورت شبکه، پورت های باز در سیستم میزبان را می توان با استفاده از دستور زیر (اجرا در سیستم میزبان) شناسایی کرد:

Netstat -an

این دستور هم در ویندوز و هم در یونیکس کار می کند. Netstat لیستی از پورت های فعال در رایانه را ارائه می دهد. در ویندوز 2003 ویندوز XP، باید گزینه -o را اضافه کنید تا شناسه برنامه (PID) مربوطه را دریافت کنید. شکل 2 خروجی Netstat را برای همان رایانه ای که قبلاً پورت اسکن شده بود نشان می دهد. لطفاً توجه داشته باشید که چندین پورت که قبلاً فعال بودند بسته هستند.

حسابرسی لاگ فایروال

یکی دیگر از راه های مفید برای شناسایی برنامه های کاربردی شبکه که داده ها را از طریق شبکه ارسال یا دریافت می کنند، جمع آوری و تجزیه و تحلیل داده های بیشتر در گزارش فایروال است. به دلیل «ترافیک نویز» (به عنوان مثال، از کرم‌ها، اسکنرها، آزمایش پینگ) که اینترنت را مسدود می‌کند، بعید است ورودی‌هایی که اطلاعاتی از قسمت جلویی فایروال ارائه می‌دهند مفید باشند. اما اگر بسته های مجاز را از رابط داخلی وارد کنید، می توانید تمام ترافیک شبکه ورودی و خروجی را مشاهده کنید.

برای مشاهده داده های ترافیک خام در شبکه خود، می توانید یک تحلیلگر شبکه نصب کنید که به شبکه متصل می شود و تمام بسته های شبکه شناسایی شده را ضبط می کند. پرکاربردترین تحلیلگر شبکه رایگان Tcpdump برای یونیکس است (نسخه ویندوز Windump نامیده می شود) که به راحتی بر روی رایانه شما نصب می شود. پس از نصب برنامه، باید آن را طوری پیکربندی کنید که در حالت دریافت تمام بسته های شبکه کار کند تا تمام ترافیک ثبت شود و سپس آن را به یک پورت مانیتور در سوئیچ شبکه متصل کنید و تمام ترافیک عبوری از شبکه را نظارت کنید. راه اندازی مانیتور پورت در زیر مورد بحث قرار خواهد گرفت. Tcpdump یک برنامه بسیار انعطاف پذیر است که می تواند برای مشاهده ترافیک شبکه با استفاده از فیلترهای تخصصی استفاده شود و فقط اطلاعات مربوط به آدرس های IP و پورت ها یا همه بسته ها را نشان دهد. مشاهده تخلیه های شبکه در شبکه های بزرگ بدون کمک فیلترهای مناسب دشوار است، اما باید مراقب بود که داده های مهم از دست نرود.

ترکیب اجزاء

تاکنون روش‌ها و ابزارهای مختلفی را بررسی کرده‌ایم که می‌توان از آنها برای شناسایی برنامه‌های کاربردی با استفاده از شبکه استفاده کرد. وقت آن است که آنها را ترکیب کنیم و نحوه شناسایی پورت های شبکه باز را نشان دهیم. این شگفت انگیز است که چگونه کامپیوترهای چت در شبکه هستند! ابتدا توصیه می شود سند مایکروسافت "نمای کلی سرویس و الزامات پورت شبکه برای سیستم ویندوز سرور" را مطالعه کنید ( http://support.microsoft.com/default.aspx?scid=kb;en-us;832017) که پروتکل ها (TCP و UDP) و شماره پورت های مورد استفاده توسط برنامه ها و اکثر سرویس های اصلی ویندوز سرور را فهرست می کند. سند این سرویس ها و پورت های شبکه مرتبطی که استفاده می کنند را توضیح می دهد. توصیه می کنیم این راهنمای مرجع مفید برای مدیران شبکه ویندوز را دانلود و چاپ کنید.

راه اندازی تحلیلگر شبکه

قبلاً اشاره شد که یکی از راه‌های تعیین پورت‌های مورد استفاده برنامه‌ها، نظارت بر ترافیک بین رایانه‌ها با استفاده از تحلیلگر شبکه است. برای مشاهده کل ترافیک، باید یک تحلیلگر شبکه را به یک هاب یا پورت مانیتور روی سوئیچ متصل کنید. هر پورت در یک هاب تمام ترافیک هر کامپیوتر متصل به آن هاب را می بیند، اما هاب ها یک فناوری قدیمی هستند و اکثر شرکت ها آنها را با سوئیچ هایی جایگزین می کنند که عملکرد خوبی ارائه می دهند اما تجزیه و تحلیل آن دشوار است: هر پورت سوئیچ فقط ترافیک مقصد را می پذیرد. یک کامپیوتر به این پورت متصل است. برای تجزیه و تحلیل کل شبکه، باید ترافیک ارسال شده به هر پورت سوئیچ را کنترل کنید.

این کار مستلزم راه‌اندازی یک مانیتور پورت (فروشندگان مختلف آن را پورت دهانه یا پورت آینه‌ای می‌نامند) روی سوئیچ نیاز دارد. نصب مانیتور پورت بر روی سوئیچ Cisco Catalyst از Cisco Systems آسان است. باید روی سوئیچ ثبت نام کنید و حالت Enable را فعال کنید، سپس به پیکربندی حالت ترمینال بروید و شماره رابط پورت سوئیچ را وارد کنید که تمام ترافیک نظارت شده باید به آن ارسال شود. در نهایت باید تمام پورت های نظارت شده را مشخص کنید. به عنوان مثال، دستورات زیر سه پورت Fast Ethernet را نظارت می کنند و یک کپی از ترافیک را به پورت 24 ارسال می کنند.

رابط FastEthernet0/24 مانیتور FastEthernet0/1 پورت مانیتور FastEthernet0/2 پورت مانیتور FastEthernet0/3 پایان

در این مثال، یک تحلیلگر شبکه متصل به پورت 24، تمام ترافیک خروجی و ورودی از رایانه های متصل به سه پورت اول سوئیچ را مشاهده می کند. برای مشاهده تنظیمات ایجاد شده، دستور را وارد کنید

خاطره بنویس

تحلیل اولیه

بیایید به نمونه ای از تجزیه و تحلیل داده های عبوری از شبکه نگاه کنیم. اگر از یک کامپیوتر لینوکس برای تجزیه و تحلیل شبکه استفاده می کنید، می توانید با استفاده از برنامه ای مانند IPTraf در حالت آماری، درک جامعی از نوع و فرکانس بسته ها در شبکه به دست آورید. جزئیات ترافیک را می توان با استفاده از برنامه Tcpdump پیدا کرد.

پروتکل TCP/IP پایه و اساس اینترنت است که از طریق آن کامپیوترها بدون توجه به موقعیت جغرافیایی، اطلاعات را از هر نقطه جهان ارسال و دریافت می کنند. دسترسی به یک کامپیوتر TCP/IP در یک کشور دیگر به آسانی دسترسی به کامپیوتر در اتاق بعدی است. روش دسترسی در هر دو مورد یکسان است، اگرچه اتصال به یک دستگاه در کشور دیگر ممکن است چند میلی ثانیه بیشتر طول بکشد. در نتیجه، شهروندان هر کشوری می توانند به راحتی از Amazon.com خرید کنند. با این حال، به دلیل نزدیکی منطقی، وظیفه امنیت اطلاعات پیچیده‌تر می‌شود: هر صاحب رایانه متصل به اینترنت در هر نقطه از جهان می‌تواند سعی کند یک ارتباط غیرمجاز با هر دستگاه دیگری برقرار کند.

این وظیفه متخصصان فناوری اطلاعات است که فایروال ها و سیستم هایی را برای شناسایی ترافیک مشکوک نصب کنند. تجزیه و تحلیل بسته اطلاعات مربوط به آدرس های IP مبدا و مقصد و پورت های شبکه درگیر را بازیابی می کند. ارزش پورت های شبکه کمتر از آدرس های IP نیست. اینها مهمترین معیارهای جداسازی ترافیک مفید از پیام های جعلی و مضر ورودی و خروجی شبکه هستند. بیشتر ترافیک شبکه اینترنت شامل بسته های TCP و UDP است که حاوی اطلاعاتی در مورد پورت های شبکه است که رایانه ها برای هدایت ترافیک از یک برنامه به برنامه دیگر استفاده می کنند. یک پیش نیاز برای امنیت فایروال و شبکه این است که مدیر درک کاملی از نحوه استفاده رایانه ها و دستگاه های شبکه از این پورت ها داشته باشد.

مطالعه بنادر

آگاهی از اصول اولیه عملکرد پورت های شبکه برای هر مدیر سیستم مفید خواهد بود. با درک اولیه از پورت های TCP و UDP، یک مدیر می تواند به طور مستقل یک برنامه شبکه ناموفق را تشخیص دهد یا از رایانه ای که به اینترنت دسترسی دارد بدون تماس با مهندس شبکه یا مشاور فایروال محافظت کند.

بخش اول این مقاله (شامل دو بخش) مفاهیم اساسی لازم برای بحث در مورد پورت های شبکه را تشریح می کند. جایگاه پورت های شبکه در مدل عمومی شبکه و نقش پورت های شبکه و فایروال NAT (Network Address Translation) در اتصالات کامپیوترهای شرکت به اینترنت نشان داده خواهد شد. در نهایت، نقاط شبکه نشان داده خواهد شد که در آنها شناسایی و فیلتر کردن ترافیک شبکه در پورت های شبکه مربوطه راحت است. قسمت 2 به برخی از پورت های مورد استفاده توسط برنامه های کاربردی و سیستم عامل های رایج می پردازد و ابزارهایی را برای یافتن پورت های شبکه باز معرفی می کند.

مروری کوتاه بر پروتکل های شبکه

TCP/IP مجموعه ای از پروتکل های شبکه است که از طریق آن کامپیوترها با یکدیگر ارتباط برقرار می کنند. مجموعه TCP/IP چیزی نیست جز کدهای نرم افزاری نصب شده در سیستم عامل که دسترسی به این پروتکل ها را فراهم می کند. TCP/IP یک استاندارد است، بنابراین برنامه‌های TCP/IP روی یک ماشین ویندوز باید با همان برنامه در یک ماشین یونیکس با موفقیت ارتباط برقرار کنند. در روزهای اولیه شبکه سازی، در سال 1983، مهندسان مدل هفت لایه اتصال OSI را برای توصیف فرآیندهای شبکه کامپیوتری، از کابل تا برنامه، توسعه دادند. مدل OSI از لایه های فیزیکی، پیوند داده، شبکه، انتقال، جلسه و لایه های کاربردی تشکیل شده است. مدیرانی که دائماً با اینترنت و 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 که بیشتر با نام اترنت شناخته می شود، رایج ترین استاندارد لایه 2 برای شبکه های محلی مدرن است. یک سوئیچ شبکه معمولی یک دستگاه لایه 2 است که از طریق آن چندین رایانه به طور فیزیکی به یکدیگر متصل شده و داده ها را مبادله می کنند. گاهی اوقات دو کامپیوتر نمی توانند به یکدیگر متصل شوند، حتی اگر به نظر می رسد آدرس های IP صحیح هستند، مشکل ممکن است ناشی از خطا در حافظه پنهان پروتکل وضوح آدرس (ARP) باشد که نشان دهنده وجود مشکل در لایه 2 است. علاوه بر این، برخی از نقاط دسترسی بی سیم (دسترسی). Point، AP) فیلتر کردن آدرس MAC را ارائه می دهد و فقط به آداپتورهای شبکه با یک آدرس MAC خاص اجازه می دهد به یک AP بی سیم متصل شوند.

لایه های 3 و 4: آدرس های IP و پورت های شبکه

لایه 3، شبکه، از مسیریابی پشتیبانی می کند. در TCP/IP، مسیریابی در IP پیاده سازی می شود. آدرس IP بسته متعلق به لایه 3 است. روترهای شبکه دستگاه های لایه 3 هستند که آدرس های IP بسته را تجزیه و تحلیل می کنند و بسته ها را به روتر دیگری ارسال می کنند یا بسته ها را به رایانه های محلی تحویل می دهند. اگر بسته مشکوکی در شبکه شناسایی شد، اولین قدم بررسی آدرس IP بسته برای تعیین مبدا بسته است.

به همراه لایه شبکه، لایه 4 (حمل و نقل) نقطه شروع خوبی برای تشخیص مشکلات شبکه است. در اینترنت، لایه 4 حاوی پروتکل های TCP و UDP و اطلاعات در مورد پورت شبکه است که یک بسته را با یک برنامه خاص مرتبط می کند. پشته شبکه یک کامپیوتر از ارتباط پورت شبکه TCP یا UDP با یک برنامه کاربردی برای هدایت ترافیک شبکه به آن برنامه استفاده می کند. به عنوان مثال، پورت TCP 80 با یک برنامه وب سرور مرتبط است. این نگاشت پورت ها به برنامه ها به عنوان یک سرویس شناخته می شود.

TCP و UDP متفاوت هستند. اساسا، TCP یک اتصال قابل اعتماد برای ارتباط بین دو برنامه فراهم می کند. قبل از شروع ارتباط، دو برنامه باید با تکمیل فرآیند سه مرحله‌ای دست دادن TCP ارتباط برقرار کنند. UDP بیشتر یک رویکرد آتش و فراموش کردن است. قابلیت اطمینان اتصال برای برنامه های TCP توسط پروتکل تضمین می شود، اما برنامه UDP باید به طور مستقل قابلیت اطمینان اتصال را بررسی کند.

پورت شبکه عددی بین 1 تا 65535 است که برای هر دو برنامه مشخص و شناخته شده است که ارتباط بین آنها برقرار است. به عنوان مثال، یک کلاینت معمولاً یک درخواست رمزگذاری نشده به یک سرور در یک آدرس مقصد در پورت TCP 80 ارسال می کند. معمولاً، یک کامپیوتر یک درخواست DNS را به یک سرور DNS در یک آدرس مقصد در پورت UDP 53 ارسال می کند. مشتری و سرور یک منبع دارند. و آدرس IP مقصد، و پورت شبکه مبدا و مقصد، که ممکن است متفاوت باشد. از لحاظ تاریخی، تمام شماره‌های پورت زیر 1024 «شماره‌های پورت شناخته شده» نامیده می‌شوند و در سازمان شماره‌های اختصاص داده شده اینترنت (IANA) ثبت می‌شوند. در برخی از سیستم عامل ها، فقط فرآیندهای سیستم می توانند از پورت هایی در این محدوده استفاده کنند. علاوه بر این، سازمان ها می توانند پورت های 1024 تا 49151 را با IANA ثبت کنند تا پورت را با برنامه خود مرتبط کنند. این ثبت ساختاری را فراهم می‌کند که به جلوگیری از درگیری بین برنامه‌هایی که سعی در استفاده از شماره پورت یکسانی دارند، کمک می‌کند. با این حال، به طور کلی، تا زمانی که یک برنامه توسط برنامه فعال دیگری اشغال نشده باشد، هیچ چیزی مانع از درخواست یک پورت خاص نیست.

از لحاظ تاریخی، سرور می‌توانست به پورت‌های با شماره پایین گوش دهد، و کلاینت می‌توانست اتصالی را در یک پورت با شماره بالا (بالاتر از 1024) آغاز کند. به عنوان مثال، یک سرویس گیرنده وب ممکن است در پورت مقصد 80 یک اتصال به یک سرور وب باز کند، اما یک پورت منبع به طور تصادفی انتخاب شده مانند پورت TCP 1025 را مرتبط کند. هنگام پاسخگویی به مشتری، وب سرور بسته را به مشتری با منبع آدرس می دهد. پورت 80 و پورت مقصد 1025. ترکیب آدرس IP و پورت سوکت نامیده می شود و باید در کامپیوتر منحصر به فرد باشد. به همین دلیل، هنگام راه‌اندازی یک وب سرور با دو وب‌سایت مجزا در یک رایانه، باید از چندین آدرس IP مانند address1:80 و address2:80 استفاده کنید، یا وب سرور را برای گوش دادن به چندین پورت شبکه پیکربندی کنید. به عنوان آدرس 1:80 و آدرس 1:81. برخی از وب سرورها با درخواست هدر میزبان به چندین وب سایت اجازه می دهند در یک پورت واحد اجرا شوند، اما این عملکرد در واقع توسط برنامه وب سرور در لایه بالاتر 7 انجام می شود.

با در دسترس قرار گرفتن قابلیت های شبکه در سیستم عامل ها و برنامه های کاربردی، برنامه نویسان شروع به استفاده از شماره پورت های بالاتر از 1024 بدون ثبت همه برنامه ها در IANA کردند. با جستجوی اینترنت برای هر پورت شبکه، معمولاً می توانید به سرعت اطلاعات مربوط به برنامه هایی را که از آن پورت استفاده می کنند، بیابید. یا می توانید پورت های شناخته شده را جستجو کنید و سایت های زیادی را پیدا کنید که رایج ترین پورت ها را فهرست می کنند.

هنگام مسدود کردن برنامه‌های شبکه در رایانه یا عیب‌یابی نقص‌های دیوار آتش، بیشتر کار از طبقه‌بندی و فیلتر کردن آدرس‌های IP لایه 3 و پروتکل‌های لایه 4 و پورت‌های شبکه انجام می‌شود تا به سرعت بین ترافیک قانونی و مشکوک تشخیص داده شود آنهایی که به طور گسترده در پورت های TCP و UDP سازمانی استفاده می شود.

یادگیری تشخیص و آشنایی با پورت های شبکه فراتر از تخصیص قوانین فایروال است. برای مثال، برخی از وصله‌های امنیتی مایکروسافت نحوه بستن پورت‌های NetBIOS را توضیح می‌دهند. این اقدام به محدود کردن گسترش کرم‌هایی که از طریق آسیب‌پذیری‌های سیستم عامل نفوذ می‌کنند، کمک می‌کند. دانستن نحوه و مکان بستن این پورت ها می تواند به کاهش خطرات امنیتی شبکه در حین آماده سازی برای استقرار یک وصله مهم کمک کند.

و مستقیم به سطح 7

این روزها به ندرت درباره لایه 5 (جلسه) و لایه 6 (ارائه) شنیده می شود، اما لایه 7 (برنامه) موضوع داغی در میان فروشندگان فایروال است. جدیدترین روند در فایروال های شبکه، بازرسی لایه 7 است که تکنیک های مورد استفاده برای تجزیه و تحلیل نحوه تعامل یک برنامه کاربردی با پروتکل های شبکه را توصیف می کند. با تجزیه و تحلیل بار یک بسته شبکه، یک فایروال می تواند تعیین کند که آیا ترافیک عبوری از آن قانونی است یا خیر. به عنوان مثال، یک درخواست وب حاوی یک دستور GET در داخل یک بسته لایه 4 (پورت TCP 80) است. اگر فایروال شما دارای قابلیت لایه 7 است، می توانید تأیید کنید که عبارت GET درست است. مثال دیگر این است که بسیاری از برنامه‌های اشتراک‌گذاری فایل همتا به همتا (P2P) می‌توانند پورت 80 را هک کنند. در نتیجه، یک فرد خارجی می‌تواند برنامه را به گونه‌ای پیکربندی کند که از پورتی به انتخاب خود استفاده کند - به احتمال زیاد پورتی که باید در آن باز بماند. فایروال داده شده اگر کارمندان یک شرکت نیاز به دسترسی به اینترنت داشته باشند، پورت 80 باید باز شود، اما برای تشخیص ترافیک وب قانونی از ترافیک P2P که توسط شخصی به پورت 80 هدایت می شود، فایروال باید کنترل لایه 7 را فراهم کند.

نقش فایروال

پس از تشریح لایه‌های شبکه، می‌توانیم مکانیسم ارتباط بین برنامه‌های کاربردی شبکه از طریق فایروال‌ها را با توجه ویژه به پورت‌های شبکه مورد استفاده شرح دهیم. در مثال زیر، یک مرورگر مشتری با یک وب سرور در طرف دیگر فایروال ارتباط برقرار می کند، همانطور که یک کارمند شرکت با یک وب سرور در اینترنت ارتباط برقرار می کند.

اکثر فایروال های اینترنت در لایه های 3 و 4 کار می کنند تا ترافیک شبکه ورودی و خروجی را بررسی کرده و سپس اجازه یا مسدود کنند. به طور کلی، مدیر لیست های کنترل دسترسی (ACL) را می نویسد که آدرس های IP و پورت های شبکه ترافیک مسدود یا مجاز را تعریف می کند. به عنوان مثال، برای دسترسی به وب، باید یک مرورگر را راه اندازی کنید و آن را به سمت وب سایت قرار دهید. کامپیوتر یک اتصال خروجی را با ارسال دنباله ای از بسته های IP متشکل از هدر و اطلاعات محموله آغاز می کند. هدر حاوی اطلاعات مسیر و سایر ویژگی های بسته است. قوانین فایروال اغلب با در نظر گرفتن اطلاعات مسیریابی نوشته می شوند و معمولاً شامل آدرس های IP مبدا و مقصد (لایه 3) و پروتکل بسته (لایه 4) هستند. هنگام مرور وب، آدرس IP مقصد متعلق به وب سرور است، و پروتکل و پورت مقصد (به طور پیش فرض) TCP 80 هستند. آدرس IP مبدا، آدرس رایانه ای است که کاربر از آن به وب دسترسی دارد و منبع آن است. پورت معمولاً یک عدد اختصاص داده شده به صورت پویا، بزرگتر از 1024 است. اطلاعات مفید مستقل از هدر است و توسط برنامه کاربردی کاربر تولید می شود. در این حالت، درخواستی از وب سرور برای ارائه یک صفحه وب است.

فایروال ترافیک خروجی را تجزیه و تحلیل می کند و طبق قوانین فایروال به آن اجازه می دهد. بسیاری از شرکت ها تمام ترافیک خروجی را از شبکه خود اجازه می دهند. این رویکرد پیکربندی و استقرار را ساده می کند، اما به دلیل عدم کنترل داده های خروجی از شبکه، امنیت را کاهش می دهد. به عنوان مثال، یک اسب تروا می تواند رایانه ای را در یک شبکه تجاری آلوده کند و اطلاعات را از آن رایانه به رایانه دیگری در اینترنت ارسال کند. ایجاد لیست های کنترل دسترسی برای مسدود کردن چنین اطلاعات خروجی منطقی است.

برخلاف رویکرد خروجی بسیاری از فایروال ها، اکثر آنها برای مسدود کردن ترافیک ورودی پیکربندی شده اند. به طور معمول، فایروال ها فقط در دو موقعیت به ترافیک ورودی اجازه می دهند. اولین مورد، ترافیکی است که در پاسخ به درخواست خروجی که قبلاً توسط کاربر ارسال شده است، می رسد. به عنوان مثال، اگر مرورگر خود را به آدرس یک صفحه وب نشان دهید، فایروال به کد HTML و سایر اجزای صفحه وب اجازه ورود به شبکه را می دهد. مورد دوم میزبانی یک سرویس داخلی در اینترنت است، مانند سرور پست الکترونیکی، وب یا سایت FTP. میزبانی چنین سرویسی معمولاً ترجمه پورت یا انتشار سرور نامیده می شود. اجرای ترجمه پورت در میان فروشندگان فایروال متفاوت است، اما اصل اساسی یکسان است. مدیر سرویسی مانند پورت TCP 80 برای وب سرور و یک سرور back-end برای میزبانی سرویس تعریف می کند. اگر بسته ها از طریق رابط خارجی مربوط به این سرویس وارد فایروال شوند، مکانیسم ترجمه پورت آنها را به یک رایانه خاص در شبکه پنهان شده در پشت فایروال ارسال می کند. ترجمه پورت در ارتباط با سرویس NAT که در زیر توضیح داده شده است استفاده می شود.

مبانی NAT

با NAT، چندین کامپیوتر در یک شرکت می توانند یک فضای آدرس IP عمومی کوچک را به اشتراک بگذارند. سرور DHCP یک شرکت می تواند یک آدرس IP را از یکی از بلوک های آدرس IP خصوصی و غیرقابل مسیریابی که در درخواست برای نظرات (RFC) شماره 1918 تعریف شده است، اختصاص دهد. چندین شرکت همچنین می توانند فضای آدرس IP خصوصی یکسانی را به اشتراک بگذارند. نمونه هایی از زیرشبکه های IP خصوصی 10.0.0.0/8، 172.16.0.0/12 و 192.168.0.0/16 هستند. روترهای اینترنتی هر بسته ای که به یکی از آدرس های خصوصی هدایت می شود را مسدود می کند. NAT یک ویژگی فایروال است که به شرکت هایی که از آدرس های IP خصوصی استفاده می کنند اجازه می دهد با رایانه های دیگر در اینترنت ارتباط برقرار کنند. فایروال می داند که چگونه ترافیک ورودی و خروجی را به آدرس های IP داخلی خصوصی ترجمه کند تا هر کامپیوتری بتواند به اینترنت دسترسی داشته باشد.

یک پورت در شبکه های کامپیوتری نقطه پایانی ارتباط در سیستم عامل است. این اصطلاح در مورد دستگاه‌های سخت‌افزاری نیز صدق می‌کند، اما در نرم‌افزار به ساختاری منطقی اشاره دارد که نوع خاصی از سرویس یا فرآیند را مشخص می‌کند. یک پورت همیشه با آدرس IP یا نوع پروتکل ارتباطی میزبان مرتبط است. تخصیص آدرس جلسه را تکمیل می کند. یک پورت برای هر پروتکل و آدرس با استفاده از یک عدد 16 بیتی که به عنوان شماره پورت نیز شناخته می شود، شناسایی می شود. اغلب از شماره پورت های خاص برای شناسایی سرویس های خاص استفاده می شود. از چندین هزار شماره فهرست شده، 1024 شماره شناخته شده تحت یک توافق نامه خاص محافظت می شوند. آنها انواع خاصی از خدمات را بر روی هاست تعریف می کنند. پروتکل هایی که عمدتاً از پورت ها استفاده می کنند برای کنترل فرآیندها استفاده می شوند. به عنوان مثال، پروتکل کنترل انتقال (TCP) یا پروتکل Datagram کاربر از مجموعه پروتکل اینترنت است.

معنی

پورت های TCP روی پیوندهای مستقیم نقطه به نقطه که در آن رایانه ها در هر انتها فقط می توانند یک برنامه را در یک زمان اجرا کنند، مورد نیاز نیست. نیاز به آنها بعد از اینکه معلوم شد این ماشین ها قادر به اجرای همزمان بیش از یک برنامه هستند بوجود آمد. آنها متوجه شدند که به شبکه های سوئیچ بسته مدرن متصل هستند. در مدل معماری کلاینت-سرور، پورت ها، برنامه ها و کلاینت های شبکه برای شروع سرویس متصل می شوند. آنها خدمات مالتی پلکس را پس از تبادل اولیه اطلاعات با شماره پورت ارائه می کنند. با تغییر هر نمونه از سرویس درخواست به یک خط اختصاصی آزاد می شود. اتصال به یک شماره خاص ایجاد می شود. با تشکر از این، مشتریان اضافی را می توان بدون هیچ انتظاری ارائه کرد.

جزئیات

پروتکل های انتقال داده UDP و TCP برای نشان دادن شماره پورت مقصد و مبدا در هدرهای بخش آنها استفاده می شود. شماره پورت یک عدد 16 بیتی بدون علامت است. می تواند از 0 تا 65535 باشد. پورت های TCP، با این حال، نمی توانند از عدد 0 استفاده کنند. برای UDP، پورت منبع مورد نیاز نیست. مقدار برابر با صفر به معنای عدم وجود آن است. این فرآیند کانال های ورودی یا خروجی را با استفاده از پروتکل حمل و نقل، شماره پورت و آدرس IP از طریق یک سوکت اینترنت متصل می کند. این فرآیند به عنوان اتصال نیز شناخته می شود. امکان دریافت و انتقال اطلاعات از طریق شبکه را فراهم می کند. نرم افزار شبکه سیستم عامل برای انتقال داده های خروجی از تمام پورت های برنامه به شبکه استفاده می شود. همچنین بسته های شبکه ورودی را با تطبیق شماره و آدرس IP ارسال می کند. فقط یک فرآیند را می توان با استفاده از همان پروتکل حمل و نقل به یک آدرس IP خاص و ترکیب پورت متصل کرد. خرابی برنامه که به آن برخورد برنامه نیز گفته می شود، زمانی رخ می دهد که چندین برنامه سعی می کنند با استفاده از پروتکل یکسان با شماره پورت های یکسان در یک آدرس IP ارتباط برقرار کنند.

چگونه مورد استفاده قرار می گیرند؟

برنامه‌هایی که سرویس‌های مشترک را پیاده‌سازی می‌کنند اغلب از یک لیست خاص رزرو شده و شناخته شده از پورت‌های UDP و TCP برای پذیرش درخواست‌های سرویس مشتری استفاده می‌کنند. این فرآیند به عنوان گوش دادن نیز شناخته می شود. این شامل دریافت درخواست از یک پورت معروف و برقراری یک مکالمه پشت سر هم بین مشتری و سرور با استفاده از همان شماره پورت محلی است. سایر مشتریان می توانند به اتصال ادامه دهند. این امکان پذیر است زیرا یک اتصال TCP به عنوان زنجیره ای شناخته می شود که از پورت ها و آدرس های محلی و راه دور تشکیل شده است. پورت های استاندارد UDP و TCP ممکن است با توافق تحت کنترل IANA یا سازمان شماره های اختصاص داده شده اینترنت تعریف شوند. به طور معمول، خدمات شبکه اصلی، به ویژه شبکه جهانی وب، از شماره پورت های کوچک، کمتر از 1024 استفاده می کنند. در بسیاری از سیستم عامل ها، برنامه ها برای اتصال به آنها به امتیازات خاصی نیاز دارند. به همین دلیل، آنها اغلب برای عملکرد شبکه های IP حیاتی در نظر گرفته می شوند. از طرف دیگر مشتری نهایی اتصال تمایل دارد از تعداد بیشتری از آنها استفاده کند که برای استفاده کوتاه مدت اختصاص داده شده است. به همین دلیل، به اصطلاح پورت های زودگذر وجود دارند.

ساختار

پورت های TCP در هدر بسته بسته انتقال کدگذاری می شوند. آنها را می توان به راحتی نه تنها توسط کامپیوترهای دریافت کننده و ارسال کننده، بلکه توسط سایر اجزای زیرساخت شبکه تفسیر کرد. فایروال ها به طور خاص برای تمایز بین بسته ها بر اساس شماره پورت مقصد و منبع آنها پیکربندی می شوند. یک مثال کلاسیک از این تغییر مسیر است. تلاش برای اتصال متوالی به طیف وسیعی از پورت ها در همان رایانه، به عنوان اسکن پورت نیز شناخته می شود. چنین رویه‌هایی معمولاً یا با تلاش‌های خرابی خراب یا این واقعیت که مدیران شبکه به طور خاص به دنبال آسیب‌پذیری‌های احتمالی برای جلوگیری از چنین حملاتی هستند، مرتبط است. اقدامات با هدف باز کردن یک پورت TCP با استفاده از رایانه ضبط و کنترل می شوند. این تکنیک از تعدادی اتصال اضافی برای اطمینان از ارتباط بدون وقفه با سرور استفاده می کند.

نمونه هایی از استفاده

مثال اصلی که در آن پورت های UDP و TCP به طور فعال استفاده می شود، سیستم پست اینترنتی است. سرور برای کار با ایمیل استفاده می شود. به طور کلی به دو سرویس نیاز دارد. اولین سرویس برای حمل و نقل از طریق ایمیل و سایر سرورها استفاده می شود. این با استفاده از پروتکل انتقال نامه ساده (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 تعیین شده Numbers Authority، مسئول هماهنگی جهانی DNS-Root، آدرس دهی IP و سایر منابع پروتکل اینترنت است. این رویه ها شامل ثبت پورت های پرکاربرد برای سرویس های اینترنتی شناخته شده است. همه شماره پورت ها به سه محدوده شناخته شده، ثبت شده و خصوصی یا پویا تقسیم می شوند. پورت های معروف آنهایی هستند که دارای اعداد از 0 تا 1023 هستند. به آنها پورت های سیستم نیز گفته می شود. الزامات برای مقادیر جدید در این محدوده نسبت به سایر ثبت‌ها سخت‌تر است.

مثال ها

نمونه هایی از پورت ها در لیست شناخته شده عبارتند از:

  • پورت TCP 443 – HTTPS؛
  • 21 – پروتکل انتقال فایل.
  • 22- Secure Shell;
  • 25 - پروتکل انتقال نامه ساده STMP.
  • 53 – سیستم نام دامنه DNS;
  • 119 - پروتکل انتقال اخبار شبکه یا NNTP.
  • 80 – پروتکل انتقال ابرمتن HTTP.
  • 143 – پروتکل دسترسی به پیام اینترنتی؛
  • 123 - پروتکل زمان شبکه NTP.
  • 161 - پروتکل مدیریت شبکه ساده SNMP.

پورت های ثبت شده باید دارای اعداد از 1024 تا 49151 باشند. مرجع شماره های اختصاص داده شده اینترنت یک لیست رسمی از تمام محدوده های شناخته شده و ثبت شده را حفظ می کند. پورت های فرکانس یا پویا بین 29152 تا 65535 است. یکی از کاربردهای این محدوده پورت های موقت است.

تاریخچه خلقت

مفهوم شماره پورت توسط سازندگان اولیه 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 استفاده می کنند.

mob_info