как посмотреть открытые порты на сервере linux

ИТ База знаний

Полезно

— Онлайн генератор устойчивых паролей

— Онлайн калькулятор подсетей

— Руководство администратора FreePBX на русском языке

— Руководство администратора Cisco UCM/CME на русском языке

— Руководство администратора по Linux/Unix

Навигация

Серверные решения

Телефония

FreePBX и Asterisk

Настройка программных телефонов

Корпоративные сети

Протоколы и стандарты

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

TCP и UDP в реальном времени

Всем привет! Мы уже рассказывали про TCP и UDP порты, и вы уже знаете, что это сущность, которая определяет конкретный процесс, приложение или тип сетевого сервиса.

как посмотреть открытые порты на сервере linux. Смотреть фото как посмотреть открытые порты на сервере linux. Смотреть картинку как посмотреть открытые порты на сервере linux. Картинка про как посмотреть открытые порты на сервере linux. Фото как посмотреть открытые порты на сервере linux

как посмотреть открытые порты на сервере linux. Смотреть фото как посмотреть открытые порты на сервере linux. Смотреть картинку как посмотреть открытые порты на сервере linux. Картинка про как посмотреть открытые порты на сервере linux. Фото как посмотреть открытые порты на сервере linux

Сегодня мы расскажем, как вывести список и затем наблюдать за работой TCP/UDP портов в Linux. Поехали!

Список всех открытых портов при помощи команды netstat

Это просто. Тут мы используем либо команду netstat. Да, так просто, всего одна строчка и все у нас перед глазами:

как посмотреть открытые порты на сервере linux. Смотреть фото как посмотреть открытые порты на сервере linux. Смотреть картинку как посмотреть открытые порты на сервере linux. Картинка про как посмотреть открытые порты на сервере linux. Фото как посмотреть открытые порты на сервере linux

Тут мы можем увидеть какие порты находятся в состоянии прослушивания (Listen). Также просмотреть прослушиваемые порты можно при помощи утилиты lsof – как это сделать можно прочесть в нашей статье.

Также мы использовали следующие флаги:

Список всех открытых портов при помощи команды ss

Тут все аналогично, кроме того, что теперь используем команду ss вместо netstat

как посмотреть открытые порты на сервере linux. Смотреть фото как посмотреть открытые порты на сервере linux. Смотреть картинку как посмотреть открытые порты на сервере linux. Картинка про как посмотреть открытые порты на сервере linux. Фото как посмотреть открытые порты на сервере linux

TCP и UDP порты в режиме реального времени

И тут тоже все просто – для просмотра портов TCP и UDP в режиме реального времени нужно запустить netstat или ss с помощью утилиты watch.

как посмотреть открытые порты на сервере linux. Смотреть фото как посмотреть открытые порты на сервере linux. Смотреть картинку как посмотреть открытые порты на сервере linux. Картинка про как посмотреть открытые порты на сервере linux. Фото как посмотреть открытые порты на сервере linux

Источник

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Проверьте открытые порты с помощью псевдоустройства Bash

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

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

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

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

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

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

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

Выводы

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

Источник

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

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

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

1. netstat

Утилита netstat позволяет увидеть открытые в системе порты, а также открытые на данный момент сетевые соединения. Для отображения максимально подробной информации надо использовать опции:

Открытые порты Linux, которые ожидают соединений имеют тип LISTEN, а перед портом отображается IP адрес на котором сервис ожидает подключений. Это может быть определенный IP адрес или */0.0.0.0 что означают любой доступный адрес:

как посмотреть открытые порты на сервере linux. Смотреть фото как посмотреть открытые порты на сервере linux. Смотреть картинку как посмотреть открытые порты на сервере linux. Картинка про как посмотреть открытые порты на сервере linux. Фото как посмотреть открытые порты на сервере linux

как посмотреть открытые порты на сервере linux. Смотреть фото как посмотреть открытые порты на сервере linux. Смотреть картинку как посмотреть открытые порты на сервере linux. Картинка про как посмотреть открытые порты на сервере linux. Фото как посмотреть открытые порты на сервере linux

Можно вывести только процессы, работающие на 80-том порту:

как посмотреть открытые порты на сервере linux. Смотреть фото как посмотреть открытые порты на сервере linux. Смотреть картинку как посмотреть открытые порты на сервере linux. Картинка про как посмотреть открытые порты на сервере linux. Фото как посмотреть открытые порты на сервере linux

3. lsof

как посмотреть открытые порты на сервере linux. Смотреть фото как посмотреть открытые порты на сервере linux. Смотреть картинку как посмотреть открытые порты на сервере linux. Картинка про как посмотреть открытые порты на сервере linux. Фото как посмотреть открытые порты на сервере linux

Ещё один пример, смотрим какие процессы работают с портом 80:

как посмотреть открытые порты на сервере linux. Смотреть фото как посмотреть открытые порты на сервере linux. Смотреть картинку как посмотреть открытые порты на сервере linux. Картинка про как посмотреть открытые порты на сервере linux. Фото как посмотреть открытые порты на сервере linux

4. Nmap

sudo apt install nmap

Затем можно использовать:

как посмотреть открытые порты на сервере linux. Смотреть фото как посмотреть открытые порты на сервере linux. Смотреть картинку как посмотреть открытые порты на сервере linux. Картинка про как посмотреть открытые порты на сервере linux. Фото как посмотреть открытые порты на сервере linux

Для простого сканирования можно запускать утилиту без опций. Детальнее о её опциях можно узнать в статье про сканирование сети в Nmap. Эта утилита ещё будет полезна если вы хотите посмотреть какие порты на компьютере доступны из интернета.

как посмотреть открытые порты на сервере linux. Смотреть фото как посмотреть открытые порты на сервере linux. Смотреть картинку как посмотреть открытые порты на сервере linux. Картинка про как посмотреть открытые порты на сервере linux. Фото как посмотреть открытые порты на сервере linux

Дальше запускаем сканирование:

как посмотреть открытые порты на сервере linux. Смотреть фото как посмотреть открытые порты на сервере linux. Смотреть картинку как посмотреть открытые порты на сервере linux. Картинка про как посмотреть открытые порты на сервере linux. Фото как посмотреть открытые порты на сервере linux

5. Zenmap

sudo apt install zenmap

Запустить программу можно из главного меню или командой:

Затем введите адрес localhost в поле Цель и нажмите кнопку Сканирование:

как посмотреть открытые порты на сервере linux. Смотреть фото как посмотреть открытые порты на сервере linux. Смотреть картинку как посмотреть открытые порты на сервере linux. Картинка про как посмотреть открытые порты на сервере linux. Фото как посмотреть открытые порты на сервере linux

После завершения сканирования утилита вывела список открытых портов Linux.

Выводы

В этой статье мы рассмотрели инструменты, которые вы можете использовать для того чтобы узнать узнать открытые порты linux. Инструментов не так много как для просмотра информации об оперативной памяти или процессоре, но их вполне хватает. А какими программами пользуетесь вы? Напишите в комментариях!

Источник

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

Порт может в одном из следующих состояний: открыт (open), фильтруется (filtered), закрыт (closed), без фильтрации (unfiltered). Порт называется открытым если какое-либо приложение, служба на целевой машине прослушивает (listening) его в ожидании соединений/пакетов. Также по отношению к службе часто употребляют термин «привязка» (bind), который означает, что служба назначена к определённому порту, то есть после её запуска она будет прослушивать его, чтобы ответить на входящие запросы.

Термин «привязка» используют по отношению к службам, которые прослушивают порт на постоянной основе и готовы принять входящие соединения. Примером таких служб являются SSH, MySQL, веб-сервер. Некоторые приложения (например, веб-браузер) делают исходящие соединения. Для этих исходящих соединений обычно используется порт с номером в десятки тысяч, например, 37830 или 46392 или 54284 или что-то подобное. Но они используют порт на короткое время — только чтобы отправить запрос и получить ответ. Сразу после получения ответа программа освобождает порт. Если ей понадобится вновь сделать запрос, то она может выбрать любой другой незанятый порт — необязательно тот же самый. Такие порты не являются прослушивающими, то есть они не принимают внешние запросы на инициализацию соединения. Это состояние сокета называется ESTABLISHED, его нужно отличать от прослушивания порта (LISTENING), то есть от открытых портов.

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

1. Используя команду netstat

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

как посмотреть открытые порты на сервере linux. Смотреть фото как посмотреть открытые порты на сервере linux. Смотреть картинку как посмотреть открытые порты на сервере linux. Картинка про как посмотреть открытые порты на сервере linux. Фото как посмотреть открытые порты на сервере linux

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

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

как посмотреть открытые порты на сервере linux. Смотреть фото как посмотреть открытые порты на сервере linux. Смотреть картинку как посмотреть открытые порты на сервере linux. Картинка про как посмотреть открытые порты на сервере linux. Фото как посмотреть открытые порты на сервере linux

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

как посмотреть открытые порты на сервере linux. Смотреть фото как посмотреть открытые порты на сервере linux. Смотреть картинку как посмотреть открытые порты на сервере linux. Картинка про как посмотреть открытые порты на сервере linux. Фото как посмотреть открытые порты на сервере linux

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

как посмотреть открытые порты на сервере linux. Смотреть фото как посмотреть открытые порты на сервере linux. Смотреть картинку как посмотреть открытые порты на сервере linux. Картинка про как посмотреть открытые порты на сервере linux. Фото как посмотреть открытые порты на сервере linux

как посмотреть открытые порты на сервере linux. Смотреть фото как посмотреть открытые порты на сервере linux. Смотреть картинку как посмотреть открытые порты на сервере linux. Картинка про как посмотреть открытые порты на сервере linux. Фото как посмотреть открытые порты на сервере linux

2. Используя команду ss

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

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

как посмотреть открытые порты на сервере linux. Смотреть фото как посмотреть открытые порты на сервере linux. Смотреть картинку как посмотреть открытые порты на сервере linux. Картинка про как посмотреть открытые порты на сервере linux. Фото как посмотреть открытые порты на сервере linux

Опции имеют такое же значение:

Если добавить ключ -p, то программа дополнительно покажет процессы, использующие сокет:

как посмотреть открытые порты на сервере linux. Смотреть фото как посмотреть открытые порты на сервере linux. Смотреть картинку как посмотреть открытые порты на сервере linux. Картинка про как посмотреть открытые порты на сервере linux. Фото как посмотреть открытые порты на сервере linux

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

3. Используя программу Nmap

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

На Debian/Ubuntu/Linux Mint:

На CentOS/RHEL:

На Fedora 22+:

На Arch Linux:

Для сканирования открытых/прослушиваемых портов на вашей системе Linux, запустите следующую команду (она может занять долгое время для завершения):

как посмотреть открытые порты на сервере linux. Смотреть фото как посмотреть открытые порты на сервере linux. Смотреть картинку как посмотреть открытые порты на сервере linux. Картинка про как посмотреть открытые порты на сервере linux. Фото как посмотреть открытые порты на сервере linux

4. Используя команду lsof

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

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

как посмотреть открытые порты на сервере linux. Смотреть фото как посмотреть открытые порты на сервере linux. Смотреть картинку как посмотреть открытые порты на сервере linux. Картинка про как посмотреть открытые порты на сервере linux. Фото как посмотреть открытые порты на сервере linux

Чтобы найти, какое приложение прослушивает определённый порт, запустите lsof в следующей форме:

как посмотреть открытые порты на сервере linux. Смотреть фото как посмотреть открытые порты на сервере linux. Смотреть картинку как посмотреть открытые порты на сервере linux. Картинка про как посмотреть открытые порты на сервере linux. Фото как посмотреть открытые порты на сервере linux

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

О том, как правильно понимать вывод этих команд, смотрите статью «Что означают 0.0.0.0, :*, [::], 127.0.0.1. Как понять вывод NETSTAT».

Источник

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

How to Check (Scan) for Open Ports in Linux

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

как посмотреть открытые порты на сервере linux. Смотреть фото как посмотреть открытые порты на сервере linux. Смотреть картинку как посмотреть открытые порты на сервере linux. Картинка про как посмотреть открытые порты на сервере linux. Фото как посмотреть открытые порты на сервере linux

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Вывод

Источник

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

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