Как посмотреть открытые порты линукс

Как определить открытые порты в Linux?

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

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

Определить открытых портов в Linux через nmap

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

Nmap («Network Mapper») — это утилита с открытым исходным кодом для исследования сети и проверки безопасности.

Утилита кроссплатформенна, бесплатна, поддерживаются операционных системы Linux, Windows, FreeBSD, OpenBSD, Solaris, Mac OS X. Nmap умеет сканировать различными методами — например, UDP, TCP connect(), TCP SYN (полуоткрытое), FTP proxy (прорыв через ftp), Reverse-ident, ICMP (ping), FIN, ACK, SYN и NULL-сканирование. Выбор варианта сканирования зависит от указанных ключей, вызов nmap выглядит следующим образом:
nmap цель

Сканирование всех TCP-порты целевого IP-адреса
nmap –sT 192.168.75.131

UDP-сканирование – сканирование хоста на наличие UDP-служб. Это сканирование используется для просмотра открытых UDP-портов.
nmap –sU 192.168.75.131

Статистика открытых портов в Linux через netstat

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

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

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

Формат командной строки:
NETSTAT [-a] [-b] [-e] [-f] [-n] [-o] [-p протокол] [-r] [-s] [-t] [интервал]

Узнать открытые порты в Linux через lsof

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

Утилита командной строки lsof (List Open Files) используется для получения информации об открытых различными процессами файлах (а с точки зрения unix все является файлами — каталоги, устройства, сокеты и т. д.).

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

Статистика открытых портов в Linux через ss

Однако, ss делает это проще и быстрее, чем netstat. Кроме того, ss даёт более подробные сведения о TCP-подключениях и о состояниях соединений, чем большинство других инструментов. Утилита ss позволяет просматривать информацию об используемых сокетах в системе.

Команда ss — это инструмент, используемый для вывода сетевой статистики в виде, похожем на тот, который выдаёт команда netstat.

Эта команда обладает схожим функционалом к netstat, но есть и уникальные возможности. Например можно фильтровать вывод по установленным соединениям с определенным портом.

Открытые порты в Linux через tcpdump

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

Tcpdump полезное и необходимое приложения для Linux/UNIX систем.

proto — работает с протоколами tcp, udp и icmp. (Не надо писать proto)
tcpdump icmp

port — захватывает трафик по определенному порту
tcpdump port 5060

src, dst port — захватывает трафик по определенному порту от источника или к IP адресу назанчения
tcpdump src port 5060tcpdump dst port 5060

src/dst, port, protocol — сочетание всех трех выражений
tcpdump src port 5060 and tcp tcpdump udp and src port 5060

Источник

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

Полезно

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

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

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

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

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

Навигация

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

Телефония

FreePBX и Asterisk

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

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

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

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

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

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

Онлайн курс по Linux

Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Онлайн курс по Linux

Мы собрали концентрат самых востребованных знаний, которые позволят тебе начать карьеру администратора Linux, расширить текущие знания и сделать уверенный шаг к DevOps

Источник

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

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

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

1. netstat

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

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

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

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

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

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

3. lsof

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

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

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

4. Nmap

sudo apt install nmap

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

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

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

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

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

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

5. Zenmap

sudo apt install zenmap

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

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

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

После завершения сканирования утилита вывела список открытых портов 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 :

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

Выводы

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

Источник

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

На Debian/Ubuntu/Linux Mint:

На CentOS/RHEL:

На Fedora 22+:

На Arch Linux:

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

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

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

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

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

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

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

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

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

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

Источник

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

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