Узнать какие порты открыты на ip linux

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

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

How to Check (Scan) for Open Ports in Linux

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

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

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

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

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

Например, если вы используете веб-сервер, который прослушивает порты, 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 для более многословной информации.

Читайте также:  Драйвер atheros wifi acer aspire

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

Если вы хотите, чтобы на экране выводились только строки с открытыми портами, вы можете отфильтровать результаты с помощью команды 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.

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

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

Сетевой порт идентифицируется его номером, соответствующим 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 и прочитайте обо всех других мощных опциях этого инструмента.

Вывод

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

Источник

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

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

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

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

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

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

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

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

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

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

Источник

Читайте также:  Realtek wireless lan driver windows 10 что это