Когда вы устраняете проблемы с сетью в Linux или ищете способы повысить безопасность вашего компьютера с Linux, вам необходимо знать, открыты ли порты и какие порты. В этой статье мы рассмотрим различные способы перечисления или отображения открытых портов в Linux.
Что такое порт?
Порт — это 16-битное число (от 0 до 65535), помогающее идентифицировать данное приложение или процесс в операционной системе Linux (Unix). Порт отличает одно приложение от другого
Что такое порт?
>Ниже приведены различные категории портов:- 0–1023 — хорошо известные порты
- 1024 – 49151 — зарегистрированные порты
- 49152 – 65535 – называются динамическими портами
С помощью следующей команды на вашем терминале отображается список приложений и портов:
cat /etc/services
TCP : TCP означает протокол управления передачей. Это наибольшее количество широко используемый протокол в Интернете. TCP — это не просто односторонняя связь, он скорее отправляет пакеты обратно, чтобы подтвердить получение ваших пакетов.
UDP : также известен как протокол пользовательских дейтаграмм. Это альтернативный протокол связи TCP. Протокол UDP работает аналогично TCP. Однако он игнорирует все, что связано с проверкой ошибок. UDP необходим, когда желательна скорость и не требуется исправление ошибок.
СООКЕТЫ : сокет обеспечивает связь между двумя разными процессами на одном или разных компьютерах.
Давайте рассмотрим различные способы указания открытого порта в Linux.
1. Нетстат
В этом методе мы будем использовать команду netstat -atu
для проверки открытых портов в Linux.
Мы использовали флаги -a
, -t
и -u
для netstat.
- -a : показывает все сокеты
- -t : показывает TCP-соединения.
- -u : показывает соединения UDP
Вы также можете добавить флаг -p
, чтобы показать соответствующий PID процесса или имени программы.
Чтобы отобразить только порты UDP, вы можете использовать следующую команду:
netstat -vaun
Кроме того, для поиска TCP-портов можно использовать следующую команду:
netstat -vatn1. Нетстатecoding="async" src="https://saintist.ru/wp-content/uploads/2024/05/netstcp.png" alt="netstcp">2. lsof
Вместо использования netstat мы можем использовать команду
lsof
для отображения открытых портов в Linux:lsof -i
Следующая команда также может помочь отобразить открытые сокеты:
lsof -n -P | grep LISTENКроме того, вы можете использовать команду ниже, чтобы просмотреть все TCP-соединения:
lsof -i tcp
Более того, вы можете использовать следующую команду для UDP-соединений:
lsof -i udp
3. Команда сопоставления сети
В этом методе мы будем использовать
nmap
для обнаружения открытого порта в вашей системе. Мы можем использовать следующую команду, чтобы показать соединения TCP-порта:nmap -sT -O localhostНаконец, чтобы показать соединения порта udp, мы можем использовать следующую команду:
2. lsofap -sU localhost
Заключение
Когда дело касается безопасности вашего ПК с Linux, первое, что нужно сделать, — это закрыть все ненужные порты, чтобы предотвратить внешний доступ. С помощью перечисленных выше методов вы сможете легко проверить наличие открытых портов в системе Linux и определить, какие порты следует закрыть, а какие оставить открытыми.