Есть несколько способов посмотреть открытые порты в Linux. Вот наиболее распространенные и полезные команды: 1. netstat (устаревший, но все еще часто используется) 2. ss (современная альтернатива netstat) 3. lsof (list open files) 4. nmap (network mapper) Выбор команды: Важные моменты: В большинстве случаев команда sudo ss -ltnp предоставит вам наиболее полезную и актуальную информацию об открытых портах и процессах, которые их используют.
Есть несколько способов посмотреть открытые порты в Linux. Вот наиболее распространенные и полезные команды: 1. netstat (устаревший, но все еще часто используется) 2. ss (современная альтернатива netstat) 3. lsof (list open files) 4. nmap (network mapper) Выбор команды: Важные моменты: В большинстве случаев команда sudo ss -ltnp предоставит вам наиболее полезную и актуальную информацию об открытых портах и процессах, которые их используют.
...Читать далее
Есть несколько способов посмотреть открытые порты в Linux. Вот наиболее распространенные и полезные команды:
1. netstat (устаревший, но все еще часто используется)
- netstat выводит сетевые соединения, таблицы маршрутизации, статистику интерфейсов и многое другое. Он позволяет увидеть, какие порты прослушиваются (открыты) на вашем компьютере.
- Основные опции:-l (listen): Отображает только прослушиваемые сокеты (т.е., порты, на которых сервер ждет входящих соединений).
-n (numeric): Отображает адреса и номера портов в числовом формате, без попыток определения имен сервисов. Это ускоряет вывод и полезно, если DNS-сервер недоступен.
-t (tcp): Отображает только TCP-соединения.
-u (udp): Отображает только UDP-соединения.
-p (program): Отображает имя процесса, который использует сокет (требует прав root). - Примеры:
Показать все прослушиваемые TCP-порты:netstat -ltn
Показать все прослушиваемые UDP-порты:netstat -lun
Показать все прослушиваемые TCP-порты и процессы, их использующие (требуются права root):sudo netstat -ltnp
Показать все прослушиваемые порты (TCP и UDP) и процессы, их использующие:sudo netstat -lnp - Примечание: netstat считается устаревшим и постепенно заменяется ss. В некоторых новых дистрибутивах Linux его может не быть предустановленным.
2. ss (современная альтернатива netstat)
- ss (socket statistics) — это более современная и быстрая альтернатива netstat. Он предоставляет аналогичную информацию, но использует более эффективный способ доступа к информации о сокетах в ядре.
- Основные опции:-l (listening): Отображает только прослушиваемые сокеты.
-n (numeric): Отображает адреса и номера портов в числовом формате.
-t (tcp): Отображает только TCP-соединения.
-u (udp): Отображает только UDP-соединения.
-p (process): Отображает имя процесса, который использует сокет (требует прав root). - Примеры:
Показать все прослушиваемые TCP-порты:ss -ltn
Показать все прослушиваемые UDP-порты:ss -lun
Показать все прослушиваемые TCP-порты и процессы, их использующие (требуются права root):sudo ss -ltnp
Показать все прослушиваемые порты (TCP и UDP) и процессы, их использующие:sudo ss -lnp
3. lsof (list open files)
- lsof (list open files) перечисляет все открытые файлы, и поскольку сетевые сокеты также считаются файлами, lsof может быть использован для просмотра открытых портов.
- Основные опции:-i (internet): Фильтрует вывод, показывая только интернет-сокеты.
:<порт>: Указывает конкретный порт для фильтрации (например, :22 для порта 22).
-n (numeric): Отображает адреса и номера портов в числовом формате.
-P (numeric port): Отображает номера портов вместо имен служб. - Примеры:
Показать все открытые интернет-сокеты (TCP и UDP):sudo lsof -i -P -n
Показать процесс, который использует порт 80:sudo lsof -i :80 -P -n
Показать все TCP-соединения:sudo lsof -iTCP -P -n
Показать все UDP-соединения:sudo lsof -iUDP -P -n
4. nmap (network mapper)
- nmap (network mapper) — это мощный сканер портов, предназначенный для обнаружения хостов и сервисов в сети. Он может использоваться для сканирования портов локальной машины. Он не показывает прослушиваемые порты как таковые, а скорее сканирует и определяет, какие порты открыты (т.е., принимают соединения).
- Пример:
Сканировать все TCP-порты на локальной машине:nmap -p 1-65535 localhost
Сканировать наиболее распространенные 1000 портов:nmap localhost
Выбор команды:
- Для просмотра прослушиваемых портов (сервисов, ожидающих входящих соединений): используйте ss -ltnp (рекомендуется) или netstat -ltnp (если ss недоступен). lsof -i -P -n также подойдет, но выведет больше информации.
- Для сканирования открытых портов (активно проверяя, какие порты принимают соединения): используйте nmap.
Важные моменты:
- Права root: Для получения полной информации, включая имена процессов, использующих порты, обычно требуются права root. Используйте sudo.
- Firewall: Имейте в виду, что брандмауэр (например, iptables или ufw) может блокировать порты, даже если на них прослушивается сервис. Команды выше покажут только, что процесс прослушивает порт, а не то, доступен ли он извне.
В большинстве случаев команда sudo ss -ltnp предоставит вам наиболее полезную и актуальную информацию об открытых портах и процессах, которые их используют.