Локальные интерфейсы недоступны потому что драйвер захвата пакетов не загружен
Почему wireshark не обнаруживает мой интерфейс?
Я только что установил Wireshark, но когда я нажимаю capture > interfaces появляется диалоговое окно, но оно не содержит мой сетевой интерфейс.
при нажатии на capture > interfaces похоже, как на скриншоте ниже. Что может вызвать это?
5 ответов
это обычно вызвано неправильной настройкой разрешений, связанных с правильным запуском Wireshark. Хотя вы можете избежать этой проблемы, запустив Wireshark с повышенными привилегиями (например, с sudo ), его следует избегать (см. здесь, в частности здесь). Это иногда является результатом неполной или частично успешной установки Wireshark. Поскольку вы используете Ubuntu, это можно решить, следуя инструкциям, приведенным в ответ на Wireshark Q & сайт. Таким образом, после установки Wireshark выполните следующие команды:
затем выйдите из системы и войдите обратно (или перезагрузитесь), и Wireshark должен работать правильно без необходимости дополнительных привилегий. Наконец, если проблема все еще не решена, может быть, что dumpcap был неправильно настроен, или есть что-то еще, что мешает ему работать правильно. В этом случае, вы можете установить setuid бит для dumpcap Так что он всегда работает как root.
В Windows, с Wireshark 2.0.4, Запуск от имени администратора не решил это для меня. Перезапуск службы драйвера фильтра пакетов NetGroup (npf):
Как описано в другом ответе, это обычно вызвано неправильной настройкой разрешений, связанных с правильным запуском Wireshark.
машины Windows:
запустите Wireshark как администратор.
перезапустив NPF, я вижу интерфейсы с wireshark 1.6.5
Откройте командную строку с правами администратора.
Wireshark: “интерфейсы не найдены”, ошибка объяснена
«Нет никаких интерфейсов, на которых можно сделать захват».
Когда вы запускаете Wireshark для захвата сетевых пакетов, инструмент должен пройти серию процедур инициализации. В конце процедуры запуска Wireshark сканирует компьютер на наличие сетевых подключений. Если программа не может найти сети, подключенные к компьютеру, на котором она запущена, она покажет сообщение «Интерфейсы не найдены.»
Сообщение об ошибке появляется в области окна приложения, где вы ожидаете увидеть список доступных сетей. Для захвата пакетов сначала нужно выбрать одну из этих сетей. Так, если Wireshark вообще не может найти сети, вы не можете перейти к фазе захвата пакетов..
Ошибка интерфейса, вызванная правами доступа
Когда Wireshark сообщает, что не может найти никаких «интерфейсов», это означает, что он не может обнаружить какие-либо сети. Есть много возможных причин этой проблемы.
«Интерфейсы не найдены» в Windows 10
Удивительно, но в Windows вам не нужно запускать Wireshark с правами администратора, чтобы предоставить программе доступ к сетевым функциям. Это связано с тем, что в отношении сетевых процедур вашего компьютера Wireshark действует только так, как ведет себя любая другая программа, подключающаяся к сети. системе Wireshark необходим только доступ к сети, которая доступна для всех пользователей, не только администратор.
Один элемент из набора программ Wireshark действительно нуждается в правах администратора. Это WinPcap, которая является базовой службой, которая помогает в захвате пакетов. Настройка Wireshark установит WinPcap для вас. Процесс установки устанавливает WinPcap запускаться при запуске системы, а также записывает его в реестр, чтобы он мог работать от имени администратора. Именно этот этап установки требует перезагрузки компьютера.
«Интерфейсы не найдены» в Linux
Пользователи Linux сообщают о другой ситуации при запуске Wireshark. Кажется, что это должно быть запущено с Судо команда. Это действие запускает программу с привилегии суперпользователя. Это часто решает проблему невозможности доступа Wireshark к сетевым функциям на компьютере с Linux. Опять таки, Wireshark не нужно запускать с правами root в Linux, но есть один элемент пакета программ, который делает. Это dumpcap; вам нужно выполнить следующую команду, чтобы правильно настроить этот модуль.
корень утилиты dumpcap |
Не все разновидности Linux ведут себя одинаково, поэтому, если просто назначить dumpcap как корневой процесс не работает, попробуйте следующую команду:
setcap ‘CAP_NET_RAW + eip CAP_NET_ADMIN + eip’ / usr / sbin / dumpcap |
Возможно, код Wireshark хранится в каталоге bin, а не в sbin. Если приведенная выше команда возвращает ошибку, попробуйте:
setcap ‘CAP_NET_RAW + eip CAP_NET_ADMIN + eip’ / usr / bin / dumpcap |
Если приведенные выше команды не работают в вашей версии Linux, попробуйте:
chown root / usr / sbin / dumpcap chmod u + s / usr / sbin / dumpcap |
Если код для Wireshark находится в bin, а не в sbin, измените «/ USR / SBIN /До/ USR / бен /В приведенной выше команде.
Ошибки брандмауэра
Ваш брандмауэр не должен блокировать доступ Wireshark к сети, потому что брандмауэры обычно работают для предотвращения попадания внешних процессов на ваш компьютер не мешать процессам на вашем компьютере попадать в сеть. Однако на случай, если проблема связана с программным обеспечением брандмауэра вашего компьютера, попробуйте выполнить следующий тест.
Закройте Wireshark и выключите брандмауэр. Снова откройте Wireshark, чтобы он начал искать сети. Если теперь ему удается найти сеть, проблема заключается в вашем межсетевой экран. Установите Wireshark в качестве исключения в правилах брандмауэра и снова включите брандмауэр.
Ошибки сетевой карты
Если ни один из вышеперечисленных тестов программного обеспечения, запущенного на вашем компьютере, не решит проблему, вам потребуется проверить свою сетевую карту.
Попробуйте любое другое сетевое приложение на вашем компьютере, чтобы узнать, сможет ли оно получить доступ к сети. Если что-то может попасть в сеть, проблема не в физической сетевой карте или программном обеспечении сетевого адаптера. Если ничто не может войти в Интернет, вы определили проблему и вам следует обратиться к специалисту службы поддержки, чтобы устранить проблемы с доступом к сети.
Общий совет для проблем Wireshark
Если вы продолжаете получать сообщения об ошибках связи при открытии Wireshark, вы будете разочарованы и подчеркнуты. Важно держать взгляд на проблему и понять, что ошибка вряд ли будет вызвана самой Wireshark. Чтобы исправить эту ошибку, вам нужно сосредоточиться на базовых сервисах, которые имеют более прямой контакт с сетевым интерфейсом.
При подходе к проблеме, имейте в виду три важных факта:
Прежде всего, вы должны понимать, что проблема с видимостью сети связана только с процессом сбора данных, а не с Wireshark. Вы должны сосредоточиться на здоровье WinPcap, npcap, или dumpcap а не сам Wireshark.
Когда вы устанавливаете последнюю версию Wireshark, процесс установки проверит соответствующий процесс сбора данных, который записан для запуска в вашей операционной системе. Если вам будет предложено разрешить программе установки остановить, удалить, заменить или установить эти программы захвата, пусть это. Ваша проблема с Wireshark может быть вызвана тем, что вы пропустили эти сообщения в мастере установки и не позволяете устанавливать новые версии этих программ. Попробуйте удалить пакет программ Wireshark, загрузить последнюю версию и установить ее снова.. Обратите внимание на сообщения об установке вспомогательного программного обеспечения.
У вас были проблемы с Wireshark? Вам удалось найти решение, которого нет в этом руководстве? Сообщите сообществу о вашем решении, оставив сообщение в Комментарии раздел ниже.
Руководство и шпаргалка по Wireshark
Даже поверхностное знание программы Wireshark и её фильтров на порядок сэкономит время при устранении проблем сетевого или прикладного уровня. Wireshark полезен для многих задач в работе сетевого инженера, специалиста по безопасности или системного администратора. Вот несколько примеров использования:
Устранение неполадок сетевого подключения
Исследование сессий прикладного уровня (даже при шифровании с помощью SSL/TLS, см. ниже)
Устранение неполадок DHCP с данными на уровне пакетов
Извлечение файлов из сессий HTTP
Извлечение файлов из сессий SMB
Обнаружение и проверка вредоносных программ
Проверка сканирования портов и других типов сканирования на уязвимости
Установка Wireshark
Wireshark работает на различных операционных системах и его несложно установить. Упомянем только Ubuntu Linux, Centos и Windows.
Установка на Ubuntu или Debian
Установка на Fedora или CentOS
Установка на Windows
На странице загрузки лежит исполняемый файл для установки. Довольно просто ставится и драйвер захвата пакетов, с помощью которого сетевая карта переходит в «неразборчивый» режим (promiscuous mode позволяет принимать все пакеты независимо от того, кому они адресованы).
Начало работы с фильтрами
С первым перехватом вы увидите в интерфейсе Wireshark стандартный шаблон и подробности о пакете.
Как только захватили сессию HTTP, остановите запись и поиграйте с основными фильтрами и настройками Analyze | Follow | HTTP Stream.
Примеры фильтров по IP-адресам
Примеры фильтров по протоколу
Попробуйте сделать комбинацию фильтров, которая показывает весь исходящий трафик, кроме HTTP и HTTPS, который направляется за пределы локальной сети. Это хороший способ обнаружить программное обеспечение (даже вредоносное), которое взаимодействует с интернетом по необычным протоколам.
Следуйте за потоком
Как только вы захватили несколько HTTP-пакетов, можно применить на одном из них пункт меню Analyze | Follow | HTTP Stream. Он покажет целиком сессию HTTP. В этом новом окне вы увидите HTTP-запрос от браузера и HTTP-ответ от сервера.
Резолвинг DNS в Wireshark
По умолчанию Wireshark не резолвит сетевые адреса в консоли. Это можно изменить в настройках.
Edit | Preferences | Name Resolution | Enable Network Name Resolution
Tshark для командной строки
Составление правил для файрвола
Работа с географической базой GeoIP
Если Wireshark скомпилирован с поддержкой GeoIP и у вас есть бесплатные базы Maxmind, то программа может определять местоположение компьютеров по их IP-адресам. Проверьте в About | Wireshark, что программа скомпилирована с той версией, какая у вас в наличии. Если GeoIP присутствует в списке, то проверьте наличие на диске баз GeoLite City, Country и ASNum. Укажите расположение баз в меню Edit | Preferences | Name Resolution.
Проверьте систему на дампе трафика, выбрав опцию Statistics | Endpoints | IPv4. В колонках справа должна появиться информация о местоположении и ASN для IP-адреса.
Конечно, тот же фильтр можно применить к отдельным городам и странам. Удалите шум и оставьте только действительно интересный трафик.
Расшифровка сессий SSL/TLS
Один из способов расшифровки сессий SSL/TLS — использовать закрытый ключ с сервера, к которому подключен клиент.
Конечно, у вас не всегда есть доступ к приватному ключу. Но есть другой вариант простого просмотра трафика SSL/TLS на локальной системе. Если Firefox или Chrome загружаются с помощью специальной переменной среды, то симметричные ключи отдельных сеансов SSL/TLS записаны в файл, который Wireshark может прочитать. С помощью этих ключей Wireshark покажет полностью расшифрованную сессию!
1. Настройка переменной среды
На вкладке System Properties | Advanced нажмите кнопку Environment Variables и добавьте имя переменной (SSLKEYLOGFILE), а в качестве значения — путь к файлу.
2. Настройка Wireshark
Из выпадающего меню выберите Edit | Preferences | Protocols | SSL | (Pre)-Master-Secret Log Filename — Browse, указав файл, который вы указали в переменную среды.
Начинайте захват трафика в локальной системе.
3. Перезапуск Firefox или Chrome
После перехода на сайт HTTPS лог-файл начнёт увеличиваться в размере, поскольку записывает симметричные ключи сессии.
Взгляните на ранее запущенную сессию Wireshark. Вы должны увидеть что-то похожее на скриншот внизу с расшифрованными сессиями. Расшифрованные пакеты — на вкладке в нижней панели.
Другой способ просмотра сеанса — через выпадающее меню Analysis | Follow | Stream | SSL. Если сеанс успешно расшифрован, вы увидите опцию для SSL.
Разумеется, будьте осторожны при записи этих ключей и пакетов. Если посторонний получит доступ к лог-файлу, то легко найдёт там ваши пароли и куки аутентификации.
Ещё один вариант выхода на базовый HTTP-трафика — использовать инструмент Burp Suite с загруженным сертификатом CA в браузере. В этом случае прокси расшифровывает соединение на стороне клиента, а затем устанавливает новый сеанс SSL/TLS на сервере. Есть много способов проведения такой MiTM-атаки на себя, это два самых простых.
Извлечение файлов из пакетов с помощью функции экспорта (HTTP или SMB)
Файлы легко извлекаются через меню экспорта.
File | Export Objects | HTTP
Все найденные файлы отобразятся в новом окне. Отсюда же можно сохранить отдельные файлы или сразу все. Аналогичный метод применяется для извлечения файлов из сессий SMB. Как мы уже упоминали, это протокол Microsoft Server Message Block, который используется для общего доступа к файлам под Windows.
Строка состояния
Строка состояния в правой части окна позволяет быстро перейти в нужное место сетевого дампа, щёлкнув по цветовому индикатору. Например, красным цветом в строке состояния помечены пакеты с ошибками.
Образец PCAP
Когда только начинаете работу с Wireshark, хочется посмотреть на какие-нибудь интересные дампы с пакетами. Их можно найти на странице Wireshark Samples. Примеров с разными протоколами там хватит вам на несколько месяцев анализа, есть даже образцы трафика червей и эксплоитов.
Настройка окружения
Внешний вид консоли по умолчанию всячески настраивается. Можно добавлять или удалять столбцы, добавляя даже такие простые вещи как столбец времени UTC, что сразу повышает информативность логов, если анализировать историю пакетов.
Столбцы настраиваются в меню Edit | Preferences | Appearance | Columns. Там же изменяется общий шаблон, шрифт и цвета.
На видео — полезные советы по настройке окружения, в том числе выявление неполадок по порядковым номерам последовательности TCP.
capinfos
Wireshark для всех. Лайфхаки на каждый день
Пакет с сертификатами от Хабра
Практические варианты использования
В Wireshark миллион функций, но буквально каждый человек с минимальными знаниями может использовать его с пользой. Ниже примеры основных сетевых задач.
Расшифровка трафика SSL/TLS
Chrome и Firefox могут записывать логи сессионных ключей, которые используются для шифрования трафика SSL/TLS. Наша задача — включить запись этих логов, а потом загрузить их в Wireshark для анализа. Предполагается, что у нас есть физический доступ к компьютеру пользователя, трафик которого мы хотим расшифровать. Или к серверу, который устанавливает зашифрованное соединение с пользователем.
Сначала включаем запись ключей.
Старые билды Windows 10
В старых билдах Windows 10 работает старый метод. Заходим в Панель управления → Система и безопасность → Система. На вкладке «Дополнительные параметры системы» нажимаем кнопку «Переменные среды».
Добавляем для пользователя новую переменную SSLKEYLOGFILE и указываем путь до файла.
В результате получаем логи с ключами, начало файла:
Новые билды 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 можно использовать такую команду для изменения переменной окружения и ведения логов — с запуском браузера из того же терминального окна, поскольку переменные окружения всегда работают в пределах одной сессии.
После накопления лога запускаем Wireshark.
Заходим в «Параметры», там на вкладке «Протоколы» (Protocols) находим раздел TLS (раньше он назывался SSL) — и указываем путь к файлу с логами и ключом, который использовался в сессии симметричного шифрования: (Pre)-Master-Secret log filename.
Например, при заходе пользователя на сервер Gmail в окне инспектирования пакетов QUIC мы видим обычные пакеты QUIC, зашифрованные ключом TLS.
Но в нижней части экрана появляется новая вкладка Decrypted QUIC, которая показывает расшифрованное содержимое этих пакетов.
Такой метод расшифровки трафика клиента не требует установки Wireshark на его компьютер, достаточно только скачать дамп с ключами, а потом использовать его вместе с дампом трафика.
Примечание. Этот способ не ограничен только HTTP. Точно так же можно перехватывать и расшифровывать трафик SSL/TLS в других потоках. Например, зашифрованный трафик от сервера MySQL.
Анализируем трафик с другого компьютера
Если нужно разобраться с сервером в продакшне, то удобно скопировать оттуда файлы pcap — и проанализировать трафик на личном компьютере.
Записываем пакеты на сервере с помощью сниффера пакетов tcpdump, который входит в стандартный комплект *nix:
Затем копируем файлы к себе на компьютер:
Здесь уже запускаем Wireshark и открываем полученный файл.
Есть вариант отслеживать серверный трафик в реальном времени со своего домашнего/рабочего компьютера. Например, весь трафик, кроме портов 22 и 53:
Примерно то же самое с компьютера под Windows:
Ищем проблемы
Чтобы выделить конкретное 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-соединения. Однако фильтры можно писать и вручную. Вот некоторые примеры запросов:
Трафик с мобильного телефона
Аналогичным образом можно проанализировать трафик с фитнес-часов по Bluetooth или трафик любого мобильного приложения под Android. Для этого нужно записать пакеты PCAP на мобильном устройстве — и передать их для анализа в Wireshark на рабочем ПК.
Есть несколько мобильных программ для записи PCAP. Например, приложение
PCAPdroid для Android:
PCAPdroid
В принципе, можно не передавать записанные файлы PCAP, а анализировать их прямо на мобильном устройстве. В некоторых мобильных снифферах есть и зачаточные функции анализатора пакетов, см. Packet Capture и Termux (о нём ниже).
Packet Capture
Wireshark имеет и прямой интерфейс Androiddump, чтобы снимать данные с телефона напрямую через Android SDK.
Трафик с телевизора и других бытовых приборов
Чтобы изучить трафик с телевизора, смартфона жены или других бытовых приборов, которые подключены в домашнюю сеть по Ethernet и WiFi, придётся записывать PCAP на маршрутизаторе. Иногда достаточно встроенных инструментов. Если у вас маршрутизатор с прошивкой DD-WRT, то можно прямо на устройстве запустить tcpdump :
Для прошивки OpenWrt есть вариант зеркалировать трафик с помощью iptables-mod-tee.
Можно зеркалировать и записывать трафик с помощью дополнительного физического хаба или врезки в сеть. Подробнее см. в документации.
Другой способ — перехватить беспроводной трафик WiFi с помощью утилиты Airodump-ng без подключения к маршрутизатору. Но это больше подходит для анализа трафика на чужих хотспотах.
Далее всё по накатанной — загружаем файлы в Wireshark, запускаем фильтры.
Кстати, Wireshark поддерживает также анализ трафика USB: встроенный сниффер USBPcap и импорт пакетов из сторонних снифферов, таких как Npcap и RawCap.
Termshark
Если вы анализируете объёмные логи на удалённом сервере, но не хотите копировать всё на свою машину, может пригодиться Termshark — удобный пользовательский интерфейс в консоли для анализатора TShark, по внешнему виду напоминающий Wireshark.
Функции
Вот как выглядит версия под Android:
Wireshark как веб-приложение
Если по каким-то причинам вы не можете запустить Wireshark на локальной машине, можно воспользоваться облачным сервисом CloudShark, который сделан на удивление качественно.
Основная функция — совместная работа и публикация разборов пакетов по URL. Например, cloudshark.org/captures/05aae7c1b941. Файлы загружаются в облако и анализируются в браузере. Это нужно, если вы хотите спросить совета на форуме, поделиться информацией с коллегами или опубликовать разбор пакетов для широкой аудитории. Кстати, удобно использовать с мобильного телефона, ведь под Android есть приложения для захвата пакетов, а вот хорошего анализатора нет.
Сервис платный, есть 30-дневный пробный период.
В общем, Wireshark — просто фантастическая программа на все случаи жизни.
Кроме реальной практической пользы, анализатор даёт примерное представление о том, как работает фильтрация DPI у российских провайдеров. Там всё устроено примерно так же. Система в реальном времени сканирует трафик, фильтрует конкретно пакеты от Twitter — и замедляет их доставку пользователям на территории России. В частности, этим непотребством занимается Роскомнадзор с 10 марта 2021 года.
На правах рекламы
Если для работы необходим сервер в аренду на Linux или Windows, то вам однозначно к нам — активация услуги через минуту после оплаты!