Как проверить доступность портов
12:32, 27.07.2021
Порты – это неотъемлемая часть связи различных устройств, приложений и сервисов между собой по сети. Если вам приходится заниматься администрированием сети, во многих случаях будет полезно знать, как проверить доступность портов, что является необходимой практикой для мониторинга сети и устранения неполадок в случае возникновения сетевых проблем. Давайте посмотрим, как это делается.
Объяснение сетевых портов
Порты составляют сложную систему связи в сети, которая позволяет участвующим в ней устройствам обмениваться необходимыми командами по всей сети и делает возможным функционирование всей системы. В современных сетевых системах порты обозначаются цифрами, так называемыми номерами портов, в диапазоне от – до 65535. Различные порты позволяют направлять данные на нужное устройство, приложение или сервис, легко различая их.
Типы сетевых портов
Сетевые порты различают на несколько типов. К наиболее распространенным из них относятся:
- Известные порты (0-1023) – это порты, которые реализованы в наиболее используемых сервисах и протоколах, включая HTTP (порт 80), HTTPS (порт 443), FTP (порт 21) и SSH (порт 22). Орган Internet Assigned Numbers Authority (IANA) обычно присваивает их конкретным сервисам.
- Зарегистрированные порты (1024-49151) – это порты, которые зарегистрированы IANA и назначены для более конкретных служб и приложений. Они признаются менее универсально, чем известные порты.
- Динамические или частные порты (49152-65535) – это порты, которые не регистрируются и не назначаются IANA, а динамически назначаются ОС. В основном они используются для эфемерных или временных сеансов связи в клиентских приложениях.
Как работают сетевые порты
Когда устройства общаются по сети, они используют комбинацию из IP-адреса и номера порта, с помощью которой они могут установить соединение с другим устройством. Эту комбинацию принято называть сокетом.
Например, для HTTP-запроса веб-сервер соединяется с IP-адресом сервера по порту 80. После этого сервер отвечает на запрос клиента через тот же порт, так что данные направляются в нужное приложение.
Почему важны сетевые порты?
Сетевые порты играют важную роль в общем функционировании сетей. Есть несколько ключевых задач, за которые они отвечают в первую очередь:
- Идентификация служб: С помощью сетевых портов операционные системы могут направлять входящие данные в нужные приложения. Например, данные, поступающие на порт 80, в большинстве случаев обрабатываются программным обеспечением веб-сервера.
- Сетевая безопасность: Возможность закрывать или открывать порты дает дополнительный контроль над безопасностью вашей сети. Поскольку киберзлоумышленники часто используют открытые порты для своих атак, закрыв ненужные порты, вы сократите количество возможных способов их атак.
- Устранение неполадок: При возникновении каких-либо проблем в сети проверка состояния портов является важной практикой, позволяющей убедиться, что все службы работают так, как должны работать.
Команда netstat для получения сетевой статистики
Команда 'netstat' – это многоцелевая команда, которая позволяет пользователям контролировать сетевые соединения и собирать статистику. Используя ее, вы можете получить доступ к разнообразной информации о сети, среди которой также можно найти открытые порты и активные соединения.
Отображение текущих TCP- и UDP-портов
TCP (Transmission Control Protocol) и UDP (User Datagram Protocol) – два основных протокола набора протоколов Интернета. Их основная функция – служить транспортными протоколами. Они отвечают за управление отправкой и получением данных по сети.
Чтобы отобразить активные в данный момент порты TCP и UDP, можно воспользоваться следующей командой:
netstat -tuln
После ввода этой команды вы увидите все прослушиваемые (открытые) TCP- и UDP-порты вместе с их статусами.
Список всех активных подключений
Вы также можете вывести список всех активных соединений сразу. Для этого выполните эту команду:
netstat -an
После ввода команды вы сможете увидеть все активные соединения вместе с их протоколом (TCP/UDP), локальным и иностранным адресами, а также их состоянием.
Открытые порты и активные TCP-соединения
Существует также команда для просмотра открытых портов и активных TCP-соединений. Введите:
netstat -tn
Если применить фильтр, вы увидите только TCP-соединения.
Открытые порты UDP
И наоборот, вы можете проверить только открытые UDP-порты. Для этого введите:
netstat -un
В выводе вы увидите только открытые UDP-соединения.
Команда lsof (список открытых файлов)
Команда lsof позволяет просмотреть список открытых файлов и может оказаться весьма полезной, если вы хотите проверить, какие порты используются теми или иными процессами.
lsof -i
Введите эту команду, и вы увидите все открытые интернет-соединения и соответствующие им процессы.
Активные сетевые подключения
Вы также можете проверить комбинированный ввод команд 'netstat' и 'lsof', чтобы получить более полную информацию.
netstat -tulnp
С помощью этой команды вы можете просмотреть все прослушиваемые порты с соответствующим PID и именем программы, таким образом, получив четкое представление об активных сетевых подключениях и ответственных за них процессах.
Процессы, использующие определенные порты
Вы также можете посмотреть с другой стороны и проверить, какие процессы используют определенный порт. Просто введите:
lsof -i :<port_number>
Замените <port_number> номером порта, который вас интересует в данный момент.
Активные UDP- и TCP-соединения
Вы также можете проверить все активные UDP и TCP соединения, введя:
netstat -tun
Заключение
Проверка доступности портов – одно из важнейших ноу-хау, которое может понадобиться вам для администрирования сети, особенно когда речь идет об устранении сетевых проблем. С помощью таких инструментов, как 'netstat' и 'lsof', вы можете получить подробную картину того, какие порты активны и используются какими процессами, что в конечном итоге позволит вам выяснить, что происходит с вашей сетью, и предпринять необходимые шаги. Это руководство не охватывает все операции по проверке доступности портов, но оно, несомненно, даст вам несколько хороших подходов для начала. Удачи!