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

grep "httpd"

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

sudo netstat -lntup

Как открыть порт в Linux и чем проверить уже открытые?

Порты в хоть какой системе, находящейся в общей сетевой иерархии, играют роль связывающих элментов. Зная, какой из их открыт либо закрыт, приложение с 1-го узла сможете передать сообщение такому же приложению на другом. Для чего и как можно отткрыть порт в Linux, скажет эта статья.

Немного теории

Порт выражается числом от 0 до 65535. Почти все значения зарегистрированы для служебных нужд, некие можно применять произвольно. Порт описывает собой типичное уточнение адреса. К примеру, некий ресурс имеет запущенный у себя веб-сервер.

Чтобы знать, куда непосредственно обратиться, комп, запрашивающий с него информацию, должен знать как минимум IP. Но ежели на ресурсе есть несколько разных служб, как осознать, куда конкретно необходимо переслать запрос? Вот здесь и понадобится порт. Зная его номер, комп, используя IP-адрес и порт, сумеет точно отправить запрос на сервер.

Сложности в работе

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

Перечень более фаворитных значений портов

Диапазон номеров от 0 до 1023 служит для использования системными програмками и приложениями:

  • 21 – употребляется протоколом передачи данных FTP;
  • 22 – служба безопасной оболочки SSH;
  • 23 – Telnet;
  • 25 – протокол для передачи почтовых сообщений;
  • 80 – передача HTTP трафика. Употребляется веб-серверами;
  • 110 – POP3 (еще один почтовый протокол).

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

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

Для этого имеются интегрированные инструменты. Они демонстрируют, какие порты в Linux открыты. 1-ый из их — netstat.

Пример его использования: sudo netstat -ntulp

Следующий за самой командой набор ключей представляет собой доп параметры:

  • -l. Значит, что необходимо показать лишь те порты, которые в данный момент прослушиваются;
  • -p. Наиболее подробное отражение инфы о приложении, использующем порт. В частности, отобразятся его заглавие и ID процесса;
  • -t. Включить в перечень TCP порты;
  • -u. То же самое, лишь с UDP;
  • -n. Значит что адреса IP будут показаны в виде чисел.
Читайте также  Как расшарить интернет с телефона. Как раздать интернет с телефона на компьютер, телефон, планшет, телевизор, ноутбук?

Как открыть порт в Linux

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

Для открытия употребляется утилита iptables. Чтоб проверить, имеется ли она вообщем в системе, необходимо набрать в консоли команду: iptables –list

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

iptables -A INPUT -p tcp -m tcp –dport 53 -j ACCEPT

Здесь ключ А значит, что необходимо добавить новое правило в существующую цепочку. INPUT указывает, что открытый порт будет входящим. Ключ -p говорит, что далее указывается тип протокола, в данном случае TCP. Dport значит порт назначения, тут – 53. Ну и ACCEPT — разрешающие соединения.

На самом деле ключей у iptables еще больше, что открывает широкие способности для наиболее узкой опции и методов открыть порт в Linux.

Как найти открытые порты в Linux?

После опции сетевых служб принципиально направить внимание на порты, принимающие подключения на сетевых интерфейсах. Любые открытые порты могут быть подтверждением вторжения. Просмотреть открытые порты можно 2-мя методами. Наименее надёжный метод — опросить сетевой стек с помощью команды netstat -an либо lsof -i. Этот метод не чрезвычайно надёжен, так как эти программы не подключаются к компу по сети, а просто определяют, что происходит в системе. По данной причине, эти приложения нередко подменяются нападающими. Таковым методом взломщики пробуют скрыть свои следы, ежели они незаконно открыли порты. Остальным наиболее надёжным методом проверки открытых портов является внедрение сканера портов, к примеру nmap. Все команды netstat, ss, netcat относится к сетевым утилитам и доступны по-умолчанию в большинстве linux-дистрибутивах.

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

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

Читайте также  Что такое shareit для компьютера. Использование программы SHAREit

Содержание статьи

Определить открытых портов в 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 смотрится последующим образом:

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

Сканирование всех TCP-порты мотивированного IP-адреса

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

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

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

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

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

Формат командной строки:

Команда netstat умеет демонстрировать сетевые соединения (входящие/исходящие), таблицу маршрутизации, статистику по сетевым интерфейсам и т.д. Список всех открытых портов (TCP):

Список всех открытых портов (UDP)

Список лишь прослушиваемых портов (TCP)

Статистика по всем открытым портам

Подробное отображение перечня с открытыми портами — добавлен PID и имя процессов

Объединим все ключи в полезную команду для просмотра открытых TCP/UDP портов с именами действий (может пригодиться root-доступ)

Список присоединенных хостов

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

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

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

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

Читайте также  Топ процессоров для ноутбуков. 20 лучших процессоров для ноутбуков

Список всех сетевых соединений

Список действий, работающих с портом 80

Вы сможете применять последующую команду:

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

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

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

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

Список действий, использующие соединения в данный момент

Список сокетов в режиме прослушивания

Пример фильтра — перечень всех соединений к порту 80

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

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

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

Если вы желаете, поглядеть наиболее подробные пакеты, то добавьте опцию -s <число>, где число обозначает количество байтов, которые вы желаете захватить. Ежели установить -s 0 (ноль)- это значит захватывать все пакеты.

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

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

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

src/dst, port, protocol — сочетание всех 3-х выражений

В конце статьи можно сконструировать последующий вывод: так как файл и процесс — два главных понятия в операционной системе, утилита lsof может оказаться неподменным ассистентом админа в тех вариантах, когда нужно разобраться, как работает система, а в особенности в тех вариантах, когда система скомпрометирована. И она тем полезнее, чем больше ваша система и чем больше вы с ней работаете, чем лучше вы осознаете, что она может. Когда вы освоите ее способности, вы можете сделать отдельные скрипты для обработки тех больших массивов инфы, которые выдает эта программа. Можно, к примеру, запускать команду lsof -i через определенные промежутки времени, чтоб ассоциировать приобретенные данные. Ежели будут выявлены отличия в числе открытых действий либо остальные отличия, удовлетворяющие данному аспекту, скрипт может сформировать сообщение администратору.

Раздел: Статьи
Метки: freebsd, linux, lsof, mac os, netstat, nmap, openbsd, solaris, ss, tcp, tcpdump, udp, windows

Оставьте комментарий