تاریخ امروز۱۴۰۳-۰۲-۰۸

مشاهده پورت‌های باز در لینوکس

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

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

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

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

در شبکه، پورت را می‌توان راهی برای شناسایی اپلیکیشن یا سرویس مقصد توصیف کرد. هنگام نصب و پیکربندی برخی ابزارها، ممکن است برخی از پورت‌ها را باز کنید.

مشاهده پورت‌های باز در لینوکس به معنای تشخیص و نمایش پورت‌هایی است که در حال پاسخ دادن به درخواست‌ها هستند و از طریق شبکه قابل دسترس می‌باشند.

برای مشاهده پورت‌های باز در لینوکس، می‌توان از ابزارهای مختلفی مانند ss و Nmap، netstat استفاده کرد. این ابزارها اطلاعاتی مانند شماره پورت، آدرس IP متصل و وضعیت اتصال را نمایش می‌دهند.

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

در این مقاله روش‌های مختلف برای فهمیدن اینکه چه پورت‌هایی خارج از سیستم لینوکس شما باز می‌شوند را توضیح خواهیم داد.

پورت‌ها چگونه کار می‌کنند

پورت‌ها به سه دسته تقسیم می‌شوند. هر دسته به عنوان محدوده ارزش پورت برچسب گذاری می‌شود.

پورت‌های ۰ تا ۱۰۲۳: پورت‌هایی هستند که برای فرآیندهای سیستمی رزرو شده‌اند و طیف گسترده‌ای از خدمات شبکه را ارائه می‌دهند. لازم است برای استفاده از آن‌ها امتیازات administrator داشته باشید.

پورت‌های ۱۰۲۴ تا ۴۹۱۵۱: این‌ها محدوده پورت‌های کاربر هستند که برای خدمات خاص تعیین شده‌اند.

پورت‌های ۴۹۱۵۲ تا ۶۵۵۳۵: این‌ها محدوده پورت‌های خصوصی برای خدمات سفارشی هستند.

پورت‌های موجود، در سیستم‌ عامل لینوکس در فایل /etc/services قرار دارند که هر سرویس‌ به پورت‌های مختلف اشاره دارند.

بررسی پورت‌های باز در لینوکس
بررسی پورت‌های باز در لینوکس

بررسی پورت‌های باز در لینوکس

شما می‌توانید پورت‌هایی که برنامه‌های شما در سیستم عامل لینوکس مطابق آن عمل می کنند را با چند دستور کاربردی بررسی کنید.

دستور netstat

دستور netstat در سیستم‌عامل‌ مبتنی بر Unix استفاده می‌شود تا اطلاعات مربوط به اتصالات شبکه، پورت‌ها، آدرس‌های IP و… را نمایش دهد که کدام پورت‌ها باز هستند یا اتصال برقرار کرده‌اند.

این کار با بسته‌های net-tools ارائه می‌شود. اگر netstat در سیستم شما وجود ندارد، آن را با اجرای دستور زیر نصب کنید.

برای سیستم‌های مبتنی بر دبیان دستور زیر را اجرا کنید.

sudo apt install net-tools

برای سیستم‌های مبتنی بر CentOS یا RHEL دستور زیر را اجرا کنید.

yum install net-tools

با اجرای دستور زیر، می‌توانید اطلاعات بیشتری دریافت کنید.

netstat
اجرای دستور netstat برای کسب اطلاعات
اجرای دستور netstat برای کسب اطلاعات بیشتر

برای دریافت اطلاعات بیشتر می‌توانید از پارامترهای زیر کمک بگیرید.

sudo netstat -plunt
مراحل افزودن پارامتر برای کسب اطلاعات بیشتر
مراحل افزودن پارامتر برای کسب اطلاعات بیشتر

پارامترهای کاربردی در netstat

در ادامه مطلب مشاهده پورت‌های باز در لینوکس، شما را با دیگر پارامترهای کاربردی در netstat آشنا خواهیم کرد.

  • p: نمایش نام PID/برنامه مربوط به یک اتصال خاص
  • l: فقط پورت های ورودی را نشان دهید
  • u: فهرست کردن پورت های UDP
  • n: نمایش آدرس های عددی
  • t: لیست پورت های TCP

دستور nmap

Nmap، یک ابزار اسکن شبکه است که عمدتا برای بررسی‌های امنیتی و تست نفوذ استفاده می‌شود، زیرا می‌تواند پورت‌ها و سرویس‌های باز را کشف و آسیب پذیری‌ها را شناسایی کند. اگر Nmap در سیستم شما وجود ندارد، آن را با اجرای دستور زیر نصب کنید.

برای سیستم‌های مبتنی بر دبیان دستور زیر را اجرا کنید.

sudo apt install nmap

برای سیستم‌های مبتنی بر CentOS یا RHEL دستور زیر را اجرا کنید.

yum install nmap

دستور nmap برای اهداف بسیاری استفاده می‌شود و برای استفاده از آن در اسکن پورت، باید از برخی پارامترها استفاده کنید.

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

پارامترهای کاربردری در nmap

دستور nmap دارای مجموعه‌ای از پارامترها است که می‌توانید برای تنظیمات مختلف استفاده کنید.

  • sT: اسکن پورت‌های TCP
  • sU: اسکن پورت‌های UDP
  • p: اسکن تمام پورت‌ها (۰ – ۶۵۵۳۵)
$ sudo nmap -sT -sU -p- localhost
مشاهده خروجی دستور اجرا شده
مشاهده خروجی دستور اجرا شده

دستور ss

خط فرمان ss را می‌توان به عنوان جایگزینی برای دستور netstat در نظر گرفت. این دستور ساده‌تر و سریعتر از netstat می‌باشد.

بیشتر بدانید : نحوه فهرست کردن و حذف قوانین فایروال Iptables

همچنین بدون استفاده از هیچ پارامتری اطلاعات زیادی را ارائه می‌دهد.

ss
Netid                State                 Recv-Q                Send-Q                                                 Local Address:Port                                          Peer Address:Port                  Process                
u_str                ESTAB                 0                     0                                                                  * 3035735                                                  * 3035736                                      
u_str                ESTAB                 0                     0                                                                  * 39874                                                    * 39876                                    

می‌توانید نتیجه را با پارامترهایی مانند پارامترهای استفاده شده برای دستور netstat فیلتر کنید.

ss -lntup
نتیجه استفاده از پارامترها
نتیجه استفاده از پارامترها

دستور lsof

آخرین ابزاری که برای جستجو در پورت‌های باز بررسی خواهیم کرد، دستور lsof است که برای فهرست کردن فایل‌های باز در لینوکس استفاده می‌شود.

برای فهرست کردن تمام فایل‌های اینترنت و شبکه، از دستور -i استفاده کنید. توجه داشته باشید که این دستور ترکیبی از نام سرویس‌ها و پورت‌های عددی را نشان می‌دهد.

sudo lsof -i
باز کردن فایل های شبکه با استفاده از دستور lsof
باز کردن فایل‌های شبکه با استفاده از دستور lsof

برای پیدا کردن اینکه کدام برنامه در یک پورت خاص پاسخ می‌دهد، lsof را در دستور زیر اجرا کنید.

sudo lsof -i :80
مراحل پیدا کردن برنامه با استفاده از پورت
مراحل پیدا کردن برنامه با استفاده از پورت

جمع بندی

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

اشتراک‌گذاری

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *