Как найти открытые порты в Ubuntu?

Для устранения неполадок в сети и поддержания безопасности сервера сетевой администратор или специалист по безопасности должны знать об инструментах, используемых для поиска открытых портов на сервере. Linux предоставляет различные утилиты и параметры командной строки для вывода списка открытых портов на сервере. В этом руководстве мы увидим, как мы можем перечислить все открытые порты с помощью различных команд в терминале Ubuntu.

Что означает открытый порт?

Прежде чем углубляться в проверку открытые порты, давайте сначала узнаем, что означают открытые порты. Открытый порт или порт прослушивания — это порт, на котором запущено какое-либо приложение. Запущенное приложение прослушивает какой-то порт, и мы можем общаться с этим приложением через этот порт прослушивания. Если приложение работает на порту, и мы пытаемся запустить другое приложение на том же порту, ядро ​​выдаст ошибку. Это одна из многих причин, по которым мы проверяем открытые порты перед запуском приложений.

Список открытых портов с помощью nmap

Network Mapper, известный как nmap, является открытым исходным кодом и бесплатный инструмент, который используется для сканирования портов в системе. Он используется для поиска уязвимостей, сетей и открытых портов. В этом разделе мы будем использовать nmap для получения списка открытых портов в системе. Прежде всего, обновите кеш в Ubuntu перед установкой nmap:

[email protected]: ~ $ sudo apt-get update -y

Nmap можно установить с помощью следующей команды в терминале:

[email protected]: ~ $ sudo apt-get install nmap -y

После установки nmap проверьте установку, проверив версию nmap:

[email protected]: ~ $ nmap —version

Если он выдает версию nmap, тогда он устанавливается идеально, в противном случае попробуйте выполнить приведенные выше команды еще раз, чтобы правильно установить nmap. Nmap используется для выполнения нескольких задач, связанных с сетями, и сканирование портов является одной из таких задач. Инструмент nmap используется вместе со многими опциями. Мы можем получить список всех доступных опций, используя следующую команду:

[email protected]: ~ $ man nmap

Итак, чтобы просканировать ваш локальный хост, используйте следующую команду:

[email protected]: ~ $ sudo nmap localhost

Он перечислит все открытые порты на localhost , как показано на изображении выше. Мы также можем использовать nmap для сканирования удаленных хостов:

[email protected]: ~ $ sudo nmap 93.184.216.34

Также , мы можем использовать имя хоста удаленного сервера вместо IP-адреса:

[email protected]: ~ $ sudo nmap www.example.com

Команда nmap также может использоваться для сканирования диапазона IP-адресов. Укажите диапазон IP-адресов в команде, как в следующей команде:

[email protected]: ~ $ sudo nmap 192.168.1. 1-10

Приведенная выше команда просканирует все IP-адреса от 192.168.1.1 до 192.168.1.10 и отобразит результат в терминале. Для сканирования портов в подсети мы можем использовать nmap следующим образом:

[email protected]: ~ $ sudo nmap 192.168.1.1/24

Приведенная выше команда просканирует все хосты с IP-адресами в подсети, определенной в команде.

Иногда вам нужно сканировать порты на случайных хостах, которые находятся в разных подсетях и не по порядку, тогда лучшим решением будет написать файл хостов, в котором записаны все имена хостов, разделенные одним или несколькими пробелами, табуляциями или новыми строками. Этот файл можно использовать с nmap следующим образом:

[email protected]: ~ $ sudo nmap -iL hosts.txt

Мы можем использовать nmap для сканирования одного порта на системе, указав порт с помощью флага ‘-p’ вместе с nmap, как в следующей команде:

[email protected]: ~ $ sudo nmap -p 80 localhost

Диапазон портов также можно сканировать в системе с помощью nmap следующим образом:

[email protected]: ~ $ sudo nmap -p 80-85 localhost

Мы можем сканировать все порты системы с помощью nmap:

[email protected]: ~ $ 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, просто проверив его версию:

[email protected]: ~ $ lsof -v

Если версия не отображается, то lsof является не установлен по умолчанию. Мы все еще можем установить его, используя следующие команды в терминале:

[email protected]: ~ $ sudo apt-get update -y
[email protected] : ~ $ sudo apt-get install lsof

Мы можем использовать команду lsof вместе с различными параметрами. Список всех доступных параметров можно отобразить с помощью следующей команды в терминале:

[email protected]: ~ $ man lsof

Теперь в этом разделе мы собираемся использовать lsof для отображения портов системы разными способами:

[email protected]: ~ $ sudo lsof — я

Приведенная выше команда отобразила все открытые порты. Мы также можем использовать команду lsof для отображения всех открытых сокетов:

[email protected]: ~ $ sudo lsof -n -P | grep LISTEN

Мы можем перечислить отфильтрованные порты на основе протокола с помощью lsof. Выполните приведенную ниже команду, чтобы вывести список всех типов TCP-соединений:

[email protected]: ~ $ sudo lsof -i tcp

Точно так же мы можем перечислить все соединения UDP типы, использующие lsof, следующим образом:

[email protected]: ~ $ sudo lsof -i udp

Список открытых портов с помощью netstat

Netstat, также известный как сетевая статистика, представляет собой программу командной строки, используемую для отображения подробной информации о сетях. Он отображает входящие и исходящие TCP-соединения, таблицы маршрутизации, сетевые интерфейсы и т. Д. В этом разделе мы будем использовать netstat для составления списка открытых портов в системе. Инструмент netstat можно установить, выполнив следующие команды:

[email protected]: ~ $ sudo apt-get update -y
[email protected]: ~ $ sudo apt-get install net-tools -y

После выполнения вышеуказанных команд вы можете проверить установку, проверив версию netstat:

[защита электронной почты]: ~ $ netstat —version

Если он отображает версию net-tools, значит, с установкой все в порядке, в противном случае снова запустите команды установки. Чтобы получить обзор всех доступных опций, которые можно использовать вместе с командой netstat, выполните следующую команду:

[email protected]: ~ $ 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:

[email protected]: ~ $ man ss

Чтобы получить список всех подключений независимо от их состояния, используйте команду ss без какого-либо флага:

[электронная почта защищена]: ~ $ sudo ss

Чтобы получить список всех прослушивающих портов, используйте команду ss с флагом ‘-l’. Флаг ‘-l’ используется для отображения только прослушивающих портов:

[email protected]: ~ $ sudo ss -l

Чтобы получить все прослушивающие TCP-порты, мы можно использовать флаг ‘-t’ и ‘-l’ вместе с командой ss:

[email protected]: ~ $ sudo ss -lt

Аналогичным образом мы можем получить список всех прослушивающих UDP-портов с помощью команды ss вместе с флагом ‘-u’ и ‘-l’:

[email protected]: ~ $ sudo ss -lu

Команду ss также можно использовать для получения списка всех соединений с портом источника или назначения. В следующем примере мы собираемся получить список всех соединений с целевым или исходным портом 22:

[email protected]: ~ $ sudo ss -at ‘ (dport =: 22 или sport =: 22) ‘

Вы получите список всех входящих и исходящих соединений, если вы подключились к удаленной системе с помощью ssh.

Заключение

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

Оцените статью
nanomode.ru
Добавить комментарий