Время на прочтение7 мин
Количество просмотров114K
Пакет с сертификатами от Хабра
Wireshark — очень известная программа для захвата и анализа сетевого трафика, незаменимый инструмент хакера, сетевого инженера, программиста, специалиста по безопасности. Да вообще любого любознательного человека, который хочет детально изучить трафик со своего или чужого мобильного телефона, фитнес-браслета, телевизора.
Wireshark в реальном времени перехватывает сетевые пакеты и сохраняет, например, в файлах pcap (Packet Capture). Их потом используют для изучения трафика, восстановления информации, анализа работы сети, обнаружения атак. Это альтернатива и дополнение к стандартной утилите tcpdump
, с графическим интерфейсом, фильтрами и более широкими возможностями.
Практические варианты использования
В Wireshark миллион функций, но буквально каждый человек с минимальными знаниями может использовать его с пользой. Ниже примеры основных сетевых задач.
Расшифровка трафика SSL/TLS
Chrome и Firefox могут записывать логи сессионных ключей, которые используются для шифрования трафика SSL/TLS. Наша задача — включить запись этих логов, а потом загрузить их в Wireshark для анализа. Предполагается, что у нас есть физический доступ к компьютеру пользователя, трафик которого мы хотим расшифровать. Или к серверу, который устанавливает зашифрованное соединение с пользователем.
Сначала включаем запись ключей.
Старые билды Windows 10
В старых билдах Windows 10 работает старый метод. Заходим в Панель управления → Система и безопасность → Система. На вкладке «Дополнительные параметры системы» нажимаем кнопку «Переменные среды».
Добавляем для пользователя новую переменную SSLKEYLOGFILE
и указываем путь до файла.
В результате получаем логи с ключами, начало файла:
# SSL/TLS secrets log file, generated by NSS CLIENT_HANDSHAKE_TRAFFIC_SECRET 2f80c7dfd9f1bd5f4cf0084b9c814006178a06b820c5cab264f3727fac1abb23 dcfc82758fbb587e526daaab9fdc0bcaaab68e5706ba0512292dc55a627b8627 SERVER_HANDSHAKE_TRAFFIC_SECRET 2f80c7dfd9f1bd5f4cf0084b9c814006178a06b820c5cab264f3727fac1abb23 d807f4757db1f9ba8df434d8b0005d07e4987459c1d14c7ea793e4c4f5b240dc CLIENT_TRAFFIC_SECRET_0 2f80c7dfd9f1bd5f4cf0084b9c814006178a06b820c5cab264f3727fac1abb23 40186c6b1c925c63cd57e8fa235ba9d0bf14eb29c21cbb6494ef944e1e7a4cc3 SERVER_TRAFFIC_SECRET_0 2f80c7dfd9f1bd5f4cf0084b9c814006178a06b820c5cab264f3727fac1abb23 a0a377f26a0962eceae55bec94fcd7549d9b1d5d1e9b70c45627299ca2b9b129 EXPORTER_SECRET 2f80c7dfd9f1bd5f4cf0084b9c814006178a06b820c5cab264f3727fac1abb23 ...
Новые билды Windows 10
В более новых версиях после установки Windows 10 старый способ добавления переменных окружения может больше не работать. Тогда есть альтернативный вариант с помощью команды в оболочке PowerShell.
Установить переменную:
[Environment]::SetEnvironmentVariable("PATH", "C:\TestPath", "User")
Первый параметр — это имя переменной, второй — значение, третий — для какого уровня переменная (пользовательский или системный).
В нашем случае:
[Environment]::SetEnvironmentVariable("SSLKEYLOGFILE", "D:\wireshark", "User")
Linux и Mac OS X
Под Linux и Mac OS X можно использовать такую команду для изменения переменной окружения и ведения логов — с запуском браузера из того же терминального окна, поскольку переменные окружения всегда работают в пределах одной сессии.
# export SSLKEYLOGFILE=/Users/username/sslkeylogs/output.log
# open -a firefox
# wireshark
После накопления лога запускаем Wireshark.
Заходим в «Параметры», там на вкладке «Протоколы» (Protocols) находим раздел TLS (раньше он назывался SSL) — и указываем путь к файлу с логами и ключом, который использовался в сессии симметричного шифрования: (Pre)-Master-Secret log filename.
Например, при заходе пользователя на сервер Gmail в окне инспектирования пакетов QUIC мы видим обычные пакеты QUIC, зашифрованные ключом TLS.
Но в нижней части экрана появляется новая вкладка Decrypted QUIC, которая показывает расшифрованное содержимое этих пакетов.
Такой метод расшифровки трафика клиента не требует установки Wireshark на его компьютер, достаточно только скачать дамп с ключами, а потом использовать его вместе с дампом трафика.
По современному российскому законодательству провайдеры обязаны некоторое время хранить трафик пользователей, в том числе зашифрованный трафик TLS/SSL. Теперь понятно, какой примерно механизм может использоваться для его расшифровки и анализа. Злоумышленник должен иметь сессионные ключи для симметричного шифрования. Крупнейшие российские интернет-компании типа «Яндекс» и Mail.ru послушно выполняют требования российского законодательства — и предоставляют эти ключи (см. приказ ФСБ № 432 от 12.08.2016 г. о порядке получения ключей шифрования).
Примечание. Этот способ не ограничен только HTTP. Точно так же можно перехватывать и расшифровывать трафик SSL/TLS в других потоках. Например, зашифрованный трафик от сервера MySQL.
Анализируем трафик с другого компьютера
Если нужно разобраться с сервером в продакшне, то удобно скопировать оттуда файлы pcap — и проанализировать трафик на личном компьютере.
Записываем пакеты на сервере с помощью сниффера пакетов tcpdump, который входит в стандартный комплект *nix:
tcpdump port 443 -w output.pcap
Затем копируем файлы к себе на компьютер:
scp host:~/output.pcap
Здесь уже запускаем Wireshark и открываем полученный файл.
Есть вариант отслеживать серверный трафик в реальном времени со своего домашнего/рабочего компьютера. Например, весь трафик, кроме портов 22 и 53:
ssh root@host tcpdump -U -s0 'not port 22 and not port 53' -w - | wireshark -k -I -
Примерно то же самое с компьютера под Windows:
plink.exe -ssh -pw password root@host "tcpdump -ni eth0 -s 0 -w - not port 22" | "C:\Program Files\Wireshark\Wireshark.exe" -k -i -
Ищем проблемы
Чтобы выделить конкретное TCP-соединение, находим любой интересующий пакет, щёлкаем по нему правой кнопкой мыши — и применяем фильтр диалога.
Теперь из всего записанного трафика остались только пакеты, принадлежащие конкретно этому соединению.
На скриншоте мы видим пакеты с начала установки соединения TLS: пакет с приветствием клиента, ответный пакет с приветствием сервера, предъявленный сертификат, список шифров и так далее. Содержимое каждого пакета можно изучить отдельно. Очень удобно.
Типичный паттерн — использовать Wireshark для диагностики конкретных проблем. Например, в случае разрыва TLS-соединения мы можем зайти и посмотреть, кто его разорвал (клиент или сервер), на каком этапе это произошло и по какой причине.
Содержимое пакетов
Побайтовое содержимое каждого пакета — это настоящая магия. Конкретно эта функциональность Wireshark позволяет выявить самые серьёзные баги. Например, несколько лет назад выяснилось, что гигабитные Ethernet-контроллеры Intel 82574L отключаются, если отправить на них специально сконструированный пакет с определённой последовательностью байтов — так называемый «пакет смерти». Именно благодаря Wireshark выяснилось, какие конкретно байты в пакете приводят к гарантированному отключению сетевой карты.
Вот запись конкретных пакетов: pod-http-post.pcap и pod-icmp-ping.pcap. Можем их скачать, открыть в Wireshark и посмотреть своими глазами.
Отключение сетевого интерфейса Intel происходит, если по адресу 0x47f находится значение 2 или 3, то есть 32 HEX или 33 HEX. Если там 4, то всё нормально.
Для атаки подходил любой пакет: HTTP POST, ICMP echo-request и проч. Например, на веб-сервере можно сконфигурировать ответ 200 таким образом, что «убивает» сетевые интерфейсы на клиентских машинах. Довольно любопытная ситуация.
Поиск пакетов по содержанию
Выше мы применили фильтр диалога, чтобы выдать все пакеты для конкретного TCP-соединения. Однако фильтры можно писать и вручную. Вот некоторые примеры запросов:
frame contains "google"
— поиск всех пакетов со словом “google” в любом месте пакетаtcp.port == 443
— порт 443dns.resp.len > 0
— все DNS-ответыip.addr == 95.47.236.28
— конкретный IP-адрес для получателя или отправителя
… и так далее. Фильтры гораздо богаче, чем у tcpdump, так что именно анализ трафика лучше делать в Wireshark.
Трафик с мобильного телефона
Аналогичным образом можно проанализировать трафик с фитнес-часов по Bluetooth или трафик любого мобильного приложения под Android. Для этого нужно записать пакеты PCAP на мобильном устройстве — и передать их для анализа в Wireshark на рабочем ПК.
Есть несколько мобильных программ для записи PCAP. Например, приложение
PCAPdroid для Android:
PCAPdroid
В принципе, можно не передавать записанные файлы PCAP, а анализировать их прямо на мобильном устройстве. В некоторых мобильных снифферах есть и зачаточные функции анализатора пакетов, см. Packet Capture и Termux (о нём ниже).
Packet Capture
Wireshark имеет и прямой интерфейс Androiddump, чтобы снимать данные с телефона напрямую через Android SDK.
Трафик с телевизора и других бытовых приборов
Чтобы изучить трафик с телевизора, смартфона жены или других бытовых приборов, которые подключены в домашнюю сеть по Ethernet и WiFi, придётся записывать PCAP на маршрутизаторе. Иногда достаточно встроенных инструментов. Если у вас маршрутизатор с прошивкой DD-WRT, то можно прямо на устройстве запустить tcpdump
:
ssh root@192.168.1.1 -c "tcpdump -v -w - -i eth2" > mypackets.pcap
Для прошивки OpenWrt есть вариант зеркалировать трафик с помощью iptables-mod-tee.
Можно зеркалировать и записывать трафик с помощью дополнительного физического хаба или врезки в сеть. Подробнее см. в документации.
Другой способ — перехватить беспроводной трафик WiFi с помощью утилиты Airodump-ng без подключения к маршрутизатору. Но это больше подходит для анализа трафика на чужих хотспотах.
Далее всё по накатанной — загружаем файлы в Wireshark, запускаем фильтры.
Кстати, Wireshark поддерживает также анализ трафика USB: встроенный сниффер USBPcap и импорт пакетов из сторонних снифферов, таких как Npcap и RawCap.
Termshark
Если вы анализируете объёмные логи на удалённом сервере, но не хотите копировать всё на свою машину, может пригодиться Termshark — удобный пользовательский интерфейс в консоли для анализатора TShark, по внешнему виду напоминающий Wireshark.
Функции
- Чтение файлов pcap и прослушивание трафика с активных интерфейсов в реальном времени (где разрешён tshark)
- Фильтрация pcap или активных интерфейсов с помощью фильтров отображения Wireshark
- Повторная сборка и инспектирование потоков TCP и UDP
- Просмотр сетевых сеансов по каждому протоколу
- Копирование выделенных пакетов из консоли в буфер обмена
- Инструмент написан на языке Go, на каждой платформе компилируется в единый исполняемый файл: есть уже собранные версии для Linux, macOS, вариантов BSD, Android (termux) и Windows
Вот как выглядит версия под Android:
Wireshark как веб-приложение
Если по каким-то причинам вы не можете запустить Wireshark на локальной машине, можно воспользоваться облачным сервисом CloudShark, который сделан на удивление качественно.
Основная функция — совместная работа и публикация разборов пакетов по URL. Например, cloudshark.org/captures/05aae7c1b941. Файлы загружаются в облако и анализируются в браузере. Это нужно, если вы хотите спросить совета на форуме, поделиться информацией с коллегами или опубликовать разбор пакетов для широкой аудитории. Кстати, удобно использовать с мобильного телефона, ведь под Android есть приложения для захвата пакетов, а вот хорошего анализатора нет.
Сервис платный, есть 30-дневный пробный период.
В общем, Wireshark — просто фантастическая программа на все случаи жизни.
Кроме реальной практической пользы, анализатор даёт примерное представление о том, как работает фильтрация DPI у российских провайдеров. Там всё устроено примерно так же. Система в реальном времени сканирует трафик, фильтрует конкретно пакеты от Twitter — и замедляет их доставку пользователям на территории России. В частности, этим непотребством занимается Роскомнадзор с 10 марта 2021 года.
На правах рекламы
Если для работы необходим сервер в аренду на Linux или Windows, то вам однозначно к нам — активация услуги через минуту после оплаты!
Присоединяйтесь к нашему чату в Telegram.
Загрузить PDF
Загрузить PDF
Возможно, вам нужно посмотреть активные сетевые соединения на компьютере под управлением Windows. Это можно сделать несколькими способами. Вы можете открыть Центр управления сетями и общим доступом или работать с утилитой командной строки «netstat» (network statistics – сетевая статистика), которая позволяет обнаруживать сетевые проблемы и сетевой трафик; пользоваться этой утилитой довольно легко.
-
-
-
-
В Центре управления сетями и общим доступом вы можете получить информацию о состоянии сети, типе сетевого соединения, активных соединениях и возможности подключиться к другим компьютерам.[1]
-
Значок зависит от типа вашего соединения. Например, если вы подключены к Ethernet-сети, то значок имеет вид Ethernet-кабеля со штекером, а если вы подключены к беспроводной сети, то значок выглядит как пять вертикальных столбцов.[2]
-
Откроется окно, в котором будет отображена подробная информация о вашем сетевом соединении.
Реклама
-
-
-
Откроется окно «Сетевые подключения», в котором отобразятся активные сетевые соединения.
-
Щелкните правой кнопкой мыши по интересующему вас сетевому подключению.
-
-
В этом окне вы можете просмотреть информацию о сетевом соединении. Для получения дополнительной информации нажмите «Сведения».[3]
Реклама
-
-
В результатах поиска щелкните по «cmd», чтобы открыть окно командной строки (в Windows Vista и поздних версиях).[4]
-
В этом окне вы будете вводить команду netstat. Команда вводится с различными опциями, самые популярные из которых приведены ниже.
-
Эта команда приведет к отображению списка активных TCP-соединений (TCP, transmission control protocol — протокол управления передачей), в котором имени физического компьютера соответствуют локальные адреса, а имени хоста – удаленные адреса. Также будет отображено состояние порта (в режиме ожидания, подключение установлено и так далее).[5]
-
Введите netstat -b, чтобы отобразить программы, использующие сетевые соединения. Эта команда приведет к отображению списка, который аналогичен выводимому командой netstast -a, но здесь также отобразятся программы, использующие соединения и порты.[6]
-
Эта команда приведет к отображению списка TCP-соединений, но вместо имен компьютеров или поставщиков услуг отобразятся реальные IP-адреса.[7]
-
, чтобы отобразить командные опции. Эта команда приведет к отображению списка всех опций команды netstat.[8]
-
Введя команду netstat, откроется список TCP/UCP-соединений с IP-адресами.
Реклама
-
-
Откроется окно с текстовой строкой.
-
-
В этом окне вы будете вводить команду netstat. Команда вводится с различными опциями, самые популярные из которых приведены ниже.
-
Эта команда приведет к отображению списка активных TCP-соединений (TCP, transmission control protocol — протокол управления передачей ), в котором имени физического компьютера соответствуют локальные адреса, а имени хоста – удаленные адреса. Также будет отображено состояние порта (в режиме ожидания, подключение установлено и так далее).[9]
-
Введите netstat -b, чтобы отобразить программы, использующие сетевые соединения. Эта команда приведет к отображению списка, который аналогичен выводимому командой netstast -a, но здесь также отобразятся программы, использующие соединения и порты.[10]
-
Эта команда приведет к отображению списка TCP-соединений, но вместо имен компьютеров или поставщиков услуг отобразятся реальные IP-адреса.[11]
-
, чтобы отобразить командные опции. Эта команда приведет к отображению списка всех опций команды netstat.[12]
-
Введя команду netstat, откроется список TCP/UCP-соединений с IP-адресами.
Реклама
Советы
- В качестве альтернативы на сайте SysInternals скачайте программу TCPView.
- Поэкспериментируйте с командами UNIX (упомянутая выше команда netstat также является командой UNIX). Эти команды можно найти в интернете при помощи поисковика.
- Имейте в виду, что в Linux команда netstat больше не поддерживается, поэтому вместо нее используйте команды ip –s или ss, или ip route.
Реклама
Об этой статье
Эту страницу просматривали 179 197 раз.
Была ли эта статья полезной?
Microsoft Network Monitor это классический инструмент сетевой диагностики для Windows, которой позволяет выполнить захват и анализ входящего и исходящего трафика на компьютере. Несмотря на то, что это продукт не развивается и не обновляется уже более 3 лет, его часто используют администраторы, когда нужно выполнить диагностику сетевых подключений. NetMon предоставляет на порядок меньше возможностей и не так хорош в расширенном разборе пакетов, по сравнению с популярным инструментом захвата и анализа WireShark. Однако графический интерфейс Network Monitor гораздо проще и интуитивное, да и сам продукт легче. Поэтому в некоторых сценариях его использование вполне оправдано и удобно.
В этой статье мы рассмотрим, как использовать Network Monitor для захвата и анализа сетевого трафика в реальном времени и для снятия дампа трафика для последующего анализа.
Идею этой статьи подкинул один из участников нашего чата, который получил от провайдера предупреждение о том, что его Windows VPS сервер используется для рассылки писем. Рассылка производилась в разное время, поэтому отследить процесс, выполняющий инициацию SMTP сессий, в реальном времени не удалось. Для поиска источника проблемы нужно настроить захват всего исходящего трафика по стандартным SMTP портам 25, 587 и 465, и определить исполняемый файл или скрипт, который выполняет рассылки.
Установить Microsoft Network Monitor 3.4 (последняя в прямо смысле версия) можно, скачав установщик (NM34_x64.exe) с сайта Microsoft (https://www.microsoft.com/en-us/download/details.aspx?id=4865), или установить пакет с помощью пакетного менеджера winget:
winget install Microsoft.NetMon
После установки, запустите Network Monitor с правами администратора.
В окне NetMon нажмите New Capture.
По умолчанию Network Monitor, собирает весь трафик, проходящий через интерфейсы компьютеры. За длительный промежуток времени размер такого сетевого дампа может быть весьма значительным. В нашем случае мы хотим собирать только исходящие пакеты по одному из известных SMTP портов.
Нажмите кнопку Capture Settings. В этом окне можно настроить фильтры, которые определяют какой трафик должен собирать NetMon. В разделе Load Filter -> Standard Filters есть несколько шаблонов фильтров для типовых задач. В нашем случае нам нужен фильтр по TCP портам. Выберите TCP-> TCP ports.
В окно редактора фильтра будет вставлен следующий код шаблона:
tcp.port == 80 OR Payloadheader.LowerProtocol.port == 80
Нужно отредактировать правило и добавить в него все три стандартные SMTP порты:
(tcp.port == 25 OR Payloadheader.LowerProtocol.port == 25 OR
tcp.port == 587 OR Payloadheader.LowerProtocol.port == 587 OR
tcp.port == 465 OR Payloadheader.LowerProtocol.port == 465)
Если на сервере несколько сетевых интерфейсов или дополнительных IP адресов на адаптере, можно добавить фильтр на исходящий IP:
AND
(IPv4.SourceAddress == 192.168.158.144)
Фильтры в Network Monitor можно комбинировать с помощью скобок и логических выражений
OR
/
AND
/
NOT
, или использовать вместо них
||
,
&&
или
!
.
Нажмите кнопку Apply, чтобы сохранить фильтр.
Затем перейдите в раздел Tools -> Options -> Parser profiles. Выберите Windows в профиле парсера по умолчанию (Set as active).
Теперь можно запустить захват трафика. Нажмите кнопку Start в панели инструментов.
Теперь вам нужно воспроизвести проблему, или если она появляется редко в неизвестные моменты времени, просто оставьте NetMon запущенным в течении дня/недели.
Имейте в виду, что в зависимости от настроек фильтра захвата, дамп сетевого трафика за большой промежуток времени потребует значительного количества RAM и свободного места на диске.
В нашем случае через некоторое время в журнале пакетов NetMon появились события, соответствующий примененным фильтрам. Если открыть содержимое пакетов, то можно обнаружить что выполнялась попытка SMTP подключения. Внутри пакетом можно увидеть команды SMTP протокола, попытки аутентификации, адрес целевой сервер и email адрес, на который выполняется отправка (пример SMTP команд в telnet для отправки почты с аутентификацией).
В поле Process Name указано имя процесса, который инициировал данные сетевой трафик. В этом случае мы определили, что SMTP рассылка выполняется консольной утилитой
blat.exe
.
Также в дамп попала моя сессия
powershell.exe
, из которой я проверял доступность порта 25 на внешнем сервере:
Test-NetConnection smtp.mail.ru -port 25
Чтобы остановить захват сетевого трафика, нужно нажать кнопку Stop. Полученный дамп трафика можно сохранить *.CAP файл для последующего анализа в офлайн режиме.
Можно добавить дополнительные фильтры по IP или MAC адресу назначения/источника, различным протоколам, портам и специальные фильтры для анализа трафика некоторых протоколов (SMB, HTTP, DNS). Фильтры можно применять как целиком к захваченному трафику, так и для фильтрации отображаемых данных в рамках текущей сессии (окно Display Filter).
Например, чтобы отфильтровать пакеты, можно щелкнуть по любому из значений в списке пакетов и выбрать Add [something] to Display Filter.
На скриншоте я добавил правило фильтрации по IP адресу назначения. В окно фильтра был добавлен такой код:
Destination == "ip_adress"
Ниже представлены несколько примером часто используемых фильтров Network Monitor.
Фильтр по IP адресу назначения:
IPv4.SourceAddress == 192.168.0.1
Фильтр по IP источника или назначения:
IPv4.Address == 192.168.0.1
Фильтр по номеру TCP порта:
tcp.port == 443
OR
Payloadheader.LowerProtocol.port == 443
Можно указывать диапазоны портов:
(udp.Port>=10000 && udp.port<=19999)
В этой статье мы рассмотрели особенности захвата и последующего анализа сетевого трафика в Windows с помощью Microsoft Network Monitor. Также в Windows для снятия дампа трафика без установки Network Monitor на компьютере можно использовать встроенную консольную утилиту PktMon. Дамп, снятый такой утилитой, можно проанализировать на любом компьютере с установленным NetMon или Wireshark.
(Image credit: Future)
On Windows 11, the Network Statistics (netstat) tool has been around for a long time (including on Windows 10 and older versions), and it’s a command-line utility you can use in Command Prompt to display statistics for all network connections. It allows you to understand open and connected ports to monitor and troubleshoot networking problems for systems or apps.
The tool helps you to list active network (incoming and outgoing) connections and listening ports. You can view network adapter statistics and statistics for protocols (such as IPv4 and IPv6). You can even display the current routing table and much more.
In this how-to guide, I’ll show you the steps to use the netstat command to examine connections to discover open and connected network ports on Windows 11 (and 10).
How to use netstat on Windows 11 and 10
In the client version of Windows, you can get started with the Network Statistics tool with a simple command, but then you have a lot of options to view different network activities, and here’s how.
Netstats basics
To get started with netstat, use these steps:
- Open Start.
- Search for Command Prompt, right-click the top result, and select the Run as administrator option.
- Type the following command to show all active TCP connections and press Enter: netstat
- (Optional) Type the following command to display active connections showing numeric IP address and port number instead of trying to determine the names and press Enter: netstat -n
- (Optional) Type the following command to refresh the information at a specific interval and press Enter: netstat -n INTERVAL
In the command, replace «INTERVAL» with the number (in seconds) to re-display the information. This example refreshes the command in question every five seconds: netstat -n 5
- Quick note: When using the interval parameter, you can terminate the command using the «Ctrl + C» keyboard shortcut.
Once you execute the command, it’ll return a list of all active connections in four columns, including:
All the latest news, reviews, and guides for Windows and Xbox diehards.
- Proto: Shows the connection protocol (TCP or UDP).
- Local Address: Shows the computer’s IP address followed by a semicolon with the port number of the connection. The double-semicolon inside brackets indicates the local IPv6 address, and «0.0.0.0» refers to the local address.
- Foreign Address: Lists the remote device’s IP (or FQDN) address with the port number after the semicolon port name (for example, HTTPS, HTTP, Microsoft-ds, and wsd).
- State: Indicates where the connection is active (established), the local port has been closed (time_wait), and the program hasn’t closed the port (close_wait). Other status include, closed, fin_wait_1, fin_wait_2, last_ack, listen, syn_received, syn_send, and timed_wait.
Netstat parameters
The tool also includes several parameters you can use to display different information about the network connections on Windows 11 (and 10).
Show active and inactive connections
The «netstat -a» command displays all active and inactive connections and the TCP and UDP ports the device is currently listening to.
Show executable information
The «netstat -b» command lists all the executables (applications) associated with each connection. Sometimes, applications may open multiple connections.
Show network adapter statistics
The «netstat -e» command generates a statistic of the network interface, which shows information like the number of bytes, unicast, and non-unicast sent and received packets. You can also see discarded packets, errors, and unknown protocols, which can help you troubleshoot networking problems.
Show FQDNS for foreign addresses
The «netstat -f» command shows the fully qualified domain name (FQDN) for foreign addresses. For example, «a23-200-88-24.deploy.static.akamaitechnologies.com:https» instead of «a23-200-88-24:http» or «23.200.88.24».
Show numerical form
The «netstat -n» command displays the addresses and ports in numerical form—for example, 52.159.126.152:443.
Show process ID
The «netstat -o» command shows active TCP connections like «netstat,» but with the difference that adds a fifth column to display the Process ID (PID) for each connection. The processes available in this view are the same in the «Details» tab of Task Manager, which also reveals the application using the connection.
Show connections by Protocol
The «netstat -p» can be used to display connections per protocol that you have to specify using «TCP,» «UDP,» «TCPv6,» or «UDPv6» next to the command. For example, you can use the «netstat -p TCP» command to view a list of TCP connections.
Show listening and non-listening ports
The «netstat -q» commands can produce a list of all the connections with the listening and bound non-listening ports.
Show statistics by Protocol
The «netstat -s» shows network statistics for the available protocols, including TCP, UDP, ICMP, and IP protocols (versions 4 and 6).
Show routing table
The «netstat -r» command displays the current network routing table that lists the routes to destinations and matrics known by the device for IP version 4 and version 6 (if applicable). If the returned information looks familiar, it’s because you can also output the data using the «route print» command.
Show offload state connections
The «netstat -t» command generates a list of the current connection offload state. The offload state refers to the TCP Chimney Offload, which is a feature that transfers the network workload from the processor to the network adapter during data transmissions. The «InHost» value indicates that offloading isn’t enabled, and the «Offload» means that the feature is transferring the workload to the network adapter. (This feature is only present on supported network adapters.)
Show NetworkDirect connections
The «netstat -x» is another supported command, and it produces a list of NetworkDirect connections, shared endpoints, and listeners.
NetworkDirect is a specification for Remote Direct Memory Access (RDMA), which is a process that allows fast data transfers using the network adapter, freeing up the processor to perform other tasks. Usually, you’ll never use this command unless you’re using the Windows server version or a high-performance application with a network adapter that supports this feature.
Show connection template
The «netstat -y» command displays TCP connection templates for all connections.
Combine parameters
When using the «netstat» command, you can combine the parameters to display various information for many cases.
For example, the «-e» parameter can also be used with the «-s» parameter to see statistics for each available protocol, and the «-o» parameter can be combined with «-a,» «-n,» and «-p» as necessary.
With the «netstat -p» command, you append the «s» parameter. You can display statistics from even more protocols, including «icmp,» «ip,» «icmpv6,» and «ipv6.»
Also, when using more than one parameter, you can combine them with a single «-.» For example, instead of writing the command «netstat -e -s,» you can write it like this: «netstat -es.»
To see all the available parameters and additional help, you can always use the «netstat /?» command.
Netstat search
In addition to displaying all the available statistic information, you can also output only the certain details you need using these steps:
- Open Start.
- Search for Command Prompt, right-click the top result, and select the Run as administrator option.
- Type the following command to list all the connections that have the state set to LISTENING and press Enter: netstat -q | findstr STRING
In the command, replace «STRING» for the information you want to list. Also, the findstr option is case-sensitive, which means you must enter the string you want to find with the exact casing. This example lists the connections set to «LISTENING:» netstat -q | findstr LISTENING
This other example shows all the connections from a foreign server FQDN, in this case, Amazon: netstat -f | findstr amazon
The «findstr» command isn’t part of the netstat tool. It’s a simple command to search for a text string in a file, but you can use it with many of the options for this tool to make more sense of the information you’re viewing.
The tool is not exclusive to Windows, as it’s also available across platforms, including Linux and macOS. Even though the parameters and syntax may be different, they all are very similar.
More resources
For more helpful articles, coverage, and answers to common questions about Windows 10 and Windows 11, visit the following resources:
- Windows 11 on Windows Central — All you need to know
- Windows 10 on Windows Central — All you need to know
Mauro Huculak has been a Windows How-To Expert contributor for WindowsCentral.com for nearly a decade and has over 15 years of experience writing comprehensive guides. He also has an IT background and has achieved different professional certifications from Microsoft, Cisco, VMware, and CompTIA. He has been recognized as a Microsoft MVP for many years.
В этой публикации, друзья, рассмотрим, как узнать все сетевые подключения Windows. Т.е. как узнать, какие есть на компьютере активные и неактивные сетевые подключения — проводные Ethernet, беспроводные Wi-Fi или мобильные, через USB-модем, подключения только к локальной сети без Интернета, виртуальные и различные другие подключения. Это необходимо для проверки этих сетевых подключений, диагностики и устранения проблем с ними, получения информации в различных целях. Узнать сетевые подключения Windows можно её штатными средствами и сторонними программами.
Узнать активные сетевые подключения Windows можно в современном штатном приложении «Параметры». В корне раздела «Сеть и Интернет» будем видеть все активные подключения. Здесь можно оперативно получить информацию о текущих подключениях и их статусе.
Клик по надписи «Свойства» для каждого подключения откроет детализацию о сетевом подключении.
По пути «Сеть и Интернет → Дополнительные сетевые параметры» будем видеть все подключения — и активные, и неактивные, как реальные, так и виртуальные, привязанные к сетевому адаптеру. Можем раскрыть блок интересующего сетевого адаптера и кликнуть «Просмотреть дополнительные свойства».
И посмотреть некоторые данные сетевого адаптера.
В любой версии Windows узнать её активные сетевые подключения можно в настройках классической панели управления. Клавишами Win+R запускаем командлет «Выполнить», вводим:
control.exe /name Microsoft.NetworkandSharingCenter
Откроются основные сведения о сети, где в блоке активных сетей будем видеть все активные подключения.
Клик по активной ссылке подключения откроет окошко его состояния, где, нажав кнопку «Сведения», можем получить в новом окошке детальные сведения о подключении.
Для получения информации обо всех сетевых подключениях, включая неактивные, на боковой панели основных сведений о сети жмём «Изменение параметров адаптера». Выбираем адаптер нужного подключения.
Двойным кликом открываем его окошко состояния. Жмём кнопку «Сведения» и получаем в новом окошке детальные сведения о сетевом подключении.
Различную информацию о сетевых подключениях Windows можно получить с помощью консольных команд в командной строке или PowerShell.
Команда:
ipconfig /all
Отображает все сетевые адаптеры и некоторую информацию об их подключениях.
Команда:
netstat -an
Отображает список активных соединений и прослушивающих портов на компьютере, этот список включает локальные и удалённые IP-адреса, порты и состояния соединений.
Команда:
Get-NetAdapter | Format-List
Отображает состояние и некоторые параметры сетевых адаптеров.
Дополнительные консольные команды для получения разной информации о сети в Windows:
|
Основная команда для получения информации о сетевых адаптерах и их IP-адресах. |
|
Команда для отображения активных соединений и статистики сетевых интерфейсов. |
|
Показывает таблицу соответствия IP-адресов и MAC-адресов. |
|
Отображает таблицу маршрутизации IP. |
|
Только PowerShell. Команда для отображения IP-адресов всех интерфейсов. |
|
Только PowerShell. Команда для отображения таблицы маршрутизации. |
|
Только PowerShell. Отображает информацию о профилях сетевых подключений (тип сети, состояние подключения и пр.). |
|
Только PowerShell. Показ статистики по каждому активному сетевому адаптеру, включая количество отправленных и полученных пакетов. |
Узнать активные сетевые подключения Windows можно с помощью бесплатных портативных программ от NirSoft.
NetConnectChoose позволяет просматривать активные сетевые подключения на компьютере.
Предоставляет подробнейшую информацию о каждом подключении — тип, состояние, используемые IP-адреса и многое другое.
Позволяет сбрасывать счётчики пакетов, что может пригодиться для мониторинга сетевой активности с нуля.
AdapterWatch отображает значимые сведения о сетевых адаптерах, общую статистику TCP, IP, UDP, ICMP.
Друзья, виновником возникновения проблем с сетью (медленная скорость, прерывания соединения и т.п.) может быть какая-то из работающих программ на компьютере. В таких случаях анализ сетевых подключений мало чем поможет в решении проблемы. Нужно смотреть, какие программы устанавливают большое количество соединений и потребляют слишком много ресурсов сети, замедляя её работу. Детально об этом – в статье «Какие программы используют Интернет».