آموزشسیستم عامل هالینوکس

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

یکی از مشکلات رایجی که برای کاربران جدید سیستم عامل لینوکس پیش می آید این است که نمی توانند پورت های اشغال در لینوکس را بررسی کنند. به همین دلیل در صدد فراهم کردن آموزش  بررسی پورت های اشغال در لینوکس بر آمدیم. در ادامه با ما همراه شوید.

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

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

  • HTTP – TCP 80
  • HTTPS – TCP 443
  • POP3 – TCP 110
  • SMTP – TCP 25
  • SSH – TCP 22
  • DNS/DOMAIN – TCP/UDP 53

از دستور cat یا فرمان grep command / egrep برای بررسی شماره پورت ها به صورت زیر استفاده کنید:

cat /etc/services
grep -w 80 /etc/services
egrep -w '53/(tcp|udp)' /etc/services
آموزش بررسی پورت های اشغال در لینوکس
آموزش بررسی پورت های اشغال در لینوکس

 

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

برای انجام این کار باید مراحل زیر را دنبال کنید:

1. برنامه ترمینال را باز کنید.

2. هر یک از فرمان های زیررا تایپ کنید تا ببینید آیا پورتی در لینوکس اشغال است یا خیر.

sudo lsof -i -P -n | grep LISTEN 
sudo netstat -tulpn | grep LISTEN
sudo netstat -tulpn | grep :443
sudo ss -tulpn | grep LISTEN
sudo ss -tulpn | grep ':22'

برای درک بیشتر موضوع بهتر است به سراغ مثال برویم.

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

دستور ss یا netstat را تایپ کنید تا ببینید آیا پورت TCP 443 در لینوکس در حال استفاده است یا خیر:

sudo netstat -tulpn | grep :443
sudo ss -tulpn | grep :443

خروجی این دستور چیزی شبیه به زیر خواهد بود:

tcp    0  0 0.0.0.0:443    0.0.0.0:*      LISTEN      438/nginx -g daemo

خروجی بالا نشان می دهد که پورت 443 در حال استفاده است و توسط سرویس nginx باز شده است. اما کجا؟

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

  • -t : نمایش دهنده ی سوکت / پورت TCP
  • -u : نمایانگر سوکت / پورت UDP
  • -l : فقط سوکت های در حال گوش دادن یعنی پورت های باز را نشان می دهد.
  • -p : هم چنین نام فرآیندی که پورت / سوکت را باز کرده است را نشان می دهد.
  • -n : آدرس ها و شماره ی پورت ها را در فرمت عددی به نمایش می گذارد.

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

این کار به سادگی امکان پذیر است. تنها کافیست دستورات زیر را اجرا نمایید:

sudo lsof -i -P -n | grep LISTEN
sudo ss -tulpn
sudo netstat -tulpn

خروجی :

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 127.0.0.1:6379          0.0.0.0:*               LISTEN      500/redis-server 12
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      438/nginx -g daemon
tcp        0      0 127.0.0.1:8080          0.0.0.0:*               LISTEN      407/lighttpd    
tcp        0      0 0.0.0.0:443             0.0.0.0:*               LISTEN      438/nginx -g daemon
tcp6       0      0 :::80                   :::*                    LISTEN      438/nginx -g daemon
udp        0      0 0.0.0.0:68              0.0.0.0:*                           277/dhclient

 

خروجی های دیگر از دستور lsof:

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

در خروجی های بالا روشن است که Lighttpd پورت TCP پورت 8080 و سرور Nginx پورت TCP 80 و 443 را باز کرده است. تمامی این سرورها تحت یک کاربر با نام “www-data” اجرا می شوند.

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

برچسب ها
نمایش بیشتر

نسرین ولی خانی

مهندسی تکنولوژی نرم افزار در صورت نیاز به راه ارتباطی به ایمیل زیر پیام ارسال نمایید. nasi.vl76@gmail.com

نوشته های مشابه

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

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

بستن