Ubuntu

Как да намерим отворени портове в Ubuntu?

Как да намерим отворени портове в Ubuntu?
За отстраняване на неизправности в мрежата и поддържане на сигурността на сървъра, мрежовият администратор или специалист по сигурността трябва да са наясно с инструментите, използвани за намиране на отворени портове на сървъра. Linux предоставя различни помощни програми и опции на командния ред за изброяване на отворени портове на сървъра. В този урок ще видим как можем да изброим всички отворени портове, използвайки различни команди в терминала на Ubuntu.

Какво означава Open Port?

Преди да се задълбочим в проверката на отворените портове, нека първо знаем какво означават отворените портове. Отворен порт или порт за прослушване е портът, в който се изпълнява дадено приложение. Работещото приложение слуша на някакъв порт и ние можем да комуникираме с това приложение през този порт за слушане. Ако приложението се изпълнява на порт и ние се опитваме да стартираме друго приложение на същия порт, ядрото ще изведе грешка. Това е една от многото причини да проверяваме за отворени портове, преди да стартираме приложения.

Списък на отворените портове с помощта на nmap

Network Mapper, известен като nmap, е безплатен инструмент с отворен код, който се използва за сканиране на портове в системата. Използва се за намиране на уязвимости, откриване на мрежи и откриване на отворени портове. В този раздел ще използваме nmap, за да получим списък с отворени портове в системата. На първо място, актуализирайте кеша на Ubuntu, преди да инсталирате nmap:

[имейл защитен]: ~ $ sudo apt-get update -y

Nmap може да бъде инсталиран чрез следната команда в терминала:

[имейл защитен]: ~ $ sudo apt-get install nmap -y

След като инсталирате nmap, проверете инсталацията, като проверите версията на nmap:

[имейл защитен]: ~ $ nmap --version

Ако дава версията на nmap, тя е инсталирана перфектно, в противен случай опитайте отново горните команди, за да инсталирате nmap правилно. Nmap се използва за извършване на няколко свързани с мрежи, а сканирането на портове е една от тези задачи. Инструментът nmap се използва заедно с много опции. Можем да получим списъка с всички налични опции, като използваме следната команда:

[имейл защитен]: ~ $ man nmap

Така че, за да сканирате вашия localhost, използвайте задържаната команда по-долу:

[имейл защитен]: ~ $ sudo nmap localhost

Той ще изброи всички отворени портове на localhost, както е показано на горното изображение. Също така можем да използваме nmap за сканиране на отдалечени хостове:

[имейл защитен]: ~ $ sudo nmap 93.184.216.34

Също така можем да използваме името на хоста на отдалечения сървър вместо IP адрес:

[имейл защитен]: ~ $ sudo nmap www.пример.com

Командата nmap може да се използва и за сканиране на набор от IP адреси. Посочете обхвата на IP адресите в командата, както в командата по-долу:

[имейл защитен]: ~ $ sudo nmap 192.168.1.1-10

Горната команда ще сканира всички IP адреси от 192.168.1.1 до 192.168.1.10 и ще покаже резултата в терминала. За да сканираме портове в подмрежа, можем да използваме nmap, както следва:

[имейл защитен]: ~ $ sudo nmap 192.168.1.1/24

Горната команда ще сканира всички хостове с IP адреси в подмрежата, дефинирана в командата.

Понякога трябва да сканирате портове на произволни хостове, които са в различни подмрежи и не са в последователност, тогава най-доброто решение е да напишете файл на хостове, в който са записани всички имена на хостове, разделени с едно или повече интервали, раздели или нови линии. Този файл може да се използва с nmap, както следва:

[имейл защитен]: ~ $ sudo nmap -iL хостове.текст

Можем да използваме nmap, за да сканираме един-единствен порт в системата, като посочим порта, използвайки флага '-p', заедно с nmap, както в следната команда:

[имейл защитен]: ~ $ sudo nmap -p 80 localhost

Обхват на портове може също да бъде сканиран на система с помощта на nmap по следния начин:

[имейл защитен]: ~ $ sudo nmap -p 80-85 localhost

Можем да сканираме всички портове на системата с помощта на nmap:

[имейл защитен]: ~ $ sudo nmap -p- localhost

За да получите списък с най-често отворените портове на вашата система, можете да използвате командата nmap с флага '-F':

[имейл защитен]: ~ $ sudo nmap -F localhost

TCP портовете могат да бъдат сканирани в системата с помощта на nmap, като просто добавите флага '-T', заедно с командата nmap:

[имейл защитен]: ~ $ sudo nmap -sT localhost

По същия начин, за UDP портовете, можете да използвате флага '-U' с командата nmap:

[имейл защитен]: ~ $ sudo nmap -sU localhost

Списък на отворените портове с помощта на lsof

Командата lsof, известна също като „списък на отворените файлове“, се използва за получаване на информация за отворени файлове, използвани от различни процеси в UNIX и LINUX като операционни системи. За повечето дистрибуции на Linux този инструмент се предлага предварително инсталиран. Можем да проверим инсталирането на lsof, като просто проверим неговата версия:

[имейл защитен]: ~ $ lsof -v

Ако не показва версията, тогава lsof не е инсталиран по подразбиране. Все още можем да го инсталираме, като използваме следните команди в терминала:

[имейл защитен]: ~ $ sudo apt-get update -y
[имейл защитен]: ~ $ sudo apt-get install lsof

Можем да използваме командата lsof заедно с различни опции. Списъкът с всички налични опции може да се покаже чрез следната команда в терминала:

[имейл защитен]: ~ $ man lsof

Сега в този раздел ще използваме lsof, за да покажем портове на системата по различни начини:

[имейл защитен]: ~ $ sudo lsof -i

Горната команда показа всички отворени портове. Също така можем да използваме командата lsof, за да покажем всички отворени сокети:

[имейл защитен]: ~ $ sudo lsof -n -P | grep СЛУШАЙ

Можем да изброим филтрирани портове въз основа на протокол, използвайки lsof. Изпълнете командата, дадена по-долу, за да изброите всички видове TCP връзка:

[имейл защитен]: ~ $ sudo lsof -i tcp

По същия начин можем да изброим всички типове UDP връзка, използвайки lsof по следния начин:

[имейл защитен]: ~ $ sudo lsof -i udp

Списък на отворените портове с помощта на netstat

Netstat, известен също като мрежова статистика, е програма за команден ред, използвана за показване на подробна информация за мрежите. Той показва както входящи, така и изходящи TCP връзки, маршрутни таблици, мрежови интерфейси и т.н. В този раздел ще използваме netstat за изброяване на отворени портове в системата. Инструментът netstat може да бъде инсталиран чрез изпълнение на следните команди:

[имейл защитен]: ~ $ sudo apt-get update -y
[имейл защитен]: ~ $ sudo apt-get install net-tools -y

След като изпълните горните команди, можете да проверите инсталацията, като проверите версията на netstat:

[имейл защитен]: ~ $ netstat --version

Ако показва версията на net-tools, тогава инсталацията е наред, в противен случай изпълнете командите за инсталиране отново. За да получите преглед на всички налични опции, които могат да се използват, заедно с командата netstat, изпълнете следната команда:

[имейл защитен]: ~ $ man netstat

Можем да получим списък на всички портове за слушане, като използваме командата netstat в Ubuntu, като изпълним следната команда:

[имейл защитен]: ~ $ sudo netstat -l

Командата netstat може да се използва и за филтриране на прослушването на TCP и UDP портове, като просто добавите флаг заедно с командата. За прослушване на TCP портовете:

[имейл защитен]: ~ $ sudo netstat -lt

За да слушате UDP портовете, използвайте следната команда:

[имейл защитен]: ~ $ sudo netstat -lu

За да получите списъка с всички слушащи UNIX портове, можете да изпълните следната команда в терминала:

[имейл защитен]: ~ $ sudo netstat -lx

Списък на отворените портове с помощта на ss

Командата ss се използва за показване на информация за сокети в Linux система. Той показва по-подробна информация за сокетите, отколкото командата netstat. Командата ss е предварително инсталирана за повечето дистрибуции на Linux, така че не е необходимо да я инсталирате, преди да я използвате. Можете да получите списък с всички опции, които могат да се използват заедно с ss командата, като стартирате командата 'man' с ss:

[имейл защитен]: ~ $ man ss

За да получите списък на всички връзки, независимо от състоянието им, използвайте ss командата без никакъв флаг:

[имейл защитен]: ~ $ sudo ss

За да получите списък на всички портове за слушане, използвайте ss командата с флага '-l'. Флагът -l се използва за показване само на прослушващи портове:

[имейл защитен]: ~ $ sudo ss -l

За да получим всички прослушващи TCP портове, можем да използваме флага '-t' и '-l' заедно с командата ss:

[имейл защитен]: ~ $ sudo ss -lt

По същия начин можем да получим списък на всички слушащи UDP портове, като използваме ss командата заедно с флага '-u' и '-l':

[имейл защитен]: ~ $ sudo ss -lu

Командата ss може да се използва и за получаване на списък на всички връзки с източника или порта на местоназначение. В следващия пример ще получим списъка с всички връзки с дестинацията или източника порт 22:

[имейл защитен]: ~ $ sudo ss -at '(dport =: 22 или sport =: 22)'

Ще получите списък на всички входящи и изходящи връзки, ако сте се свързали с отдалечена система с помощта на ssh.

Заключение

За системните администратори, специалистите по сигурността и други свързани с ИТ лица е важно да са наясно с отворените портове на сървърите. Linux е богат на инструментите, използвани за диагностика на мрежи и предоставя много инструменти, които могат да бъдат полезни за различни видове мрежови дейности. В този урок използвахме някои инструменти като netstat, ss, lsof и nmap, за да проверим за отворени портове в Ubuntu. След като преминете през тази статия, ще можете лесно да изброите всички портове за слушане на вашия Linux сървър по много начини.

Урок Сянка на Tomb Raider за Linux
Shadow of the Tomb Raider е дванадесетото допълнение към поредицата Tomb Raider - франчайз за екшън-приключенска игра, създаден от Eidos Montreal. Игр...
Как да увеличите FPS в Linux?
FPS означава Кадри в секунда. Задачата на FPS е да измерва честотата на кадрите при възпроизвеждане на видео или игрални изпълнения. С прости думи бро...
Топ Oculus App Lab Games
Ако сте собственик на слушалки на Oculus, тогава трябва да знаете за странично зареждане. Sideloading е процесът на инсталиране на несъхранявано съдър...