Как проверить занятые порты linux

Содержание
  1. Проверка занятости порта сервисом в Linux
  2. Oct 4, 2018 06:09 · 637 words · 3 minute read lsof netstat fuser tips
  3. Как проверить наличие открытых портов в Linux
  4. How to Check (Scan) for Open Ports in Linux
  5. В этой статье описывается несколько подходов, чтобы узнать, какие порты открыты снаружи в вашей системе Linux.
  6. Что такое открытый порт
  7. Проверьте открытые порты с nmap
  8. Проверьте открытые порты с netcat
  9. Проверьте открытые порты с помощью Bash Pseudo Device
  10. Вывод
  11. Как проверить открытые порты в Linux (используемые порты)
  12. How to Check for Listening Ports in Linux (Ports in use)
  13. В этой статье объясняется , как узнать, какие услуги прослушивает порты с помощью netstat, ss и lsof команд. Инструкции применимы для всех операционных систем на базе Linux и Unix, таких как macOS.
  14. Что такое открытый порт (порт прослушивания)
  15. Проверьте порты прослушивания с netstat
  16. Проверьте порты прослушивания с ss
  17. Проверьте порты прослушивания с lsof
  18. Вывод
  19. Как посмотреть открытые порты в Linux
  20. Как посмотреть порты в Linux через netstat
  21. Как посмотреть порты в Linux через lsof
  22. Как посмотреть порты в Linux через nmap

Проверка занятости порта сервисом в Linux

Oct 4, 2018 06:09 · 637 words · 3 minute read lsof netstat fuser tips

Однажды вам обязательно понадобится проверить используемый порт определенного сервиса (или наоборот, найти сервисы, слушающие конкретный порт) — в Linux существует несколько утилит командной строки, которые могут с этим помочь. Давайте разберемся!

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

Устанавливается данная утилита в разных дистрибутивах по-разному, например, для RedHat и CentOS:

Для вывода детальной информации о всех TCP и UDP ендпоинтах можно воспользоваться следующей командой:

Вывод будет примерно следующим:

  • -p — вывод ID процесса и его имени;
  • -n — вывод адресов;
  • -l — вывод сокетов;
  • -t — вывод TCP соединений;
  • -u — вывод UDP соединений.

Найти сервис, запущенный на определенном порту можно так:

Аналогично можно найти на каком порту запущен определенный сервис:

Также для наших целей подойдет утилита командной строки fuser . По умолчанию она не установлена в большинстве операционных систем, чтобы установить ее в Centos/RedHat делаем так:

Например, чтобы найти идентификаторы процессов (PIDs), запущенных на 80-м порту, выполняем команду:

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

Далее можем найти имя процесса по его идентификатору (PID):

Еще один способ — использование утилиты lsof . Установка ее в RedHat/CentOS выглядит так:

Вывод всех активных TCP и UPD соединений:

Результатом будет примерно следующее:

Проверить использование конкретного порта можно так:

Напоследок можно также воспользоваться утилитой whatportis . Ее установка в RedHat/Centos требует чуть больше действий:

В Debian/Ubuntu все гораздо проще:

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

Если вам неизвестно точное имя сервиса, можно воспользоваться опцией —like , например:

Также доступен вывод информации в json-формате:

Источник

Как проверить наличие открытых портов в Linux

How to Check (Scan) for Open Ports in Linux

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

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

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

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

Читайте также:  Обновление геймпада xbox one windows 10

В общих чертах, открытый порт — это сетевой порт, который принимает входящие пакеты из удаленных мест.

Например, если вы используете веб-сервер, который прослушивает порты, 80 и 443 эти порты открыты на вашем брандмауэре, любой (кроме заблокированных ips) сможет получить доступ к веб-сайтам, размещенным на вашем веб-сервере, с помощью своего браузера. В этом случае оба 80 и 443 являются открытыми портами.

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

Проверьте открытые порты с nmap

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

Если доступно, nmap должен быть ваш первый инструмент, когда дело доходит до сканирования портов. Помимо сканирования портов nmap можно также определить Mac-адрес, тип ОС, версии ядра и многое другое.

Следующая команда из консоли определяет, какие порты прослушивают TCP-соединения из сети:

-sT Говорит nmap для сканирования портов TCP и -p- для сканирования всех 65535 портов. Если -p- не используется, nmap будет сканироваться только 1000 портов.

Вывод выше показывает, что только порты 22 , 80 и 8069 открыты в целевой системе.

Для сканирования портов UDP используйте -sU вместо -sT :

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

Проверьте открытые порты с netcat

Netcat (или nc ) — это инструмент командной строки, который может читать и записывать данные через сетевые подключения, используя протоколы TCP или UDP.

С netcat его помощью можно сканировать один порт или диапазон портов.

Например, для поиска открытых портов TCP на удаленном компьютере с IP-адресом 10.10.8.8 в диапазоне 20-80 вы должны использовать следующую команду:

-z Опция указует nc сканировать только открытые порты, без отправки каких — либо данных и -v для более многословной информации.

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

Если вы хотите, чтобы на экране выводились только строки с открытыми портами, вы можете отфильтровать результаты с помощью команды grep .

Для сканирования UDP-портов передайте -u параметр в nc команду:

Проверьте открытые порты с помощью Bash Pseudo Device

Другой способ проверить, является ли определенный порт открытым или закрытым, — использовать оболочку Bash /dev/tcp/.. или /dev/udp/.. псевдоустройство.

При выполнении команды на /dev/$PROTOCOL/$HOST/$IP псевдоустройстве Bash откроет TCP или UDP-соединение с указанным хостом на указанном порту.

Следующий оператор if..else проверит, открыт ли порт 443 on kernel.org :

Как работает приведенный выше код?

Время ожидания по умолчанию при подключении к порту с использованием псевдоустройства очень велико, поэтому мы используем timeout команду для уничтожения команды test через 5 секунд. Если соединение установлено с kernel.org портом, 443 тестовая команда вернет true.

Вы также можете использовать цикл for для проверки диапазона портов:

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

Вывод

Мы показали вам несколько инструментов, которые вы можете использовать для поиска открытых портов. Есть также другие утилиты и методы для проверки открытых портов, например, вы можете использовать socket модуль Python curl , telnet или wget .

Источник

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

How to Check for Listening Ports in Linux (Ports in use)

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

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

Читайте также:  Tgz unzip in linux

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

Сетевой порт идентифицируется его номером, соответствующим 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 — имя, ИДП и пользователь , запустив программу , связанную с портом.
  • NAME — номер порта.

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

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

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

Вывод

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

Источник

Как посмотреть открытые порты в 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 адрес, для лучшей надежности лучше всего использовать онлайн сервис:

Источник

Читайте также:  Не могу сделать яндекс по умолчанию windows 10
Оцените статью