دستور ها و روش های متفاوتی برای پیدا کردن پورت های باز وجود دارد. زمانی که پورتی باز باشد به این معنی است که آن پورت در حال گوش دادن (Listening) به درخواست ها است. هر سرویس دارای یک شماره پورت خاص است. به طور مثال ۲۲ پورت مربوط به سرویس ssh است.
دو پروتکل TCP و UDP برای سرویس های TCP/IP وجود دارند. به طور مثال سرویس ssh در هر دو پروتکل بر روی پورت شماره ۲۲ گوش می دهد. از اینجا می توانید فهرست سرویس ها و پورت های آنرا مشاهده کنید.
دستور netstat
از دستور netstat می توانید برای پیدا کردن پورت های باز (در حال گوش دادن) به صورت زیر استفاده کنید.
netstat –listen
listen -l
همچنین از دستورهای زیر به ترتیب برای پیدا کردن پورت های باز پروتکل TCP و UDP استفاده کنید.
netstat -vatn
netstat -vaun
دستور lsof
از دستور lsof به صورت زیر می توان برای پیدا کردن اینکه آیا یک پورت خاص باز است یا خیر استفاده کرد.
sudo lsof -i :PORT_NUMBER
sudo lsof -i :22
دستور nmap برای پویش پورت ها
دستور nc
از دستور nc نیز می توان به صورت زیر برای پیدا کردن پورت های باز بر روی ماشین محلی (Local Address) و یک ماشین راه دور (Remote Address) استفاده کرد.
nc IP_ADDR PORTS_NUMBER
به طور مثال از دستور زیر برای تشخیص باز بودن پورت ۸۰ بر روی ماشین محلی و ماشین راه دور استفاده می شود.
nc -zv 127.0.0.1 80
nc -zv 192.168.1.5 80
و برای تعیین باز بودن پورت های ۲۲ و ۲۵ و ۸۰ از دستور زیر استفاده کنید.
nc -zv 127.0.1.1 22 25 80
nc -zv 192.168.1.5 22 25 80
و برای پیدا کردن یک محدوده از پورت ها از دستور زیر استفاده کنید.
nc -zv 127.0.0.1 20-30
nc -zv 192.168.1.5 20-30