Применимость и проверка
| Система | Условия чтения |
|---|---|
| Windows | PowerShell с модулем NetTCPIP; для просмотра владельца процесса могут понадобиться дополнительные права. |
| Linux | Утилита ss из iproute2; для сведений о чужих процессах нужны соответствующие права. |
Официальное назначение и наблюдаемое использование
По реестру IANA официальное назначение 445/TCP — microsoft-ds; документация Microsoft описывает использование этого порта для прямого SMB-соединения по TCP. Настраиваемое приложение может использовать другой порт или занять этот номер. Для 445/UDP у IANA есть отдельная запись; она не подтверждает такое же сетевое поведение и рассматривается отдельно.
Проверить на самом узле
Windows, чтение таблицы соединений:
Get-NetTCPConnection -State Listen -LocalPort 445 |
Select-Object LocalAddress, LocalPort, State, OwningProcess
Далее для PID из OwningProcess, например 4:
Get-Process -Id 4
4 здесь — пример параметра, а не гарантированный владелец порта. Для SMB владельцем может быть системный компонент; тогда имя процесса не заменяет проверку службы и настроек SMB. Для просмотра части сведений нужны дополнительные права. Параметры первой команды сверены с Get-NetTCPConnection.
Linux, чтение сокетов в текущем сетевом namespace:
sudo ss -lntp 'sport = :445'
-l выбирает слушатели, -n сохраняет номера, -t выбирает TCP, -p запрашивает процессы. Полные сведения о чужом процессе могут требовать root. Источник — ss(8). Команда не определяет исторического владельца порта и может не видеть сокет в другом namespace.
Какие поля сохранить
| Поле | Что проверить |
|---|---|
| LocalAddress | Локальный адрес loopback, конкретный интерфейс или все интерфейсы (wildcard); это влияет на доступность |
| LocalPort / transport | Действительно 445/TCP, а не удалённый порт клиентского соединения |
| State | Для вопроса «кто слушает» требуется состояние слушателя |
| PID / OwningProcess | Сопоставлять на том же хосте и в тот же момент; PID переиспользуется |
| Process / service | Исполняемый файл, служба, конфигурация и разрешённая роль узла |
| Host / time / namespace | Граница наблюдения, особенно при контейнерах и проксировании |
Иллюстрация, не результат выполнения:
host=lab-fs-01 transport=tcp local_address=0.0.0.0 local_port=445
state=LISTEN owning_process=4
Если обнаружение неожиданное
- Убедиться, что исследуется нужный узел и слушатель, а не поле destination port в чужом соединении.
- Установить процесс/службу и сравнить с назначением сервера. Сам по себе системный PID не закрывает вопрос.
- Сопоставить локальный bind с правилами firewall/NAT и разрешёнными сетями. Локальный wildcard не доказывает доступность из Интернета.
- При сетевом наблюдении запросить данные сеанса и протокола в разрешённом контуре. Не ставить диагноз по номеру и не запускать внешнее сканирование из карточки.
- Если нужны следы создания учётной записи для доступа — перейти к сценарию; это отдельный вопрос.
Пустой вывод: проверить время, TCP/UDP, права и namespace. Он не доказывает, что порт никогда не слушался. Нормальные причины включают файловый сервер и печать; основание для дополнительной проверки — несоответствие роли узла, неожиданная доступность или неподтверждённый процесс. Это диагностические направления, не детекция атаки.
Связанные данные: 139/TCP и 445/UDP доступны как отдельные записи импортированного реестра IANA. Наличие назначения не заменяет подробную проверку фактического использования.