При работе с сетями часто возникает потребность увидеть список открытых портов в Linux. Потому мы решили написать статью, вкратце раскрывающую эту тему для наших читателей.
Содержание:
Что такое порты, сокеты и протоколы TCP / UDP
Порт — это логический номер программы. И он используется как конечный элемент в системе идентификации конкретного сетевого процесса в операционных системах семейства GNU / Linux. Он представляет собой 16-разрядное число (то есть, от 0 до 65535). Которое является идентификатором, позволяющим различать сетевые приложения в конечных ОС.
По состоянию на 2021 год наиболее популярны 2 сетевых протокола транспортного уровня:
- TCP (от англ. Transmission Control Protocol) — протокол управления передачей;
- UDP (от англ. User Datagram Protocol) — протокол пользовательских дейтаграмм.
Однако и другие протоколы могут использовать для обмена данными номера портов.
Кроме того, следует объяснить понятие сокета.
Сокет — это комбинация IP-адреса, порта и протокола (TCP / UDP). Стоит отметить, что каждая запущенная служба обязана обладать уникальным сокетом.
Помимо всего прочего, порты делятся на несколько диапазонов, различающихся назначением в операционной системе:
- системные порты — 0-1023;
- пользовательские (зарегистрированные) порты — 1024-49151;
- частные (динамические) порты — 49152-65535.
Теперь, когда Вы знакомы с основными понятиями, можно переходить к теме статьи — как узнать список всех открытых портов в Linux.
Вывод списка открытых портов в Linux
В операционных системах семейства GNU / Linux предусмотрен способ узнать подробную информацию о портах, протоколах и связанных с ними программах. Все эти данные содержатся в специальном файле. Чтобы вывести его содержимое на экран — введите в командную строку команду cat
и добавьте путь /etc/services
в качестве аргумента:
Поскольку вывод этой команды может быть довольно громоздким — неплохо было бы немного его ограничить. Попробуйте добавить символ конвейера (вертикальную черту — |
) и команду less
:
В результате Вы сможете постранично пролистывать вверх и вниз содержимое файла. Стоит отметить, что команда less
за раз загружает только один фрагмент текста, а потому — быстро работает даже с файлами большого размера.
Просмотр открытых портов с помощью утилиты netstat
Предположим, что Вам нужно вывести на экран список всех открытых портов либо список текущих запущенных портов в Linux. В том числе — задействованных в подключениях по протоколам TCP / UDP. Скорее всего, самым удобным и эффективным инструментом для этого является утилита netstat.
Читайте также: 20 команд netstat для управления сетью Linux и Windows.
Чтобы вывести на экран список всех открытых портов — введите в командную строку команду netstat
с опциями -lntu
:
Давайте вместе проанализируем значения опций команды netstat
, использованных в данном примере:
-l
— вывести прослушивающиеся сокеты;-n
— указывать порты в числовой форме;-t
— показывать порты, задействованные в TCP-соединениях;-u
— показывать порты, задействованные в соединениях по протоколу UDP.
Просмотр открытых портов с помощью команды ss
Помимо netstat
можно использовать и другую команду — ss
. Это еще одно приложение, которое позволяет анализировать сокеты в операционных системах семейства GNU / Linux.
Читайте также: Команда ss с примерами: отображение информации о сети / сокете TCP / UDP в Linux.
Чтобы увидеть все открытые порты TCP / UDP — введите в командную строку команду ss
с уже знакомыми Вам опциями -lntu
:
Результат вывода этой команды выглядит чуть иначе, чем у netstat
. Однако так же содержит всю информацию об открытых портах в Linux.
Выводы
Понимать роль портов в сетевых технологиях и уметь их использовать — важный аспект профессий сетевого инженера и системного администратора. Кроме того, подобные знания используются во многих других направлениях сектора информационных технологий. Потому рекомендуем Вам прочитать MAN-страницы с руководством по командам netstat
и ss
. Это повысит уровень Вашей экспертности и поможет научиться решать типичные производственные задачи для работодателей.
Спасибо за время, уделенное прочтению статьи о том, как узнать список всех открытых портов в Linux! Читайте также материал о сравнении WAN и SD-WAN.
Если возникли вопросы — задавайте их в комментариях!
Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!
Чтобы знать больше и выделяться знаниями среди толпы IT-шников, записывайтесь на курсы Cisco, курсы по кибербезопасности, полный курс по кибербезопасности, курсы DevNet / DevOps (программируемые системы) от Академии Cisco, курсы Linux от Linux Professional Institute на платформе SEDICOMM University (Университет СЭДИКОММ).
Курсы Cisco, Linux, кибербезопасность, DevOps / DevNet, Python с трудоустройством!
- Поможем стать экспертом по сетевой инженерии, кибербезопасности, программируемым сетям и системам и получить международные сертификаты Cisco, Linux LPI, Python Institute.
- Предлагаем проверенную программу с лучшими учебниками от экспертов из Cisco Networking Academy, Linux Professional Institute и Python Institute, помощь сертифицированных инструкторов и личного куратора.
- Поможем с трудоустройством и стартом карьеры в сфере IT — 100% наших выпускников трудоустраиваются.
- Проведем вечерние онлайн-лекции на нашей платформе.
- Согласуем с вами удобное время для практик.
- Если хотите индивидуальный график — обсудим и реализуем.
- Личный куратор будет на связи, чтобы ответить на вопросы, проконсультировать и мотивировать придерживаться сроков сдачи экзаменов.
- Всем, кто боится потерять мотивацию и не закончить обучение, предложим общение с профессиональным коучем.
- отредактировать или создать с нуля резюме;
- подготовиться к техническим интервью;
- подготовиться к конкурсу на понравившуюся вакансию;
- устроиться на работу в Cisco по специальной программе. Наши студенты, которые уже работают там: жмите на #НашиВCisco Вконтакте, #НашиВCisco Facebook.