Просмотр открытых портов в Ubuntu

4 способа узнать, какие порты прослушиваются в Linux

Порт может быть в четырёх состояниях: открытым, отфильтрованным, закрытым или нефильтрованным. Когда говорят, что порт открыт, это означает что приложение на целевой машине прослушивает соединения/пакеты на этом порту.

В этой статье мы объясним четыре способа проверки открытых портов, а также покажем вам, как найти, какое приложение прослушивает каждый конкретный порт в Linux.

1. Использование команды Netstat

Netstat — широко используемый инструмент для сбора информации о сетевой подсистеме Linux. Вы можете использовать его для вывода всех открытых портов следующим образом:

Флаг -l указывает netstat вывести все прослушивающие сокеты (сокет это ip + порт), -t показывает все TCP-соединения, -u отображает все соединения UDP, а -p позволяет выводить имя приложения/программы, прослушивающее порт.

Чтобы выводить числовые значения (номер порта), а не имена служб, добавьте флаг -n.

Вы также можете использовать команду grep, чтобы узнать, какое приложение прослушивает конкретный порт, например:

В качестве альтернативы вы можете указать порт и найти приложение:

2. Использование команды ss

ss — еще один полезный инструмент для отображения информации о сокетах. Он в своём использовании похож на netstat. Следующая команда выведет все порты прослушивающие соединения TCP и UDP в числовом формате.

3. Использование команды Nmap

Nmap — мощный и популярный инструмент для исследования сети и сканирования портов. Чтобы установить nmap в вашу систему, используйте диспетчер пакетов по умолчанию:

Чтобы «отсканировать» все открытые/прослушивающие порты в вашей Linux-системе, выполните следующую команду (она займет много времени для своего выполнения).

4. Использование команды lsof

Конечным инструментом, который мы рассмотрим для поиска открытых портов, является команда lsof.

Чтобы вывести все интернет-файлы и сетевые файлы, используйте опцию -i. Обратите внимание, что эта команда показывает сочетание имен служб и числовых портов.

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

На этом всё! В этой статье мы объяснили четыре способа узнать какие порты прослушиваются в Linux. Мы также показали, как проверить, какие процессы связаны с конкретными портами.

Спасибо за уделенное время на прочтение статьи!

Если возникли вопросы, задавайте их в комментариях.

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Просмотр открытых портов в Ubuntu

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

Просматриваем открытые порты в Ubuntu

Для выполнения поставленной задачи мы предлагаем использовать стандартную консоль и дополнительные утилиты, позволяющие проводить мониторинг сети. Разобраться в командах смогут даже неопытные пользователи, поскольку мы дадим объяснение каждой. Предлагаем ознакомиться с двумя различными утилитами далее.

Способ 1: lsof

Утилита под названием lsof проводит мониторинг всех системных соединений и выводит на экрана подробную информацию о каждом из них. Нужно лишь присвоить правильный аргумент, чтобы получить интересующие вас данные.

  1. Запустите «Терминал» через меню или командой Ctrl + Alt + T.

Введите команду sudo lsof -i , а затем щелкните на Enter.

Укажите пароль для рут-доступа. Учтите, что при наборе символы вводятся, но в консоли не отображаются.

Когда перечень подключений большой, можно отфильтровать результат, чтобы утилита показала только те строки, где имеется нужный вам порт. Делается это через ввод sudo lsof -i | grep 20814 , где 20814 — номер необходимого порта.

Читать еще:  Просматриваем список пользователей в Linux

Осталось только изучить появившиеся результаты.

Способ 2: Nmap

Открытое программное обеспечение Nmap тоже способно выполнять функцию сканирования сетей на предмет активных соединений, однако реализовано оно немного иначе. У Nmap есть и версия с графическим интерфейсом, но сегодня она нам не пригодится, поскольку использовать ее не совсем целесообразно. Работа же в утилите выглядит так:

  1. Запустите консоль и проведите установку утилиты путем ввода sudo apt-get install nmap .

Не забудьте ввести пароль для предоставления доступа.

Подтвердите добавление новых файлов в систему.

Теперь для отображения необходимой информации используйте команду nmap localhost .

Ознакомьтесь с полученными данными об открытых портах.

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

    Узнайте ваш сетевой IP-адрес через онлайн-сервис Icanhazip. Для этого в консоли введите wget -O – -q icanhazip.com , а затем нажмите на Enter.

Запомните ваш сетевой адрес.

После этого запустите сканирование по нему, введя nmap и ваш IP.

Если вы не получили никаких результатов, значит все порты закрыты. В случае наличия открытых они отобразятся в «Терминале».

Мы рассмотрели два метода, поскольку каждый из них ищет информацию по своим алгоритмам. Вам же остается только выбрать наиболее оптимальный вариант и путем мониторинга сети узнать, какие порты на текущий момент открыты.

Отблагодарите автора, поделитесь статьей в социальных сетях.

Смотрим открытые порты в Linux

Операционные системы Linux считаются надежнее Windows по ряду причин. Одна из них – настройка сетевой безопасности. Расскажем о том, как посмотреть открытые порты в Linux-системах и выборочно их закрыть.

Что значит «открытый» порт?

Понятие «порт» в сфере IT обозначается в виде чисел и используется для идентификации программы-получателя информации извне (т.е. из Интернета). Например, браузер Intenet Explorer работает только через 80 порт.

Некоторые программы открывают две точки. Почтовые клиенты для отправки сообщений используют 25 порт, а для входящих писем – 110.

Опасность заключается в том, что, используя открытые точки, на компьютер пользователя могут «подселить» зловредное ПО. А они, в свою очередь, могут открывать порты для других вирусов, более серьезных, мешающих нормальной работоспособности ОС.

В операционной системе Linux присутствуют специальные программные средства, которые помогут отследить открытые порты, и при необходимости закрыть их.

Важно! Статья рассказывает про утилиты в Ubuntu 18.04

Netstat

Встроенная утилита в ОС использует следующий синтаксис для сканирования:

sudo netstat –ltup

В рабочем окне терминала отобразится результат в виде списка со статусом.

Список «открытых» портов

Полный синтаксис команды просматривается через команду man: netstat –man

Другой вариант – помощник Nmap, который используется для мониторинга сети и портов. ПО требует установки, поэтому проинсталлируем его из репозитория.

sudo apt-get install nmap

После инсталляции запускаем утилиту со следующими ключами:

sudo nmap -n -Pn -sS -sU -p- localhost

Результат отобразится в терминале пользователя.

Важно! Процедура сканирования может занять длительное время.

Перечень открытых соединений

Если требуется графическая оболочка, то введем в терминале:

sudo apt-get install zenmap

После установки вводим:

sudo zenmap

На мониторе пользователя откроется графическая среда.

Результат сканирования Nmap

В поле Target задаем IP-адрес хоста, который хотим просканировать. Раздел Profile отвечает за тип сканирования. А в нижней части экрана отобразятся результаты.

Третий инструмент предназначен для просмотра открытых файлов, а также соединений при включении дополнительных опций. По умолчанию утилита не предустановлена в ОС. Инсталлируем ее:

Читать еще:  Как сделать картинку ссылкой ВКонтакте

sudo apt-get install lsof

По окончании процесса запускаем приложение с ключом i:

sudo lsof –i

В итоге на экране появится следующая информация:

Сканирование через утилиту

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

sudo lsof -i :80

В итоге, сканер мониторит порт №80, а потом сообщает результаты пользователю.

Утилита представляет собой обновленный аналог NetStat. Пакет программного обеспечения Net Tools, который используется системными администраторами в ОС семейства Linux устарел. На смену ему пришел набор iproute2.

SS является прямым аналогом команды Netstat, за исключением синтаксиса. Чтобы просмотреть открытые порты, вводим:

sudo ss –lntu

Важно! При добавлении опции –p утилита покажет сервисы, которые используют порт. Приложение выводит подробную информацию обо всех процессах.

Заключение

Публикация рассказала о четырех способах просмотра «открытых» портов в Linux-системах. Каждый утилита рассмотрена кратко, со скриншотами и синтаксисом.

Открытые порты Ubuntu

В современных операционных системах не обойтись без взаимодействия программ с внешней средой и интернетом. Для этого используется специальные механизмы – порты.

Но порты представляют определённую угрозу. Если в программе есть какая-либо уязвимость, то любой пользователь локальной сети сможет получить доступ к вашему компьютеру, а в некоторых случаях даже к вашей информации. Поэтому нужно быть очень осторожным с открытыми портами. В этой статье мы разберёмся, как посмотреть открытые порты Ubuntu.

Что такое порты и зачем они нужны?

Порты – это более широкое понятие, чем просто возможность подключится к удалённому компьютеру через сеть. Когда процесс хочет обратиться к серверу, ему нужно каким-либо образом идентифицировать, к какому серверу он хочет подключиться. Если мы знаем 32 битный IP-адрес сервера, то мы можем без проблем к нему подключиться.

Но как указать программу, к которой нужно обратиться? Для решения этой проблемы оба протокола UDP и TCP поддерживают систему портов. Порт – это целое число от 1024 до 65535. Все номера до 1024 зарезервированы и используются только определёнными службами, например, 22 – ssh, http – 80, FTP – 21 и так далее.

Таким образом, процесс прослушивает определённый порт на сервере, а клиент, который хочет к нему обратиться, должен знать этот порт. Вся обработка прав доступа к портам в большинстве случаев ложится на процесс, поэтому если в его коде есть уязвимости, то это может стать серьёзной проблемой безопасности.

Открытые порты Ubuntu

Существуют не только порты, к которым программы подключаются удалённо, но и локальные порты, используемые программами для общения между собой. В качестве локальных также могут использоваться удалённые.

В Linux существует несколько утилит, которые можно использовать, чтобы посмотреть открытые порты. Одни из них полноценные сетевые сканеры, другие – локальные утилиты, отображающие всю доступную информацию. Рассмотрим основные из них.

netstat

Это одна из самых старых и популярных утилит для просмотра открытых портов. Мы описывали её в отдельной статье, а сейчас просто кратко рассмотрим, как с ней работать. Чтобы посмотреть открытые порты, выполните такую команду:

netstat -ntlp | grep LISTEN

Опция -l сообщает, что нужно посмотреть прослушиваемые порты, -p показывает имя программы, -t и -u – отображают TCP и UDP порты, а -n показывает ip адреса в числовом виде. Дальше нужно выбрать только те строки, где встречается слово LISTEN, чтобы найти только прослушиваемые порты.

Читать еще:  Ошибка 25000 в BlueStacks

Здесь в первом столбце отображается протокол, затем два столбца – это данные, которые нам ничего полезного не говорят, а за ними уже идут локальный и внешний адреса. Если локальный адрес – 127.0.0.1, то это значит, что сервис доступен только на этом компьютере, а значение 0.0.0.0 или :: означает любой адрес, к таким сервисам могут подключаться из сети. В нашем примере это Apache и systemd-resolvd.

Утилита lsof тоже предназначена для просмотра открытых соединений. Основная ее функция – просмотр открытых файлов, но с её помощью можно посмотреть открытые порты Ubuntu. Используйте такие параметры:

sudo lsof -nP -i | grep LISTEN

Опции -n и -P указывают, что необходимо отображать не только цифровые имена портов и ip-адреса, но и имена доменов и сервисов. Опция -i отображает все сетевые подключения, а с помощью grep мы фильтруем только те, которые находятся в состоянии прослушивания.

Представление информации немного отличается, но в общем и целом мы видим всё ту же информацию. Кроме неё, здесь ещё отображается имя пользователя, от которого запущен процесс. Вы можете не ограничиваться фильтрами и посмотреть все доступные соединения:

Команда ss – это улучшенная версия netstat. Точно так, как для замены ifconfig была придумана утилита ip, ss разработали для замены netstat. Команда будет выглядеть следующим образом:

Все данные здесь выводятся почти так же, как и в netstat, поэтому вы легко во всём разберётесь. В дополнение к выше перечисленным командам: возможно, вам нужно будет посмотреть на правила брандмауэра iptables, чтобы понять, какие порты закрыты с его помощью:

В нашем примере нет никаких ограничений. Политика по умолчанию – ACCEPT. На промышленных серверах может применяться политика DENY, а нужные порты будут разрешены с помощью правил.

Сетевой сканер nmap позволяет проверить список портов Ubuntu так, как бы это делал злоумышленник при попытке атаки на вашу систему. Здесь вы будете видеть все порты, которые видны снаружи. Но для сканирования нужно использовать внешний ip-адрес. Не сетевой ip-адрес провайдера, а адрес вашего компьютера, например, в локальной сети чаще всего используется 192.168.1.2. Посмотреть ip вашего сетевого интерфейса можно с помощью команды ifconfig:

Чтобы просто просканировать открытые порты Ubuntu, будет достаточно выполнить:

nmap -sT 192.168.1.3

Также можно выполнить комплексное сканирование всех уязвимостей. Важно отметить, что команда не находит все уязвимости, а проверяет только самые простые. Для активации этого режима используется опция -A:

sudo nmap -A 192.168.1.3

Как пользоваться nmap, читайте в отдельной статье.

Выводы

В этой статье мы рассмотрели, как проверить порты Ubuntu с помощью нескольких утилит. Все они выводят подробную информацию, но для каждого отдельного случая может лучше подойти только одна из них. Например, проверять какие порты видят другие компьютеры извне лучше с помощью nmap. А чтобы посмотреть, какие службы или сокеты доступны локально, лучше применять netstat или ss.

Проверяйте, какие порты открыты, и если они не нужны, то закройте их в брандмауэре или просто отключите сервис. Иначе они ставят под угрозу безопасность вашей системы. Например, у меня на ноутбуке открыт порт SSH, и я не раз наблюдал в логах попытки перебрать пароль от каких-то роутеров из локальной сети. И если даже вас некому ломать, это могут сделать вирусы. Так что будьте осторожны, и не оставляйте открытые порты, если в этом нет необходимости.

Ссылка на основную публикацию
Adblock
detector