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

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

Рубрики:

Сети Linux

Метки:

, , , ,

В рамках нашей сегодняшней статьи Вы узнаете 4 способа найти открытые порты в Linux. Открытый порт сам по себе не представляет опасности. Однако вполне может стать угрозой безопасности операционной системы, как только его начнет использовать программа. Для определения того, какая именно программа слушает конкретный порт в данный момент, существуют специальные утилиты — netstat, ss, Nmap, lsof.

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

Содержание:

  1. Что такое порт
  2. Как узнать, какие порты прослушиваются / открыты в Linux
    1. Учимся использовать netstat
      1. Устанавливаем netstat
        1. Устанавливаем netstat в Debian / Ubuntu
        2. Устанавливаем netstat в CentOS / RHEL
        3. Устанавливаем netstat в OpenSuse
        4. Устанавливаем netstat в Arch Linux
      2. Выводим список открытых портов в Linux с помощью Netstat
      3. Расширяем возможности netstat с помощью команды grep
    2. Учимся использовать команду ss
      1. Выводим список открытых портов в Linux с помощью ss
      2. Узнаем с помощью ss значения pid процессов, которые прослушивают порты
    3. Учимся использовать nmap
      1. Устанавливаем nmap
        1. Устанавливаем nmap в Debian / Ubuntu
        2. Устанавливаем nmap в CentOS / RHEL
        3. Устанавливаем nmap в Fedora
      2. Выводим список открытых портов в Linux с помощью nmap
      3. Дополнительные опции утилиты nmap
    4. Учимся использовать утилиту lsof
      1. Выводим на экран все IP-сокеты
      2. Выводим список процессов, прослушивающих конкретный порт с помощью lsof
  3. Выводы

Что такое порт

Порт — это логический объект, который является конечной точкой связи в сетевых соединениях. Он непосредственно связан с процессом или службой в операционной системе целевого устройства. При этом, любой порт способен находиться в одном из четырех возможных состояний:

  • открытом;
  • закрытом;
  • отфильтрованном (filtered);
  • нефильтрованном (unfiltered).

В том случае, если порт открыт — программное обеспечение целевого оборудования занимается тем, что прослушивает его соединения и пакеты.

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

Специально для Вас мы подобрали топ-4 решений, позволяющих быстро выявлять открытые порты в Linux. А также — находить любое связанное с ними программное обеспечение.

Учимся использовать netstat

Утилита netstat (от англ. Network Statistics) — это популярный инструмент, приспособленный для анализа данных о сети в Linux и других UNIX-подобных операционных системах. Сегодня любой сетевой и системный администратор должен уметь работать с этой утилитой. В том числе — выводить на экран список открытых портов.

Устанавливаем netstat

Чтобы установить netstat — воспользуйтесь командой, соответствующей Вашему дистрибутиву Linux.

Устанавливаем netstat в Debian / Ubuntu

Для установки netstat в дистрибутивах на основе Debian / Ubuntu введите с правами суперпользователя в командную строку команды apt update и apt install:

 

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

Устанавливаем netstat в CentOS / RHEL

В дистрибутивах Linux на основе CentOS / RHEL для установки Netstat введите с правами суперпользователя команду yum install:

 

После введения команды — дождитесь скачивания и установки пакетов программного обеспечения.

Устанавливаем netstat в OpenSuse

В дистрибутивах на основе OpenSuse введите в командную строку команду zypper install с root-правами:

 

После введения команды — дождитесь скачивания и установки пакетов программного обеспечения.

Устанавливаем netstat в Arch Linux

При использовании дистрибутива Arch Linux введите в командную строку команду pacman с правами root и опцией -S:

Выводим список открытых портов в Linux с помощью Netstat

Давайте попробуем вывести в командную строку список открытых портов с помощью утилиты netstat. Для этого вводим в командную строку команду netstat с правами суперпользователя и опциями -ltupan:

 

Давайте проанализируем значение выбранной комбинации опций:

  • -l — выводит на экран все прослушивающиеся сокеты (сочетания IP-адреса и номера порта);
  • -t — указывает, что нужно показать все TCP-соединения сетевой подсистемы;
  • -u — указывает, что нужно показать UDP-соединения сетевой подсистемы;
  • -a — показывает только активные соединения;
  • -n — вместо названий служб показывает номера портов.

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

Расширяем возможности netstat с помощью команды grep

Пользователь может расширить возможности утилиты netstat за счет использования фильтрации вывода — с помощью команды grep. Например, таким образом можно выяснить, какое именно ПО занимается прослушиванием конкретного порта. Для этого введите в командную строку команду  netstat с опцией -tulpan, поставьте символ конвейера (вертикальную черту — |) и добавьте команду grep с аргументом "ssh":

 

Также Вы можете найти все приложения, прослушивающие определенный порт. Для этого введите комбинацию команд как в прошлом примере, однако в качестве аргумента для команды grep — используйте двоеточие и номер интересующего Вас порта (к примеру, ":80")

 

netstat grep узнать, какие порты прослушиваются в Linux (открыты)

Читайте также: 20 команд netstat для управления сетью Linux и Windows.

Учимся использовать команду ss

Команда ss (от англ. Socket Statistics) — это еще один инструмент для Linux, позволяющий получить подробную информацию о сокетах в операционной системе. Стоит отметить, что эта утилита во многом очень похожа на netstat по своим возможностям.

Выводим список открытых портов в Linux с помощью ss

Предположим, что Вам нужно определить, какие приложения занимаются прослушиванием соединений TCP или UDP. В таком случае введите в командную строку команду ss с правами суперпользователя и опциями -lntu:

 

Давайте проанализируем значение выбранной комбинации опций:

  • -l — выводит на экран все прослушивающиеся сокеты;
  • -n — вместо названий служб показывает номера портов;
  • -t — указывает, что нужно показать все TCP-соединения сетевой подсистемы;
  • -u — указывает, что нужно показать все UDP-соединения сетевой подсистемы.

В данном случае значения опций аналогичны тем, которые использовались выше с утилитой netstat.

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

Узнаем с помощью ss значения pid процессов, которые прослушивают порты

Утилита ss позволяет пользователю вывести на экран список значений pid процессов, которые открыли порты. Для этого введите от имени суперпользователя в командную строку команду ss с опциями, показанными в предыдущем примере. И добавьте к ним опцию -p:

 

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

Читайте также:

Учимся использовать nmap

Утилита nmap — это популярный инструмент для исследования сетевой подсистемы и проверки состояния портов в UNIX-подобных ОС. Стоит отметить, что данная утилита обладает большими возможностями. И потому часто используется специалистами в сфере сетевого и системного администрирования.

Устанавливаем nmap

Для установки nmap воспользуйтесь командами, соответствующими установленному на Ваш компьютер дистрибутиву Linux.

Устанавливаем nmap в Debian / Ubuntu

При использовании дистрибутивов на основе Debian / Ubuntu — введите в командную строку с правами root команды apt update и apt install:

 

После этого следует дождаться окончания процессов скачивания и установки пакетов программного обеспечения.

Устанавливаем nmap в CentOS / RHEL

Чтобы установить nmap при использовании дистрибутивов на основе CentOS / RHEL — введите в командную строку команду yum с правами суперпользователя:

 

После введения команды следует дождаться завершения скачивания и установки.

Устанавливаем nmap в Fedora

При использовании дистрибутива Fedora версии 22 и выше — введите с правами суперпользователя в командную строку команду dnf install:

 

После этого следует дождаться окончания процессов скачивания и установки пакетов программного обеспечения.

Выводим список открытых портов в Linux с помощью nmap

Давайте попробуем вывести на экран список всех портов, которые прослушиваются в операционной системе Linux, с помощью утилиты nmap. Для этого введите с root-правами в командную строку команду nmap и опции -sT -sU -sV, добавив Ваш IP-адрес в качестве аргумента:

 

Давайте проанализируем значение выбранной комбинации опций:

  • -sT — указывает, что нужно показать все TCP-соединения;
  • -sU — указывает, что нужно показать все UDP-соединения;
  • -sV — указывает, что требуется включить обнаружение версий программного обеспечения.

 

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

Дополнительные опции утилиты nmap

C помощью опции -p Вы сможете просканировать конкретные порты.

  • все порты с 1 по 65535 — -p-;
  • конкретный порт (например, 22) — -p22;
  • диапазон портов — -p1-22;
  • комбинацию списка UDP-портов и диапазона TCP-портовp U:53,111,137,T:21-25.

С помощью опции -n (запрет обратного просмотра DNS) можно сократить время сканирования, которое бывает довольно продолжительным.

Читайте также:

Учимся использовать утилиту lsof

Утилита lsof (от англ. LiSt of Open Files) — это инструмент командной строки для UNIX-подобных операционных систем, предназначенный для обнаружения файлов, использующихся теми или иными процессами.

Выводим на экран все открытые IP-сокеты

С помощью данной утилиты можно вывести на экран все открытые соединения и инициировавшие их процессы в операционной системе. Для этого введите от имени суперпользователя в командную строку команду lsof с опцией -i:

 

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

Выводим список процессов, прослушивающих конкретный порт с помощью lsof

Зная конкретный порт — можно легко найти программу, которая его прослушивает. Для этого введите от имени суперпользователя в командную строку команду lsof с опцией -i и добавьте к ней в качестве аргумента номер порта после двоеточия (например, :80):

 

Важно: обратите внимание, что вывод команды по умолчанию уже содержит и значения PID, и названия соответствующих служб.

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

Читайте также: 10 примеров команд lsof в Linux.

Выводы

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

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

Если у Вас возникли вопросы — задавайте их в комментариях. А также подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности, полный курс по кибербезопасности, курсы DevNet / DevOps (программируемые системы) от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).

Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!

Спешите подать заявку! Группы стартуют 25 января, 26 февраля, 22 марта, 26 апреля, 24 мая, 21 июня, 26 июля, 23 августа, 20 сентября, 25 октября, 22 ноября, 20 декабря.
Что Вы получите?
  • Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
  • Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
  • Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
Как проходит обучение?
  • Проведем вечерние онлайн-лекции на нашей платформе.
  • Согласуем с вами удобное время для практик.
  • Если хотите индивидуальный график — обсудим и реализуем.
  • Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
  • Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
А еще поможем Вам:
  • отредактировать или создать с нуля резюме;
  • подготовиться к техническим интервью;
  • подготовиться к конкурсу на понравившуюся вакансию;
  • устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.
Чтобы учиться на курсах Cisco, Linux LPI, кибербезопасность, DevOps / DevNet, Python, подайте заявку или получите бесплатную консультацию.

Рубрики:

Сети Linux

Метки:

, , , ,

Больше похожих постов

Добавить комментарий

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

Заполните поле
Заполните поле
Пожалуйста, введите корректный адрес email.
Вы должны согласиться с условиями для продолжения


Поиск по сайту
Лучшее
Популярное
Рубрики
Меню