Как посмотреть открытые порты debian
Debian 10: проверка открытых портов
Главное меню » Debian » Debian 10: проверка открытых портов
Методы проверки открытых портов в Debian 10:
Для проверки открытых портов в Debian 10 вы можете использовать любой из четырех методов, обсуждаемых в этой статье.
Способ №1:
1. Прежде всего, вам необходимо запустить терминал. Для этого щелкните вкладку Действия, расположенную на рабочем столе, введите терминал в появившейся строке поиска, а затем щелкните результат поиска, чтобы запустить терминал в Debian 10.
2. Теперь введите следующую команду в своем терминале и нажмите клавишу Enter:
Выполнение этой команды установит пакет net-tools, который необходим для использования команды netstat.
3. После выполнения этой команды введите в терминале следующую команду и нажмите клавишу Enter:
4. Как только эта команда будет выполнена успешно, на вашем экране появится список всех различных портов с указанием их состояний, как показано на следующем изображении:
Способ №2:
Чтобы проверить открытые порты в Debian 10 с помощью команды ss, вам необходимо выполнить следующие шаги:
1. Запустите терминал так же, как описано в методе выше. Теперь введите следующую команду в своем терминале и нажмите клавишу Enter:
2. После успешного выполнения этой команды на экране появится список всех различных портов с указанием их состояний, как показано на следующем изображении:
Способ №3:
Чтобы проверить открытые порты в Debian 10 с помощью команды nmap, вам необходимо выполнить следующие шаги:
1. Запустите терминал так же, как описано в методе № 1. Теперь введите следующую команду в своем терминале и нажмите клавишу Enter:
Запуск этой команды установит утилиту nmap, после чего мы сможем успешно использовать команду nmap.
2. Теперь, если вы хотите проверить все открытые порты TCP, введите следующую команду в своем терминале и нажмите клавишу Enter:
3. Как только эта команда будет выполнена успешно, вы сразу сможете узнать, открыты ли какие-либо TCP-порты, как показано на изображении ниже:
4. Однако, если вы хотите проверить все открытые порты UDP, введите в терминале следующую команду и нажмите клавишу Enter:
5. Как только эта команда будет выполнена успешно, вы сразу сможете узнать, открыты ли какие-либо порты UDP, как показано на следующем изображении:
Метод №4:
Чтобы проверить открытые порты в Debian 10 с помощью команды lsof, вам необходимо выполнить следующие шаги:
1. Запустите терминал так же, как описано в методе № 1. Теперь введите следующую команду в своем терминале и нажмите клавишу Enter:
Запуск этой команды установит утилиту lsof, после чего мы сможем успешно использовать команду lsof.
2. Теперь введите следующую команду в своем терминале и нажмите клавишу Enter:
3. Как только эта команда будет выполнена успешно, на вашем экране появится список всех портов с указанием их статуса, как показано на изображении ниже:
Вывод:
Используя любой из четырех методов, обсуждаемых в этой статье, вы можете легко проверить все открытые порты в Debian 10. Единственное, что здесь следует отметить, это то, что команды, за которыми следует ключевое слово «sudo», требуют root привилегии. Следовательно, вы должны запускать их как есть.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
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».
Как проверить (сканировать) на наличие открытых портов в 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 что означают любой доступный адрес:
Можно вывести только процессы, работающие на 80-том порту:
3. lsof
Ещё один пример, смотрим какие процессы работают с портом 80:
4. Nmap
sudo apt install nmap
Затем можно использовать:
Для простого сканирования можно запускать утилиту без опций. Детальнее о её опциях можно узнать в статье про сканирование сети в Nmap. Эта утилита ещё будет полезна если вы хотите посмотреть какие порты на компьютере доступны из интернета.
Дальше запускаем сканирование:
5. Zenmap
sudo apt install zenmap
Запустить программу можно из главного меню или командой:
Затем введите адрес localhost в поле Цель и нажмите кнопку Сканирование:
После завершения сканирования утилита вывела список открытых портов Linux.
Выводы
В этой статье мы рассмотрели инструменты, которые вы можете использовать для того чтобы узнать узнать открытые порты linux. Инструментов не так много как для просмотра информации об оперативной памяти или процессоре, но их вполне хватает. А какими программами пользуетесь вы? Напишите в комментариях!
Как определить открытые порты в 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