Netstat на Windows: как просматривать соединения, порты и процессы
Что такое команда netstat на Windows?
Netstat (network statistics) — командная утилита, доступная в Командной строке Windows. Она показывает текущие TCP/UDP-соединения, прослушиваемые порты, статистику сетевого интерфейса, адреса и номера портов, связанные с вашим компьютером. Проще говоря, netstat позволяет увидеть, какие процессы используют сеть и какие внешние адреса с вашим ПК связаны прямо сейчас.
Краткое определение терминов:
- TCP/UDP: протоколы транспортного уровня для сетевого обмена (TCP — с установлением соединения, UDP — без подтверждений).
- PID: идентификатор процесса в системе, по нему можно найти исполняемый файл.
Почему это полезно:
- Быстро найти открытые порты и приложения, их занявшие.
- Обнаружить подозрительные входящие/исходящие подключения.
- Собрать данные для техподдержки (лог в файл).
Когда netstat помогает, а когда нет
Важно: netstat показывает текущую «картинку» сети, но не проводит глубокого анализа трафика (не декодирует пакеты). Если нужно детальное содержимое трафика — применяют снифферы (например, Wireshark). Netstat хорош для быстрого аудита и первичной диагностики.
Как запускать netstat в Windows
- Нажмите кнопку поиска на панели задач и найдите «Командная строка».
- Щёлкните правой кнопкой по результату и выберите «Запуск от имени администратора», чтобы увидеть все соединения и порты, доступные только с правами администратора.
- В окне Командной строки введите:
netstatПосле выполнения вы увидите список активных соединений и их статусы.
- Чтобы сохранить результат в файл для передачи в техподдержку, выполните:
netstat > C:\Путь\ИмяФайла.txtВ данном примере замените C:\Путь на реальную папку, где нужен файл, а ИмяФайла.txt — на желаемое название.
Советы по запуску:
- Запускайте от администратора для полного набора данных.
- В больших логах удобно применять поиск через findstr или перенаправление в файл.
Полезные параметры netstat в Windows
Параметры меняют объём и вид выводимых данных. Формат: netstat -<параметр>. Ниже — распространённые и полезные варианты.
- netstat -a — показывает все активные TCP и UDP соединения и прослушиваемые порты. Можно быстро увидеть, какие порты открыты.
- netstat -b — показывает исполняемые файлы (.exe), связанные с каждым соединением или прослушиваемым портом. Требует прав администратора; полезно при анализе неожиданных подключений.
- netstat -e — выводит статистику Ethernet: переданные/принятые байты, ошибки и сброшенные пакеты. Применимо к проводным интерфейсам.
- netstat -o — показывает PID (идентификатор процесса) для каждого соединения. Позволяет сопоставить соединение с процессом в Диспетчере задач или через tasklist.
- netstat -s — показывает статистику по протоколам (например, количество отправленных пакетов, ошибки). Удобно для диагностики проблем с конкретным протоколом.
Комбинации параметров
Параметры можно сочетать:
netstat -a -o
netstat -b -n
netstat -e -s- -n ускоряет вывод, показывая адреса и порты в цифровом виде (без разрешения имён).
- -r выводит таблицу маршрутизации.
Практические примеры и приёмы
- Показать, кто слушает порт 80:
netstat -a -n | findstr ":80 "- Найти все соединения с конкретным IP (например, 203.0.113.5):
netstat -ano | findstr "203.0.113.5"Вы получите строку с локальным адресом, удалённым адресом, состоянием и PID. По PID можно найти исполнение:
tasklist /FI "PID eq 1234"- Посмотреть, какие исполняемые файлы связаны с соединениями (медленнее, требует прав):
netstat -b -o- Экспорт и дальнейший анализ в PowerShell:
netstat -ano > C:\temp\netstat_log.txt
Get-Content C:\temp\netstat_log.txt | Select-String ":443"- Быстрый поиск подозрительных состояний (например, MANY TIME_WAIT):
netstat -an | findstr TIME_WAIT | find /c /v ""(команда выдаст количество строк с TIME_WAIT)
Как интерпретировать вывод: примеры состояний
- LISTENING — порт открыт и ожидает входящих подключений.
- ESTABLISHED — соединение активно и передаёт данные.
- TIME_WAIT — соединение закрыто, но система ещё хранит его запись (обычно кратковременное состояние).
- CLOSE_WAIT, SYN_SENT и др. — состояния на разных стадиях установления/закрытия TCP.
Если вы видите незнакомый исполняемый файл, посмотрите путь до него через tasklist /v или Диспетчер задач и проверьте цифровую подпись файла.
Руководство для разных ролей (чек-листы)
Администратор:
- Запустить Командную строку от имени администратора.
- Выполнить netstat -ano и сохранить лог.
- Сопоставить PID с tasklist /FI “PID eq
”. - Проверить цифровую подпись исполняемого файла и место установки.
Служба поддержки (helpdesk):
- Попросить пользователя экспортировать netstat в файл и прислать.
- Проверить наличие нестандартных портов в LISTENING.
- Сверить лог с известными приложениями клиента.
Разработчик:
- Использовать netstat -b для отладки локальных сервисов.
- Проверять, что служба правильно закрывает соединения (минимум TIME_WAIT в нагрузке).
Специалист по безопасности:
- Отслеживать подозрительные внешние IP и нестандартные исполняемые файлы.
- Собирать логи для последующего анализа и корреляции с IDS/IPS.
Пошаговый SOP для расследования подозрительного подключения
- Соберите данные: netstat -ano > C:\temp\netstat_yyyy-mm-dd.txt.
- Найдите строки с необычным внешним адресом или неожиданных портов.
- Для каждого подозрительного PID выполните tasklist /FI “PID eq
” /V и проверьте путь до исполняемого файла. - Если файл не распознан — изолируйте машину в сети (если требуется), сохраните дамп памяти/файлы.
- Проанализируйте файл антивирусом и инструментами EDR, проверьте подпись.
- При подтверждении компрометации — следовать корпоративному инцидентному плану (изолировать, сбор артефактов, восстановление из бэкапа).
Критерии приёмки
- Лог netstat содержит строки с PID и полными адресами.
- PID сопоставлен с процессом и путём до исполняемого файла.
- Выполнены шаги из SOP, приняты меры по изоляции при необходимости.
Примеры тестов и критерии приёмки
Тест 1 — обнаружение прослушивания сервиса:
- Действие: запустить веб-сервер на локальном порту 8080.
- Ожидание: netstat -an | findstr “:8080 “ покажет LISTENING.
- Критерий приёмки: порт отображается как LISTENING и PID соответствует серверному процессу.
Тест 2 — сопоставление PID:
- Действие: инициировать подключение из браузера.
- Ожидание: netstat -ano покажет ESTABLISHED и PID; tasklist вернёт тот же PID для браузера.
Мини-методология для регулярного аудита
- Еженедельный экспорт netstat -ano.
- Автоматическая фильтрация внешних IP, не входящих в белый список.
- Сопоставление PID с CMDB или списком разрешённых приложений.
- Ручная проверка новых или неподписанных исполняемых файлов.
Меры безопасности и конфиденциальности
- Netstat показывает IP-адреса и локальные адреса — это персональные данные сетевого взаимодействия. Храните логи безопасно и удаляйте по истечении времени, предусмотренного политикой хранения данных.
- Не пересылайте логи третьим лицам без редактирования, если в них содержатся внутренние IP или другая конфиденциальная информация.
- Для постоянного мониторинга интегрируйте сбор netstat-логов в систему сбора журналов (SIEM) с контролем доступа.
Когда netstat не даст ответа
- Если нужно знать, что конкретно передаётся в пакете — используйте снифферы (например, Wireshark).
- Для анализа encrypted (TLS) трафика netstat покажет соединение и порты, но не расшифрует данные.
- На виртуальных машинах и контейнерах может потребоваться запуск netstat внутри нужной среды или использование инструментов гипервизора.
Диаграмма принятия решения при подозрительном подключении
flowchart TD
A[Замечено подозрительное подключение] --> B{Отвечает ли PID известному приложению?}
B -- Да --> C[Проверить путь и подпись исполняемого файла]
C --> D{Подписан и в CMDB?}
D -- Да --> E[Отметить как безопасное, задокументировать]
D -- Нет --> F[Проанализировать файл антивирусом, пометить на расследование]
B -- Нет --> G[Изолировать узел, собрать артефакты]
G --> H[Запустить антивирус/EDR и уведомить команду инцидентов]Короткий глоссарий
- PID — идентификатор процесса в ОС.
- LISTENING — порт открыт и слушает входящие подключения.
- ESTABLISHED — активное соединение.
- TIME_WAIT — ожидание завершения закрытого соединения.
Заключение
Netstat — простой, но эффективный инструмент первичного анализа сетевого состояния в Windows. Он помогает быстро увидеть, какие порты и процессы задействованы, экспортировать данные для техподдержки и подключить дальнейшие средства расследования. Для детального анализа трафика дополнительно используйте снифферы и системы обнаружения угроз.
Важно: всегда запускать netstat с правами администратора при необходимости полного обзора и аккуратно работать с экспортируемыми логами, следуя политике безопасности и защиты персональных данных.
Краткое резюме:
- netstat доступен в Командной строке Windows и полезен для аудита соединений;
- используйте параметры -a, -b, -o, -s и их комбинации;
- сопоставляйте PID с tasklist или Диспетчером задач;
- храните логи защищённо и интегрируйте в регулярный аудит сети.
Похожие материалы
RDP: полный гид по настройке и безопасности
Android как клавиатура и трекпад для Windows
Советы и приёмы для работы с PDF
Calibration в Lightroom Classic: как и когда использовать
Отключить Siri Suggestions на iPhone