جدول محتوایی

چگونه پورت های باز را در لینوکس بررسی کنیم؟

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

برای مثال، اگر از یک وب سرور مبتنی بر Apache یا Ngnix استفاده می‌کنید، پورت مورد استفاده باید 80 یا 443 باشد. پورت‌ها  را بررسی کنید تا از این امر اطمینان حاصل شود.

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

همچنین می توانید بررسی کنید که آیا درگاه های باز برای تشخیص نفوذ وجود دارد یا خیر.

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

خرید هاست وردپرس

روش 1: بررسی پورت های باز با استفاده از لینوکسی که با دستور Isof، وارد سیستم شده باشد.

 

اگر مستقیماً یا از طریق SSH وارد سیستمی شده اید، می توانید از دستور lsof برای بررسی پورت های آن استفاده کنید.

sudo lsof -i -P -n

 

این دستور lsof  را برای یافتن فایل‌ها و فرآیندهای استفاده شده توسط کاربر، به کار ببرید . گزینه های کاربر  اینجا عبارتند از:

  • -i: اگر آدرس IP مشخص نشده باشد، این گزینه لیست تمام فایل های شبکه را انتخاب می کند.
  • P: از تبدیل شماره پورت به نام پورت برای فایل های شبکه جلوگیری می کند.
  • -n: از تبدیل شماره شبکه به نام میزبان فایل های شبکه جلوگیری می کند.

خرید هاست وردپرس

لینوکس isof بزای پورت باز

اما، این روش پورت های اضافی زیادی را به ما نشان می دهد که کامپیوتر ان ها را نادیده می گیرد.

شما  می توانید این خروجی را به دستور grep لوله کنید و با الگوی “LISTEN” مطابقت دهید، به این صورت:

sudo lsof -i -P -n | grep LISTEN

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

روش 2: بررسی پورت ها در سرور لینوکس راه دور با استفاده از دستور netcat

nc (Netcat) یک ابزار خط فرمان است که داده ها را بین رایانه ها از طریق شبکه با استفاده از پروتکل های TCP و UDP می خواند و می نویسد.

در خط زیر دستور nc داده شده است:

nc [options] host port

این ابزار دارای پرچم nifty -z است. در صورت استفاده، nc  را مجبور به اسکن دایمون های فعال میکند (daemon) ، بدون اینکه هیچ داده ای به پورت ارسال شود.

این دستور را با پرچم -v ترکیب کنید و verbosity را فعال کنید تا یک خروجی دقیق دریافت کنید.

 

در بخش زیر دستوری وجود دارد که می توانید از آن برای اسکن پورت های باز با استفاده از دستور nc استفاده کنید:

nc -z -v <IP-ADDRESS> 1-65535 2>&1 | grep -v 'Connection refused'

 

IP-ADDRESS را با آدرس IP سیستم لینوکسی که در پورت ها را بررسی می کنید، جایگزین کنید.

در مورد اینکه چرا مقادیر 1 تا 65535 را انتخاب کردم، به این دلیل است که محدوده پورت از 1 شروع می شود و به 65535 ختم می شود.

در نهایت خروجی را به دستور grep لوله کنید. استفاده از گزینه -v هر خطی را که “اتصال رد شده است” را به عنوان یک الگوی منطبق حذف می کند.

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

نتیجه گیری

از بین این دو روش، من دستور lsof را پیشنهاد می کنم. این سریعتر از روش استفاده از دستور nc است. با این حال، شما باید به سیستم وارد شوید و برای آن دسترسی sudo داشته باشید. به عبارت دیگر، اگر سیستمی را مدیریت می کنید، lsof انتخاب مناسب تری است.

دستور nc قابلیت اسکن پورت ها را بدون ورود به سیستم دارد.

هر دو دستور را می توان برای بررسی پورت های باز در لینوکس بر اساس سناریویی که در آن قرار دارید استفاده کرد. موفق باشید دوستان!

12رای - امتیاز 4.7 ممنون از امتیازی که دادید..!

دسته بندی شده در: