как с помощью wireshark узнать ip устройства
Использование Wireshark для получения IP-адреса неизвестного хоста
Что такое Wireshark и IP-адреса?
Вывод Wireshark на следующий уровень
Wireshark очень хорош в том, что он делает, но из коробки он предлагает только базовую функциональность. Как только вы обнаружите IP-адрес неизвестного хоста, вы можете захотеть увидеть его производительность в сети.
Средство просмотра времени отклика SolarWinds для Wireshark (БЕСПЛАТНЫЙ ИНСТРУМЕНТ)
Средство просмотра времени отклика SolarWinds для Wireshark бесплатный плагин для Wireshark, который позволяет вам отслеживать время задержки в вашей сети. Если ваши машины работают медленно, и вам нужно выяснить, почему, это отличный инструмент для работы.
Средство просмотра времени отклика SolarWinds для WiresharkDownload 100% БЕСПЛАТНЫЙ инструмент
Монитор производительности сети SolarWinds (БЕСПЛАТНАЯ ПРОБНАЯ ВЕРСИЯ)
Они также предлагают полнофункциональный Монитор производительности сети (NPM) для корпоративных сетей. Монитор производительности сети SolarWinds может рассчитывать время отклика приложения, пинговать ваши устройства с помощью интеллектуальных оповещений, создавать базовые показатели производительности и даже отслеживать весь стек Cisco. Читатели Comparitech могут попробовать его без риска в течение 30 дней.
Монитор производительности сети SolarWindsСкачать 30-дневную бесплатную пробную версию
Поиск IP-адреса с помощью Wireshark с использованием ARP-запросов
ARP немного более надежен, чем использование DHCP-запроса, о котором я расскажу ниже, потому что даже хосты со статическим IP-адресом будут генерировать трафик ARP при запуске.
Чтобы получить IP-адрес неизвестного хоста через ARP, запустите Wireshark и начните сеанс с фильтром захвата Wireshark, установленным в агр, как показано выше.
Затем дождитесь появления неизвестного хоста. Я использую свой мобильный телефон и включаю и выключаю соединение WiFi. Независимо от того, когда неизвестный хост подключается к сети, он генерирует один или несколько ARP запросы. Это те рамки, которые вы должны искать.
Как только вы заметили запрос, нажмите на него. Используйте Wireshark’s Просмотр сведений о пакете проанализировать кадр. Посмотрите на Протокол разрешения адресов раздел рамы, особенно IP-адрес отправителя и MAC-адрес отправителя.
В этом случае вы можете видеть, что мой телефон получил IP-адрес 192.168.1.182 от маршрутизатора, и вы можете идентифицировать устройство как телефон Apple, посмотрев на OUI поставщика..
Поиск IP-адреса с помощью Wireshark с использованием запросов DHCP
Чтобы захватить трафик DHCP, я хотел бы начать новый сеанс без фильтра захвата и установить фильтр отображения Wireshark на udp.port == 67 как показано выше. Затем дождитесь появления неизвестного хоста и запросите IP-адрес с вашего DHCP-сервера..
Вы также можете заставить каждый хост в вашей сети запрашивать новый IP-адрес, установив время аренды на час или два и захватив трафик. В этом случае вы хотите просматривать имена хостов, пока не найдете целевой клиент.
Обратите внимание, что у захваченного кадра IP-адрес источника равен 0.0.0.0. Это нормально, пока хост не назначит действительный IP-адрес сервером DHCP..
Нажмите на захваченный кадр и посмотрите на Просмотр сведений о пакете. Просматривайте, пока не найдете запись для Протокол начальной загрузки и нажмите на стрелку, чтобы развернуть ее.
Прокрутите список параметров, пока не найдете Запрашиваемый IP-адрес, который показывает, что DHCP-сервер попытался назначить. Практически в каждом случае это соотносится с IP-адресом хост-машины, несмотря на то, что он сформулирован как запрос.
Вы также можете найти несколько других полезных опций, таких как Время аренды IP-адреса и Имя хоста неизвестного клиента, запрашивающего адрес.
Получение IP-адреса неизвестного хоста с помощью Wireshark
каталог компьютерных инструкций
Определяем ip адрес устройства по mac адресу
Мне известно два способа как узнать ip адрес по известному mac адресу:
рассмотрим их подробно.
Используем wireshark
Программа позволяет пользователю просматривать весь проходящий по сети трафик в режиме реального времени, переводя сетевую карту в неразборчевый режим.
Данное ПО бесплатное и с открытым кодом http://www.wireshark.org/download.html
На скриншоте ниже мы видим — ip адрес устройства 192.168.2.1
Используем arp (Address Resolution Protocol)
Если нет физического доступа к устройству, можно воспользоваться следующим алгоритмом:
LanScope это многопотоковый сканер сети. При обращении к устройствам в сети в кэш arp автоматически заносится соответствие ip — mac.
Скачать LanScope http://lantricks.ru/lanscope/ Программа бесплатна.
Можно отказаться от LanScope и вручную или при помощи скрипта пинговать устройства, при этом будет значительный проигрыш во времени.
Wireshark фильтр по IP, по порту, по протоколу, по MAC
Любой анализатор протоколов должен иметь возможность не только захватить трафик, но и помочь эффективно его проанализировать. Основное отличие коммерческого анализатора протоколов от бесплатного – наличие встроенной экспертной системы, которая позволит быстро разобрать буфер по сервисам или типам ошибок. Что позволит существенно ускорить время локализации проблемы и работать с уже отсортированной и предварительно оцененной для вас информацией. Тут можно обратить внимание на решения от VIAVI Solutions под названием Observer или на ClearSight Analyzer от компании Netscout.
В случае если не выделяют бюджет, а проблемы есть, то остается запастись терпением и кофе и установить себе Wireshark. В сетях передачи данный на скоростях 1 Гбит/сек и выше буфер захвата трафика заполняется мгновенно и на выходе получается достаточно большой массив данных. Этот массив данных, понимая взаимодействие между различными устройствами в сети можно отфильтровать по разным параметрам. Для этого Wireshark имеет несколько возможностей:
Цветовая кодировка ошибочных пакетов — можно настроить под себя. Пакеты, которые несут в себе ошибку, будут выделены в буфере специальным цветом.
Фильтр через строку фильтрации. Вы имеете большой опыт в работе с Wireshark и протоколами и можете ввести фильтр самостоятельно. Большой выбор фильтров можно найти здесь.
Выделение любой области в пакете, правый клик мыши и «Применить как фильтр». Метод для начинающих: очень удобно, так как не надо ломать голову.
Какие основные фильтры существуют для отображения трафика?
Wireshark фильтр по протоколу
Достаточно в строке фильтра ввести название протокола и нажать ввод. На экране останутся пакеты, которые относятся к искомому протоколу. Таким образом, фильтр выглядит:
Если буфер захвата необходимо отфильтровать по нескольким протоколам, то необходимо перечислить все желаемые протоколы и разделить их знаком ||. Например:
Wireshark фильтр по IP адресу и фильтр по MAC
В зависимости от направления трафика фильтр будет немного отличаться. Например, мы хотим отфильтровать по IP адресу отправителя 50.116.24.50:
По получателю фильтр будет выглядеть ip.dst == x.x.x.x, а если хотим увидеть пакеты в независимости от направления трафика, то достаточно ввести:
Если мы анализируем трафик внутри локальной сети и знаем MAC адрес пользователя, то можно указать в качестве фильтра Wireshark его MAC адрес, например:
Wireshark фильтр по номеру порта
При анализе трафика мы можем настроить фильтр по номеру порта, по которому осуществляет передачу трафика тот или иной протокол. Номера всех зарегистрированных портов можно узнать здесь. Пример:
Так же как и с адресами IP и MAС мы можем отдельно фильтровать по портам получения или отправления tcp.srcport и tcp.dstport. Кроме указания номеров портов Wireshark дает отличную возможность отфильтровать буфер по флагам в TCP протоколе. Например, если мы хотим увидеть TCP пакеты с флагом SYN (установление соединения между устройствами), то вводим в строке поиска:
Популярные фильтры
В таблице ниже приведены наиболее популярные фильтры для отображения содержимого буфера захвата:
Руководство и шпаргалка по 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, то вам однозначно к нам — активация услуги через минуту после оплаты!