آذرسیس

4 دستور اصلی برای یافتن پورت های باز در اوبونتو
4.3/5 - (7 امتیاز)

ما در این مقاله برای یافتن پورت های باز در اوبونتو 4 دستور اصلی را برای شما بررسی خواهیم کرد که توصیه می کنیم تا پایان توضیحات تکمیلی همراه آذرسیس باشید.

برخی از نرم افزارهای لینوکس وظیفه گوش دادن به اتصالات ورودی را به عهده دارند، به این صورت که مثلاً یک وب سرور هر زمان که شخصی وارد یک وب سایت می شود، به درخواست های کاربر رسیدگی می کند.

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

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

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

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

یافتن پورت های باز با استفاده از دستور nmap

Network Mapper یا همان nmap، یک ابزار متن باز و رایگان است که برای اسکن پورت های سیستم استفاده می شود، همچنین برای یافتن آسیب پذیری ها و کشف شبکه ها نیز می توان از این ابزار استفاده کرد، در این بخش از nmap برای دریافت لیست پورت های باز استفاده می کنیم.

نکته: توجه داشته باشید که باید کش اوبونتو را قبل از نصب nmap پاک کنید. 

ubuntu@ubuntu:~$ sudo apt-get update -y

حال می توانید nmap را با استفاده از دستور زیر در ترمینال نصب کنید:

ubuntu@ubuntu:~$ sudo apt-get install nmap -y

پس از نصب nmap، نصب را بررسی نسخه nmap بررسی کنید:

ubuntu@ubuntu:~$ nmap --version

ابزار nmap گزینه های زیادی برای ارائه دارد که با استفاده از دستور زیر می توانید تمام این گزینه ها را مشاهده کنید:

ubuntu@ubuntu:~$ man nmap

برای اسکن Localhost نیز می توانید دستور زیر را بکار بگیرید: 

ubuntu@ubuntu:~$ sudo nmap localhost

یافتن پورت های باز با استفاده از دستور nmap

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

ubuntu@ubuntu:~$ sudo nmap 

از ابزار nmap برای اسکن طیف وسیعی از آدرس های IP نیز استفاده کنید:

ubuntu@ubuntu:~$ sudo nmap 

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

بهترین راه حل این است که یک فایل میزبان با تمام نام هاست بنویسید که با درج فاصله یا خطوط و تب از هم جدا می شوند، این فایل را می توان با nmap به صورت زیر استفاده کرد:

ubuntu@ubuntu:~$ sudo nmap -iL hosts.txt

از nmap برای اسکن یک پورت واحد در سیستم، با تعیین پورت و با استفاده از flag -p به همراه nmap استفاده کنید:

ubuntu@ubuntu:~$ sudo nmap -p 80 localhost

سپس محدوده پورت ها را با استفاده از nmap روی یک سیستم اسکن کنید:

ubuntu@ubuntu:~$ sudo nmap -p 80-85 localhost

با دستور موجود در این قسمت نیز می توانید تمام پورت های باز سیستم خود را اسکن کنید:

ubuntu@ubuntu:~$ sudo nmap -p- localhost

حال برای دریافت لیستی از پورت های باز رایج در سیستم می توانید از دستور nmap با flag -f استفاده کنید:

ubuntu@ubuntu:~$ sudo nmap -F localhost

به ترتیب پورت های TCP را می توان با استفاده از nmap روی سیستم اسکن کرده و با افزودن flag -t همراه دستور nmap به کار برد و پورت های UDP را با flag -u با دستور nmap استفاده کرد:

ubuntu@ubuntu:~$ sudo nmap -sT localhost
 ubuntu@ubuntu:~$ sudo nmap -sU localhost

فهرست کردن پورت های باز با استفاده از دستور lsof

دستور lsof اختصاری برای عبارت “List Open Files” می باشد و برای بدست آوردن اطلاعات مربوط به فایل های باز استفاده شده توسط فرآیندهای مختلف در یونکس و لینوکس استفاده می شود.

در اکثر توزیع های لینوکس این ابزار از پیش نصب شده است و ما می توانیم نصب lsof را فقط با بررسی نسخه آن تایید کنیم:

ubuntu@ubuntu:~$ lsof -v

اگر نسخه برای شما نشان داده نشد یعنی به طور پیش فرض نصب نشده و ما می توانیم آن را با استفاده از دستور زیر در ترمینال نصب کنیم:

ubuntu@ubuntu:~$ sudo apt-get update -y
ubuntu@ubuntu:~$ sudo apt-get install lsof

می توانید از دستور lsof به همراه گزینه های دیگر استفاده کنید و لیست تمام گزینه های موجود را با استفاده از دستور زیر در ترمینال نمایش دهید: 

ubuntu@ubuntu:~$ man lsof

در این قسمت از دستور lsof برای نمایش پورت های یک سیستم به روش های مختلف استفاده کنید:

ubuntu@ubuntu:~$ sudo lsof -i

فهرست کردن پورت های باز با استفاده از دستور lsof

همانطور که می بینید تصویر بالا تمام پورت های باز را به نمایش گذاشته است ولی کارکرد lsof به این مورد محدود نمی شود و می توانید از این دستور برای نمایش سوکت های باز نیز استفاده کنید:

ubuntu@ubuntu:~$ sudo lsof -n -P | grep LISTEN

می توانورت های فیلتر شده را براساس یک پروتکل با استفاده از lsof لیست کرده و  سپس دستور زیر را اجرا کنید تا تمام اتصالات TCP فهرست شود:

ubuntu@ubuntu:~$ sudo lsof -i tcp
 
به همین روش شما می توانید اتصالات UDP را نیز با دستور lsof فهرست کنید:
ubuntu@ubuntu:~$ sudo lsof -i udp

فهرست کردن پورت های باز با استفاده از ابزار Netstat

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

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

در ابتدا باید این ابزار را در سیستم خود نصب کنید که برای این کار می توانید از دستور زیر استفاده کنید:

ubuntu@ubuntu:~$ sudo apt-get update -y
ubuntu@ubuntu:~$ sudo apt-get install net-tools -y

پس از اجرای دستور بالا، فرآیند نصب را با بررسی نسخه Netstat در سیستم را بررسی کنید:

ubuntu@ubuntu:~$ netstat --version

اگر نسخه Net-tool نمایش داده شود نصب به درستی انجام شده، در غیر این صورت دستورات نصب را باید دوباره اجرا کنید، برای دریافت نمای کلی از تمام گزینه های موجود، به همراه دستور Netstat دستور زیر را اجرا کنید:

ubuntu@ubuntu:~$ man netstat

برای بدست آوردن تمام پورت های باز با ابزار Netstat در اوبونتو می توانید دستور زیر را اجرا کنید:

ubuntu@ubuntu:~$ sudo netstat -l

 می توان از دستور Netstat برای فیلتر کردن عمل گوش دادن به پورت های TCP و UDP به وسیله درج یک Flag در دستور زیر استفاده کرد:

ubuntu@ubuntu:~$ sudo nmap 93.184.216.34

شما می توانید از ابزار nmap برای اسکن طیف وسیعی از آدرس های IP نیز استفاده کنید:

ubuntu@ubuntu:~$ sudo nmap 192.168.1.1-10

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

بهترین راه حل این است که یک فایل میزبان با تمام نام هاست بنویسید که با درج فاصله یا خطوط و تب از هم جدا می شوند، این فایل را می توان با nmap به صورت زیر استفاده کرد:

ubuntu@ubuntu:~$ sudo nmap -iL hosts.txt

از nmap برای اسکن یک پورت واحد در سیستم، با تعیین پورت و با استفاده از flag -p به همراه nmap استفاده کنید:

ubuntu@ubuntu:~$ sudo nmap -p 80 localhost

محدوده پورت ها را با nmap روی یک سیستم اسکن کنید:

ubuntu@ubuntu:~$ sudo nmap -p 80-85 localhost

با دستور موجود در این قسمت می توانید تمام پورت های سیستم را اسکن کنید:

ubuntu@ubuntu:~$ sudo nmap -p- localhost

حال برای دریافت لیستی از پورت های باز رایج در سیستم خود می توانید از دستور nmap با flag -f استفاده کنید:

ubuntu@ubuntu:~$ sudo nmap -F localhost

به ترتیب پورت های TCP را می توان با استفاده از nmap روی سیستم اسکن کرده و با افزودن flag -t همراه دستور nmap به کار برد و به طور مشابه، پورت های UDP را با flag -u با دستور nmap استفاده کرد:

ubuntu@ubuntu:~$ sudo nmap -sT localhost
ubuntu@ubuntu:~$ sudo nmap -sU localhost

فهرست کردن پورت های باز با استفاده از دستور SS

به طور معمول دستور SS برای نمایش اطلاعات مربوط به سوکت ها در سیستم لینوکس استفاده می شود، این ابزار نسبت به Netstat می تواند اطلاعات دقیق تری درباره سوکت ها ارائه بدهد.

دستور  SS در اکثر توزیع های لینوکس از پیش نصب شده است، بنابراین نیازی به نصب آن نیست , با افزودن man در دستور SS می توانید فهرستی از تمام گزینه ها را دریافت کرد:

ubuntu@ubuntu:~$ man ss

برای بدست آوردن لیستی از تمام اتصالات بدون در نظر گرفتن وضعیت آنها، می توانید از دستور SS بدون Flag استفاده کنید:

ubuntu@ubuntu:~$ sudo ss

سپس برای اینکه لیست تمام پورت ها (listening ports) را بدست آورید از دستور ss با flag -l استفاده کنید، این Flag فقط برای Listening Ports کاربرد دارد:

ubuntu@ubuntu:~$ sudo ss -l

برای لیست کردن تمام پورت های Listening TCP از دستور SS همراه با Flag -t و در کنار آن -l استفاده کنید:

ubuntu@ubuntu:~$ sudo ss -lt

به همان صورت می توانید از این دستور برای پورت های Listening UDP نیز استفاده کنید و Flag های -u و -l را نیز به همراه آن استفاده کنید:

ubuntu@ubuntu:~$ sudo ss -lu

شما می توانید دستور SS را برای به دست آوردن لیست تمام اتصالات با منبع یا پورت مقصد استفاده کنید، در مثال زیر تمام اتصالات با مقصد یا پورت مبدا 22 دریافت می شود:

ubuntu@ubuntu:~$ sudo ss -at ‘( dport = :22 or sport = :22 )’

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

همانطور که میبینید سرورهای لینوکس غنی از ابزارهای مورد استفاده برای تشخیص شبکه ها می باشد و سرورهای لینوکس امروزه طرفداران زیادی یافته اند.

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

سخن آخر

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

در این میان سیستم لینوکس ابزارهای زیادی را ارائه می دهد که می تواند برای فعالیت های متعدد در شبکه مفید باشد، در این مقاله ما به بررسی 4 دستور مهم یعنی ss ,lsof ,netstat و nmap برای یافتن پورت های باز شبکه در اوبونتو پرداختیم.

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

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

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