- Что именно нужно “узнать”
- Подключитесь к серверу через PuTTY
- Узнать поднятые порты на Linux через netstat
- Понять “какой процесс слушает” конкретный порт
- Частая путаница: “порт открыт” vs “порт доступен”
- Если netstat недоступен (на современных системах)
- Проверка через один “понятный” набор для PuTTY
- Что делать, если PuTTY подключается, но порты “не те”
- Короткий итог
Если коротко: PuTTY сам по себе не “показывает поднятые порты”. Он умеет подключаться к удалённой машине по SSH и (при необходимости) создавать туннели. Чтобы узнать, какие порты действительно слушают (LISTEN) на удалённом Linux-сервере, нужно посмотреть это на стороне сервера командами уровня сети, а PuTTY использовать как удобный способ зайти на сервер.
Ниже - самый понятный и практичный путь.
Что именно нужно “узнать”
Есть два разных вопроса, которые часто смешивают:
| Что вы хотите проверить | Что это значит | Где смотреть |
|---|---|---|
| какие порты слушают (LISTEN) на сервере | процесс ждёт входящие соединения на конкретном порту | на Linux через сетевую таблицу |
| доступен ли порт снаружи/из вашей сети | пакет доходит или блокируется (фаервол/маршрутизация/NAT) | отдельно проверяется подключением/тестом доступности |
Дальше будет про LISTEN. Это обычно и ищут в запросе “поднятые порты”.
Подключитесь к серверу через PuTTY
В PuTTY откройте Connection -> SSH, введите Host Name (IP/домен) и порт (обычно 22, но может быть другой) и нажмите Open.
Если соединение не устанавливается, сначала разрулите доступность сети:
- проверьте, что ssh на сервере реально запущен
- что порт не заблокирован
- что вы верно указали IP/порт
Но раз вы ищете именно “как узнать порты”, продолжаем как только вы вошли в терминал.
Узнать поднятые порты на Linux через netstat
После входа по PuTTY на Linux выполните команды.
Самое полезное: прослушиваемые порты (LISTEN)
netstat -lntp
Что увидите:
- -l только слушающие
- -n без резолва имён (быстрее и понятнее цифры)
- -t только TCP
- -p PID и имя процесса (нужны права, часто root)
Если нужно увидеть ещё и UDP:
netstat -lnup
Посмотреть вообще все сокеты и подключения (на всякий случай)
netstat -an
Это шире, но медленнее и сложнее для чтения.
Понять “какой процесс слушает” конкретный порт
Допустим, вы видите, что какой-то сервис слушает на 80, и хотите понять, кто это.
Вариант “быстро по фильтру”:
netstat -anp | grep ':80'
Если PID не показывается, значит вы:
- не root
- или netstat ограничивает вывод в вашей сборке/настроек
Тогда попробуйте:
sudo netstat -lntp
Частая путаница: “порт открыт” vs “порт доступен”
Даже если на сервере порт в LISTEN есть, это не гарантирует доступность “из вас”. Причины:
- фаервол на сервере
- роутер/NAT
- ограничения маршрутизации
Чтобы различать эти случаи, делайте проверку “доступен ли порт” отдельно (например, через telnet или другой сетевой тест), но это уже второй шаг после LISTEN.
Для telnet в Windows часто нужно сначала включить компонент telnet-клиента, если он выключен по умолчанию.
Если netstat недоступен (на современных системах)
На многих современных дистрибутивах netstat может быть частью устаревшего пакета. Тогда удобно использовать ss.
(Под вашу задачу “поднятые порты” это то же самое по смыслу.)
sudo ss -lntp
И UDP:
sudo ss -lnup
Проверка через один “понятный” набор для PuTTY
Обычно достаточно таких команд на удалённом Linux-сервере:
sudo netstat -lntp
sudo netstat -lnup
Если telnet/ssd не помогает или netstat отсутствует:
sudo ss -lntp
sudo ss -lnup
Что делать, если PuTTY подключается, но порты “не те”
Самые частые причины:
- вы смотрите не на тот сервер (не тот IP)
- сервис слушает на другом адресе (например, только localhost) - LISTEN есть, но “снаружи” не достучаться
- на порту слушает IPv6, а вы смотрите только IPv4 (в выводе будут разные записи)
- фаервол режет входящий трафик
Короткий итог
1) PuTTY нужен, чтобы зайти на сервер по ssh.
2) Поднятые порты на Linux смотрят командой netstat с фильтром LISTEN (и желательно с -p для процесса).
3) Если нужно именно “доступен ли порт извне” - это уже отдельная проверка сетевой связности.
Готовая комбинация для большинства случаев на сервере:
sudo netstat -lntp
sudo netstat -lnup