Как узнать какие порты слушаются linux

Как посмотреть открытые порты в Linux

Мы продолжаем рассказывать интересные для многих начинающих пользователей темы. И в этой статье мы расскажем вам о том, как посмотреть открытые порты в Linux и что это такое.

Если порт в системе открыт, это означает то что какая-либо программа использует его для связи, синхронизации с другой программой через локальную или интернет сеть.

Если вам нужно узнать какие есть открытые порты в вашей системе Linux то можете использовать такую команду как netstat. В результате вам предоставится информация с сервисами которые прослушивают ваши порты и IP адреса.

Как посмотреть порты в Linux через netstat

Здесь стоит отметить то что:

  • -l или —listening — Показать тоолько прослушиваемые порты
  • -p или —program — Показать название программы и ее PID
  • -t или —tcp Показать tcp порты
  • -u или —udp Показать udp порты
  • -n или —numeric Показать IP адреса в числовом виде

Как посмотреть порты в Linux через lsof

Эта программа позволяет пользователю узнать какие есть открытые порты в его системе и соединения, это касается также и сетевых, но для этого нужно использовать опцию i.

dhcpcd 2136 root 6u IPv4 4986 0t0 UDP *:bootpcntpd 2213 root 27u IPv6 5598 0t0 UDP [fe80::7879:19ff:fe51:f833]:ntphamachid 2323 root 8u IPv4 5587 0t0 TCP 192.168.1.2:35445->212.118.234.65:https (ESTABLISHED)smbd 2392 root 27u IPv6 5624 0t0 TCP *:microsoft-ds (LISTEN)sshd 2421 root 3u IPv4 6196 0t0 TCP *:ssh (LISTEN)upsd 2467 nut 4u IPv4 6235 0t0 TCP comm-app.local:nut (LISTEN)…

Вот еще пример того, какие процессы могут использоваться с портом 80:

Как посмотреть порты в Linux через nmap

Вот еще очень простой и удобный способ того, как посмотреть открытые порты в Linux. По сути Nmap является довольно мощным и многофункциональным, сетевым сканером для системы. Его основные функции это сканирование и пентестинг удаленных узлов, но его также можно легко использовать и для локальной системы с Linux.

Starting Nmap 6.47 ( http://nmap.org ) at 2015-08-02 17:27 EEST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00036s latency).
Other addresses for localhost (not scanned): 127.0.0.1 127.0.0.1 127.0.0.1 127.0.0.1 127.0.0.1 127.0.0.1
rDNS record for 127.0.0.1: comm-app.local
Not shown: 995 closed ports
PORT STATE SERVICE
22/tcp open ssh
139/tcp open netbios-ssn
445/tcp open microsoft-ds
3493/tcp open nut
8080/tcp open http-proxy

Nmap done: 1 IP address (1 host up) scanned in 0.10 seconds

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

С системой в данный момент Используется только роутер и в сеть будут видны только порты роутера. Также дополнительным защитным порогом может стать NAT сервер провайдера.

Технологие под названием NAT (от англ. Network Address Translation — «преобразование сетевых адресов») позволяет нескольким пользователям использовать один внешний IP адрес. Для того чтобы узнать какие порты у вас открыты сначала нужно узнать ваш IP адрес, для лучшей надежности лучше всего использовать онлайн сервис:

Источник

Как проверить прослушивающие порты в Linux (используемые порты)

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

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

Читайте также:  Тонкая настройка windows 10 pro

Что такое порт прослушивания

Сетевой порт идентифицируется по его номеру, связанному IP-адресу и типу протокола связи, например TCP или UDP.

Порт прослушивания — это сетевой порт, на котором приложение или процесс прослушивает, выступая в качестве конечной точки связи.

Каждый порт прослушивания может быть открыт или закрыт (отфильтрован) с помощью брандмауэра. В общих чертах, открытый порт — это сетевой порт, который принимает входящие пакеты из удаленных мест.

У вас не может быть двух служб, слушающих один и тот же порт на одном IP-адресе.

Например, если вы используете веб-сервер Apache, который прослушивает порты 80 и 443 и вы пытаетесь установить Nginx , последний не запустится, потому что порты HTTP и HTTPS уже используются.

Проверьте порты прослушивания с помощью netstat

netstat — это инструмент командной строки, который может предоставить информацию о сетевых подключениях.

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

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

  • -t — Показать TCP-порты.
  • -u — Показать порты UDP.
  • -n — Показывать числовые адреса вместо разрешающих узлов.
  • -l — Показать только прослушивающие порты.
  • -p — Показать PID и имя процесса слушателя. Эта информация отображается только в том случае, если вы запускаете команду от имени пользователя root или sudo .

Результат будет выглядеть примерно так:

Важными столбцами в нашем случае являются:

  • Proto — протокол, используемый сокетом.
  • Local Address — IP-адрес и номер порта, который прослушивает процесс.
  • PID/Program name — PID и имя процесса.

Если вы хотите отфильтровать результаты, используйте команду grep . Например, чтобы узнать, какой процесс прослушивает TCP-порт 22, введите:

Выходные данные показывают, что на этой машине порт 22 используется сервером SSH:

Если вывод пуст, это означает, что порт ничего не прослушивает.

Вы также можете фильтровать список по критериям, например, PID, протоколу, состоянию и так далее.

netstat устарел и заменен ss и ip , но все же это одна из наиболее часто используемых команд для проверки сетевых подключений.

Проверьте порты прослушивания с помощью ss

ss — это новый netstat . В нем отсутствуют некоторые функции netstat , но он предоставляет больше состояний TCP и работает немного быстрее. Параметры команды в основном те же, поэтому переход с netstat на ss не представляет труда.

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

Результат почти такой же, как у netstat :

Проверьте порты прослушивания с помощью lsof

lsof — это мощная утилита командной строки, которая предоставляет информацию о файлах, открытых процессами.

В Linux все является файлом. Вы можете думать о сокете как о файле, который записывает в сеть.

Чтобы получить список всех прослушивающих TCP-портов с типом lsof :

Используются следующие параметры:

  • -n — Не преобразовывать номера портов в имена портов.
  • -p — Не разрешать имена хостов, показывать числовые адреса.
  • -iTCP -sTCP:LISTEN — Показать только сетевые файлы с состоянием TCP LISTEN.

Большинство имен выходных столбцов говорят сами за себя:

  • COMMAND , PID , USER — имя, pid и пользователь, запускающий программу, связанную с портом.
  • NAME — номер порта.

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

Выходные данные показывают, что сервер MySQL использует порт 3306 :

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

Выводы

Мы показали вам несколько команд, которые вы можете использовать, чтобы проверить, какие порты используются в вашей системе, и как узнать, какой процесс прослушивает определенный порт.

Если у вас есть вопросы или замечания, пожалуйста, оставьте комментарий ниже.

Источник

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

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

Содержание:

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

Читайте также:  Установить windows 10 релиз

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

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

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

$ sudo netstat -ltup

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

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

$ sudo netstat -lntup

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

$ sudo netstat -lntup | grep «nginx»

Кроме того, вы можете указать порт и найти привязанное к нему приложение, как показано.

$ sudo netstat -lntup | grep «: 80»

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

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

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

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

$ sudo apt install nmap [в Debian / Ubuntu] $ sudo yum install nmap [в CentOS / RHEL] $ sudo dnf install nmap [в Fedora 22+]

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

$ sudo nmap -n -PN -sT -sU -p- локальный хост

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

Последний инструмент, который мы рассмотрим для запроса открытых портов, — это команда lsof, которая используется для вывода списка открытых файлов в Linux. Поскольку в Unix / Linux все является файлом, открытый файл может быть потоком или сетевым файлом.

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

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

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

Источник

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

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

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

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

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

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

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

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

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

Читайте также:  Plexhd x79 turbo mac os

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

netstat

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

netstat -ntlp | grep LISTEN

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

Здесь в первом столбце отображается протокол, затем два столбца — это данные, которые нам ничего полезного не говорят, а за ними уже идут локальный и внешний адреса. Если локальный адрес — 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, и я не раз наблюдал в логах попытки перебрать пароль от каких-то роутеров из локальной сети. И если даже вас некому ломать, это могут сделать вирусы. Так что будьте осторожны, и не оставляйте открытые порты, если в этом нет необходимости.

Источник

Оцените статью