ویژگی تصویر

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

  /  CMD   /  پیدا کردن پورت‌های باز و بسته سیستم با CMD
بنر تبلیغاتی الف

در محیط‌های ویندوز، یکی از روش‌های مهم برای تشخیص پورت‌های باز و بسته سیستم استفاده از دستورات CMD (Command Prompt) است. این دستورات به کاربران اجازه می‌دهند تا بدون نیاز به نرم‌افزارهای خارجی، وضعیت پورت‌های شبکه را بررسی کنند. در ادامه، نحوه استفاده از دستورات CMD برای پیدا کردن پورت‌های باز و بسته را به صورت کامل توضیح می‌دهیم.

کاربرد دستور netstat

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

netstat -an

این دستور تمام پورت‌ها را نمایش می‌دهد. گزینه -a به معنی “نمایش تمام پورت‌ها” است و -n باعث می‌شود که آدرس‌ها و پورت‌ها به صورت عددی نمایش داده شوند (به جای نام سرویس‌ها).

نحوه تفسیر خروجی netstat

خروجی این دستور شامل ستون‌های زیر است:

  • Protocol: نوع پروتکل (TCP یا UDP)
  • Local Address: آدرس محلی (IP:Port)
  • Foreign Address: آدرس خارجی (IP:Port)
  • State: وضعیت پورت (LISTEN, ESTABLISHED, CLOSED و غیره)

در اینجا مثالی از خروجی دستور netstat -an آمده است:

TCP    0.0.0.0:80           0.0.0.0:0            LISTENING
TCP    192.168.1.100:53547  192.168.1.1:53       ESTABLISHED
UDP    0.0.0.0:53           *:*                  RUNNING

در این خروجی:

  • پورت 80 در حالت LISTENING است، یعنی سرور منتظر درخواست‌هاست.
  • پورت 53547 با پورت 53 در سرور دیگر اتصال برقرار شده است.
  • پورت 53 به صورت UDP در حالت RUNNING است.

دستورات مفید برای تحلیل پورت‌ها

برای ساده‌تر کردن تحلیل پورت‌ها، می‌توان از گزینه‌های دیگر استفاده کرد:

نمایش فقط پورت‌های باز (LISTENING)
netstat -an | findstr LISTENING

این دستور فقط پورت‌هایی را نمایش می‌دهد که در حالت LISTENING هستند، یعنی منتظر اتصال هستند.

نمایش فقط پورت‌های TCP
netstat -an | findstr TCP

با این دستور، تنها پورت‌های TCP نمایش داده می‌شوند.

نمایش پورت‌های مشخص (مثلاً 80 و 443)
netstat -an | findstr :80

این دستور فقط پورت‌هایی که در آدرس محلی 80 هستند را نمایش می‌دهد.

بررسی وضعیت پورت‌های خاص با استفاده از PowerShell

در ویندوز 10 و بالاتر، می‌توانید از PowerShell استفاده کنید:

Get-NetTCPConnection | Where-Object {$_.State -eq "Listen"}

این دستور پورت‌های باز (LISTEN) را نمایش می‌دهد. این دستور قوی‌تر و دقیق‌تر است و بهتر است در محیط‌های جدید استفاده شود.

بهترین روش‌ها برای تشخیص پورت‌های باز

برای انجام کار بهتر، توصیه می‌شود:

  • استفاده از دستور netstat -an برای نمایش کلی پورت‌ها
  • استفاده از findstr برای فیلتر کردن نتایج
  • استفاده از PowerShell برای دسترسی به اطلاعات دقیق‌تر

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

فرض کنید می‌خواهید بدانید کدام پورت‌ها در سرور شما باز هستند:

netstat -an | findstr LISTENING

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

پورت‌های معروف و توضیح آنها

در زیر جدولی از پورت‌های معروف و توضیحات آنها آمده است:

پورتسرویستوضیح
21FTPFTP Server
22SSHSecure Shell
80HTTPWeb Server
443HTTPSSecure Web Server
1433MSSQLMicrosoft SQL Server
3306MySQLMySQL Database

در این جدول، پورت‌هایی که معمولاً باز هستند (در حالت LISTENING) به شما کمک می‌کنند تا بدانید کدام سرویس در حال اجرا است.

نکات امنیتی

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

  • بررسی اینکه آیا سرویس مربوط به آن پورت مورد نیاز است
  • در صورت عدم نیاز، بستن آن پورت
  • استفاده از فایروال برای محدود کردن دسترسی به پورت‌ها

پسوند دستورات CMD

در نظر داشته باشید که دستورات CMD در ویندوز 10 و بالاتر، معمولاً به صورت PowerShell اجرا می‌شوند. اما دستور netstat همچنان در CMD قابل استفاده است.

خطاهای رایج و راه‌حل‌ها

در برخی مواقع، دستورات CMD ممکن است خطا داشته باشند:

  • دستور netstat در سیستم‌های قدیمی نمی‌تواند به درستی کار کند.
  • در بعضی از موارد، خروجی دستور بسیار طولانی است و نیاز به فیلتر کردن دارد.

برای حل این مشکلات:

  • استفاده از PowerShell برای دسترسی دقیق‌تر
  • استفاده از فیلتر کردن با دستور findstr

جمع‌بندی

استفاده از دستورات CMD برای پیدا کردن پورت‌های باز و بسته سیستم، یک روش کاربردی و موثر است. با استفاده از netstat و دستورات مرتبط، می‌توانید وضعیت شبکه سیستم خود را به راحتی بررسی کنید. این اطلاعات برای مدیران شبکه، برنامه‌نویسان و امنیت‌سازان بسیار مفید هستند.

در نهایت، توصیه می‌شود به جای استفاده مستقیم از دستورات CMD، از PowerShell برای تحلیل دقیق‌تر استفاده کنید. این روش باعث می‌شود که نتایج شما دقیق‌تر و قابل اطمینان‌تر باشد.

آیا این مطلب برای شما مفید بود ؟

خیر
بله
موضوعات شما در انجمن: