Wireshark как снять дамп с ip телефона
Анализ TCP-пакетов в сети - лучший способ найти и устранить общие проблемы с сетью. Этот навык рано или поздно пригодится каждому инженеру программного обеспечения, не зависимо от специфики задач, которые перед ним стоят. В этом материале мы познакомим вас с инструментарием, который понадобится вам для этой работы, включая Wireshark и другие программные средства!
Генерация дампов TCP
Чтобы, к примеру, установить tcpdump (Ubuntu), используйте команду: «apt-get install tcpdump».
Запуск TCPDUMP
Ниже приведены некоторые из наиболее часто используемых команд с аргументами, которые могут быть полезны при создании дампов TCP с различным уровнем информации. Вы можете использовать большинство аргументов для определения необходимого уровня детализации и применения фильтров. Вам также потребуется доступ с правами суперпользователя (root) для запуска следующих команд:
- «tcpdump -D»: показать все доступные интерфейсы;
- «tcpdump -i eth0»: захватить трафик на интерфейсе «eth0»;
- «tcpdump -i any»: захватить трафик на любом интерфейсе;
- «tcpdump -i wlan0 port 80»: захватить трафик на интерфейсе «wlan0», проходящий через порт 80;
- «tcpdump -i wlan0 -c 5»: захватить 5 пакетов на интерфейсе «wlan0»;
- «tcpdump -i wlan0 tcp»: захватить только TCP-трафик на интерфейсе «wlan0»;
- «tcpdump -i wlan0 src 192.168.1.1»: захватить трафик на интерфейсе «wlan0», источником которого является IP-адрес 192.168.1.1;
- «tcpdump -i wlan0 dst 192.168.1.1»: захватить трафик на интерфейсе «wlan0», отправляемый по IP-адрес 192.168.1.1;
- «tcpdump “src port 22” and “dst host 1.2.3.4”»: несколько разных команд tcpdump, объединенные с помощью булевых операторов;
- «tcpdump -i wlan0 -s 65535»: захватить трафик на интерфейсе «wlan0» размером 65535 байт. Значением по умолчанию на данный момент является 262144 байт (более старые версии tcpdump по умолчанию захватывали всего 68 или 96 байт);
- «tcpdump -i wlan0 -w dump.pcap»: захватить трафик на интерфейсе «wlan0» и записать результат в файл библиотеки libpcap (расширение «.pcap»);
- «tcpdump -r dump.pcap»: прочитать захваченный файл (более предпочтительно для анализа файлов «.pcap» использовать Wireshark).
Примечание. Если вы планируете анализировать пакеты с помощью Wireshark, вам необходимо записывать их в файл «.pcap» с помощью аргумента «-w».
Ниже приведена команда, которую мы можем вам рекомендовать использовать в тех случаях, когда вы не планируете использовать слишком много фильтров и хотите проанализировать захваченные пакеты с помощью Wireshark:
Предварительная обработка и анализ с помощью Wireshark
После создания файла «.pcap» с помощью утилиты tcpdump вы можете для анализа вашего трафика использовать богатый инструментарий графического пользовательского интерфейса программы-анализатора трафика Wireshark. Более подробно о том, как использовать Wireshark, читайте в этом разделе. Но прежде, чем перейти непосредственно к анализу, необходимо провести предварительную обработку собранных вами результатов. Среди важных вещей, которые требуют вашего внимания, следующие:
Чтобы изменить формат даты и времени в WireShark используйте «View -> Time Display Format» («Вид» -> «Формат отображения времени»).
Способ, с помощью которого Wireshark отображает временные отметки, поначалу может сбить с толку. Если вы анализируете TCP-пакеты и хотите сравнить результаты с какими-либо другими лог-файлами сервера, вам необходимо скоррелировать временные метки, и для этого важно понимать, как сдвигать время в пакетах.
Например, у вас есть сервер ESB WSO2, работающий в часовом поясе UTC-7:00. Ваши лог-файлы ESB-системы будут сгенерированы по времени этого часового пояса, как и дампы TCP, так как будут созданы на этом же сервере. Затем вы пытаетесь проанализировать дампы TCP из часового пояса UTC+2:00.
Теперь предположим, что некий TCP-пакет прошел через ESB-сервер в 8 часов утра 7 января 2019 года. Но когда вы откроете этот дамп TCP в своей часовой зоне для анализа времени этого пакета, оно будет отображаться как 5 часов вечера 7 января 2019 года. Это связано с тем, что Wireshark корректирует время пакета в соответствии с вашим часовым поясом.
Но когда вы захотите сравнить эти данные, например, с лог-файлами ESB-сервера, который находиться не в вашей временной зоне, а в часовом поясе UTC-7:00, вы не сможете сделать это корректно. Поэтому сначала вам нужно сдвинуть время в TCP-пакетах на 9 часов, после чего вы сможете связать его с временными метками лог-файла сервера WSO2 ESB.
Таким образом, при работе с инструментарием editcap для выше озвученного нами примера вам стоит ввести: «editcap -t 32400 mytcpdump.pcap», что будет соответствовать увеличению временных меток в вашем файле «mytcpdump.pcap» на 32400 секунд, то есть на необходимые нам +9 часов.
Выводы
Если вы столкнулись с необходимостью устранить общие проблемы с сетью, то лучший способ сделать это — проанализировать поток TCP-пакетов в сети. Инструментарий для такого анализа доступен совершенно бесплатно и не сложен в работе. Для тех, кто хочет узнать больше, в статье вы найдёте ссылки, по которым сможете почерпнуть больше информации по всем вопросам, которые возникнут у вас в процессе работы!
Подписывайтесь на рассылку, делитесь статьями в соцсетях и задавайте вопросы в комментариях!
Этот вид мониторинга может показаться агрессивным, однако имейте ввиду, что ваш провайдер также хранит эти данные в логах и имеет право продавать информацию на сторону.
Допустим, нужно узнать, какие приложения используются на телефоне. Если вы находитесь в одной Wi-Fi сети с целевым устройством, задача решается очень просто. Достаточно запустить Wireshark и сконфигурировать несколько параметров. Мы будем использовать эту утилиту для расшифровки трафика, зашифрованного при помощи WPA2, и после анализа выясним, какие приложения запущены на телефоне.
Хотя сеть с шифрованием лучше, чем без, разница исчезает, когда злоумышленник и вы находитесь в одной сети. Если кто-то еще знает пароль к Wi-Fi сети, которую вы используете, при помощи WireShark легко выяснить, чем вы занимаетесь сию секунду. Кроме того, злоумышленник может узнать все приложения, запущенные на телефоне, и сосредоточиться на тех, которые потенциально могут быть уязвимыми.
Дешифровка зашифрованных пакетов
Когда в вашей Wi-Fi сети используется шифрование при помощи технологии WPA2, безопасность сессии основана на двух составляющих. Во-первых, пароль, используемый для генерации гораздо более длинного числа (PSK или pre-shared key). Во-вторых, собственно само рукопожатие, происходящее во время установки соединения. Если злоумышленник получает PSK к Wi-Fi и наблюдает, как вы подключаетесь к сети (или на некоторое время сбрасывает ваше соединение), то впоследствии сможет расшифровать ваш Wi-Fi трафик и узнать, чем вы занимаетесь.
Как работает схема
Для реализации атаки необходимо выполнение нескольких условий. Во-первых, нужен пароль. Кроме того, нужно быть рядом с жертвой для перехвата трафика и уметь отключить целевое устройство от сети для повторного подключения. Мы запустим Wireshark, выполним настройки, связанные с дешифровкой Wi-Fi пакетов, добавим PSK и дождемся EAPOL пакетов с целевого устройства, пытающегося подключиться к сети.
Что понадобится
Вам понадобится карта беспроводного сетевого адаптера с режимом мониторинга (беспроводной сети) и смартфон с iOS или Android, подключенный к Wi-Fi, которую вы собираетесь мониторить. Вы можете попрактиковаться на открытой сети, чтобы примерно понимать, какие результаты вы получите, поскольку вначале расшифровка может не сработать. Кроме того, вам нужно знать пароль и имя сети, которую вы хотите мониторить. В этом случае вы сможете вычислить ключ PSK, позволяющий дешифровать трафик в режиме реального времени.
Шаг 1. Загрузка Wireshark и подключение к Wi-Fi сети
Загрузите и установите Wireshark, после чего подключитесь к целевой Wi-Fi сети. Если вы планируете использовать PSK, а не сетевой ключ, нужно сделать вычисления при помощи WPA PSK Generator, поскольку во время перехвата у вас может не быть доступа к интернету (зависит от используемой карты).
После установки откройте Wireshark и взгляните на перечень сетевых интерфейсов. Перед началом перехвата нам понадобится настроить некоторые опции, чтобы карта перехватывала в нужном режиме.
Рисунок 1: Перечень сетевых интерфейсов
Шаг 2. Настройка перехвата в Wireshark
В меню Wireshark кликните иконку в виде шестеренки, чтобы зайти в раздел «Capture options»
Рисунок 2: Интерфейс Wireshark
Появится окно Capture Interfaces (Интерфейсы перехвата), как показано на рисунке ниже.
Рисунок 3: Перечень интерфейсов
Шаг 3. Перехват и сканирование EAPOL пакетов
Если вы не подключены к сети, где находится цель, то не увидите ни одного пакета, поскольку можете оказаться в другом случайном канале. Причина заключается в неспособности Wireshark на переключение канала, в котором находится беспроводной сетевой адаптер.
Рисунок 4: Перехваченные пакеты
Шаг 4. Дешифровка трафика при помощи PSK
Теперь, когда у нас появились рукопожатия, можно приступать к расшифровке трафика. Вначале нужно добавить сетевой пароль или PSK. Зайдите в выпадающее меню «Wireshark» и выберите раздел «Preferences». Затем кликните на «Protocols».
Рисунок 5: Настройки, связанные с протоколами
В разделе Protocols выберите «IEEE 802.11» и кликните на флажок «Enable decryption». Для добавления сетевого ключа кликните на «Edit», рядом с надписью «Decryption keys». В открывшемся окне добавьте пароли и PSK.
Рисунок 6: Активация дешифровки
Рисунок 7: Добавление ключа
По завершению процедуры кликните на «OK» в разделе Preferences. Теперь Wireshark должен пересканировать и попробовать дешифровать все перехваченные пакеты. По некоторым причинам эта схема может не сработать. У меня практически всегда работало при наличии качественного рукопожатия (EAPOL) и при переключении между сетевым паролем и PSK. В случае успешной расшифровки мы можем перейти к следующему шагу и проанализировать трафик для выяснения, какие приложения работают на устройстве.
После снятия защиты с трафика, можно приступать к расшифровке пакетов и выяснению, чем занимаются устройства в Wi-Fi сети, по которым получены рукопожатия, в режиме реального времени.
1. DNS запросы
Просмотр интересных пакетов начнем с DNS запросов, используемых приложением для проверки неизменности IP-адресов, к которым происходит подключение. Обычно происходит обращение к именам доменов, содержащих имена приложений, что значительно упрощает идентификацию программы, которая работает на iPhone и Android и выполняет запросы.
Рисунок 8: Перечень DNS запросов
Использование приложения Signal – хорошая идея, но в связке с VPN еще лучше. Причины? Даже при открытии Signal происходит взаимообмен, показанный ниже, что свидетельствует о коммуникации через мессенджер с шифрованием.
Рисунок 10: Пример запроса мессенджера Signal
Во время прослушивания песен в приложении Shazam создаются следующие запросы:
Рисунок 11: Пример запроса во время прослушивания песен в Shazam
При открытии Uber создаются запросы следующего содержания:
Рисунок 12: Пример запроса при открытии приложения Uber
Ниже виден эффект, возникающий при открытии Venmo (приложение для перевода денежных средств). Удачный момент для перенаправления запроса куда-нибудь в другое место.
Рисунок 13: Пример запроса, отправляемый приложением Venmo
Рисунок 14: Пример содержимого раздела Hypertext Transfer Protocol у пакета
Рисунок 15: Сайт приложения WeChat
Если мы хотим увидеть всю историю резолвинга, то можем зайти во вкладку «Statistics» и выбрать «Resolved Addresses» для просмотра всех доменов, которые были преобразованы во время перехвата. Здесь должен быть полный список служб, к которым подключалось устройство через запущенные приложения.
Рисунок 16: Список доменов, к которым проходило подключение
Вышеуказанный список позволяет еще быстрее понять, что представляет собой целевое устройство.
Заключение
Этот вид мониторинга может показаться агрессивным, однако имейте ввиду, что ваш провайдер также хранит эти данные в логах и имеет право продавать информацию на сторону. Если вы хотите защититься от слежки подобного рода, начните пользоваться VPN, что позволяет скрыть даже локальный трафик при помощи надежного шифрования. В других местах, где вы, вероятно, можете делать что-то конфиденциальное через ненадежное соединение, используйте сотовую систему передачи данных для предотвращения подобного рода атак.
Надеюсь, это руководство, посвященное перехвату Wi-Fi трафика при помощи Wireshark, вам понравилось.
Привет, друг. В одном из прошлых материалов мы с тобой разбирались как данные передаются в сетях и как разные сетевые элементы взаимодействуют между собой. Если ты пропустил эту статью она ЗДЕСЬ. Всё это нам было нужно, чтобы подготовится к практической части изучения такой непростой темы как перехват и анализ трафика. И начнём мы изучать практическую часть с изучения утилиты Wireshark. Возникает логичный вопрос: почему именно Wireshark? Всё просто, он обладает несколькими особенностями которые выделяют его среди конкурентов:
Установка Wiredhark и первый запуск
сразу после запуска, нам предложат выбрать сетевой интерфейс для запуска захвата. Можем так и сделать. Или, если мы хотим поработать с ранее захваченным трафиком, сохраненным в файл, можем нажать File->Open и выбрать нужный файл.
Выбираем интересующий нас сетевой интерфейс (wlan0mon) и дважды давим на него.
Интерфейс Wireshark
Пройдёмся по интерфейсу сверху вниз:
Настройка Wireshark
Общие параметры самого приложения WIreshark находятся во вкладке Edit->Preferences. Их можно настроить в зависимости от своих потребностей или предпочтений. Но я бы, на стадии знакомства с программой, не рекомендовал туда лезть. С опытом использования программы и работы с трафиком, понимание что тебе нужно подкрутить для удобства придет само. А потому просто кратко перечислим какие здесь есть разделы:
- Appearance (Внешний вид). Грубо говоря здесь определяется внешний вид программы. Положение окон, расположение основных панелей, расположение полосы прокрутки и столбцов в панели Packet List, шрифты, а также цвета фона и шрифтов.
- Capture (Перехват). В этом разделе можно настроить порядок перехвата пакетов. В том числе стандартный интерфейс для перехвата, параметры обновления панели Packet List в реальном времени.
- Filter Expressions (Фильтрующие выражения). Здесь можно создавать фильтры сетевого трафика и управлять ими. Этот момент мы обсудим отдельно.
- Name Resolution (Преобразование имен). В этом разделе активируются средства Wireshark, позволяющие преобразовывать адреса в имена, более удобные для понимания. В том числе адреса канального, сетевого и транспортного уровня. А также можно указывать максимальное количество параллельных запросов на преобразование имен.
- Protocols (Протоколы). В этом разделе находятся параметры, влияющие на перехват и отображение различных пакетов, которые Wireshark может декодировать. Правда настраивать параметры можно далеко не для всех протоколов. Да и в большинстве случаев, без острой на то необходимости, менять здесь ничего не надо.
- Statistics (Статистика). Название раздела говорит само за себя, здесь находятся параметры отображения и ведения статистики.
- Advanced (Продвинутый). Параметры которые не вошли не в одну из перечисленных категорий, либо предназначены для более тонкой настройки функционала. Вот сюда точно лезть не нужно.
Если ты планируешь в большей мере работать с трафиком беспроводных сетей, то есть смысл немного кастомизировать рабочие области Wireshark для большего удобства. А именно добавить несколько дополнительных столбцов, информация из которых поможет значительно сэкономить время.
Перейдем в Edit->Preferences и во вкладке Appearance выберем раздел Columns. Здесь жмем на плюсик и добавляем такие колонки, с такими параметрами:
Расшифровка беспроводного трафика
При передаче данных по wi-fi трафик шифруется с использованием ключа PTK (Pairwise Transient Key). При этом этот ключ динамичный, то есть создаётся заново для каждого нового соединения. А соответственно трафик для каждого соединения в одной и той же сети зашифрован разными PTK. Когда какой-нибудь клиент переподключается, то и PTK тоже меняется. Что бы этот самый PTK узнать необходимо перехватить четырёх этапное рукопожатие. Ну и знать пароль, имя (SSID) wi-fi сети и канал на котором она работает.
Перехват handshake
Как узнать пароль wi-fi сети я статью уже писал, поэтому примем за аксиому что он у тебя есть. А SSID и канал мы и так видим в Wireshark, вопрос остаётся только в PTK. Соответственно нужно перехватить рукопожатие и не какое-нибудь, а именно то которое произошло между интересующим нас клиентом и точкой доступа непосредственно перед обменом интересующей нас информацией. Наш адаптер уже в режиме мониторинга, и необходимые нам данные мы видим в Packet Details при нажатии на пакет из интересующей нас сети:
Можем сразу открываем терминал и запускаем перехват рукопожатия:
ждать повторных подключений мы не будем, поэтому помогаем отключится всем устройствам в сети:
и спустя небольшой промежуток времени видим в правом верхнем углу нашего терминала появилась надпись: WPA handshake
это означает, что рукопожатие мы получили, а значит успех близок. Вернемся в Wireshark.
В Filter Toolbar нужно написать:
сразу после этого захваченный трафик будет расшифрован и начнет приобретать более вразумительный и понятный вид.
Анализ трафика в Wireshark
Как ты наверняка заметил файлы перехвата содержат огромное количество строк, и что бы быстро в них ориентироваться нужно научится делать несколько вещей:
Практика анализа трафика беспроводных сетей
Я уже упоминал, что для сбора трафика в беспроводной сети нужно использовать режим мониторинга сетевого адаптера, но в этом режиме будет работать именно наш сетевой адаптер. Но при этом, для понимания ситуации в целом, неплохо бы знать в каких вообще режимах могут работать сетевые адаптеры:
- Управляемый режим (Managed mode). Применяется в том случае, если клиент беспроводной сети подключается непосредственной к точке беспроводного доступа. В подобных случаях программный драйвер, связанный с адаптером беспроводной связи, использует точку беспроводного доступа для управления всем процессом обмена данными по беспроводной сети.
- Режим прямого подключения (Ad-hoc mode). Применяется в том случае, если организована беспроводная сеть, в которой устройства подключаются непосредственно друг к другу. В этом режиме два клиента беспроводной сети, которым требуется обмениваться данными друг с другом, разделяют обязанности, которые обычно возлагаются на точку беспроводного доступа.
- Ведущий режим (Master mode). Некоторые адаптеры беспроводной связи поддерживают также ведущий режим. В этом режиме адаптеру беспроводной связи разрешается работать вместе со специальным программным драйвером, чтобы компьютер, на котором установлен этот адаптер, действовал в качестве точки беспроводного доступа для других устройств.
- Режим мониторинга, его ещё называю режим контроля (Monitor mode). Это тот самый режим который мы будем использовать для перехвата и анализа пакетов. Позволяет прослушивать пакеты, распространяемые в эфире. Для полноценного перехвата и анализа пакетов адаптер вместе с программным драйвером должен поддерживать режим текущего контроля, называемый также режимом RFMON, т.е. режимом радиочастотного контроля.
Схематично принцип действия режимов можно нарисовать так:
Фильтры Wireshark
В беспроводной сети весь сетевой трафик, сформированный беспроводными клиентами, сосуществует в общих каналах. Это означает, что перехваченные пакеты в каком-нибудь одном канале могут содержать сетевой трафик от нескольких клиентов, а соответственно что бы находить интересующую информацию нужно научится отфильтровывать лишнюю. Поэтому, давай разберем наиболее часто применяемые фильтры при анализе беспроводных сетей:
Фильтрация по идентификатору
Wireshark собирает данные всех сетей находящихся в радиусе действия сетевого адаптера, поэтому наиболее логично первоначально отфильтровать трафик конкретной сети, которая нас интересует. Сделать это можно по имени беспроводной сети (SSID):
Часто используемые фильтры Wireshark
Не менее полезным, в некоторых ситуациях будет отфильтровать трафик по используемому каналу связи:
можно увидеть трафик передаваемый по протоколу ARP, это даст возможность понять какие устройства в данный момент подключены к локальной сети, увидеть их MAC и IP адреса.
Также довольно часто используются такие фильтры:
покажет отправленные dns-запросы, так можно узнать какие сайты посещал пользователь и какими онлайн-ресурсами пользовался.
отфильтрует трафик связанный с конкретным IP (где он был получателем или отправителем).
покажет tcp трафик, по такому же принципу можно отфильтровать трафик по любому другому протоколу, например udp или icmp.
Кстати, что бы сохранить какой-нибудь найденный файл надо нажать на него правой кнопкой мыши в окне Packet Details и выбрать Export Packet Bytes и указать место куда его нужно сохранить:
Ну, что. Если ты дочитал до этого места, значит можешь смело утверждать, что у тебя уже есть базовые знания по Wireshark. И ты уже, в принципе, немало можешь понять из перехваченного трафика. Поэтому не забывай возвращаться к нам. Ведь в следующих уроках по это программе мы изучим синтаксис и операторы фильтров, разберемся как победить зашифрованный SSL/TLS трафик, разберемся с дешифраторами, более детально разберем некоторые сетевые протоколы и, конечно же, попрактикуемся в анализе сетевого трафика на конкретных примерах.
При отладке (диагностике) сервиса IP-телефонии очень трудно анализировать VoIP-трафик. Существует ли более удобный и эффективный способ отладки VoIP с помощью программы-анализатора трафика Wireshark?
В программе Wireshark реализован удобный механизм для диагностики (анализа) VoIP-звонков, в частности можно получить графическую диаграмму звонков и посмотреть, как происходил обмен данными. Wireshark позволяет анализировать протокол SIP и его RTP-трафик.
Продемонстрируем это на примере.
Предположим, что во время выполнения VoIP-звонка с помощью программы Wireshark был выполнен захват сетевых пакетов и этот дамп следует проанализировать.
1. Откройте ранее сохраненный файл с дампом VoIP-пакетов.
2. Выберите SIP или RTP-пакет из списка (в нашем примере анализируем RTP-трафик). Для фильтрации пакетов вы можете в поле Filter ввести значение sip или rtp для отображения только определенного типа трафика.
3. Зайдите в меню Statistics (или Telephony, в зависимости от версии программы) > VoIP Calls.
Откроется окно VoIP Calls со списком VoIP-звонков.
В списке VoIP-звонков показывается следующая информация для каждого звонка:
- Start Time: Время начала звонка.
- Stop Time: Время окончания звонка.
- Initial Speaker: IP-адрес источника пакетов, который инициировал звонок.
- From: Для SIP-звонков в поле "From" отображается запрос INVITE.
- To: Для SIP-звонков в поле "To" отображается запрос INVITE.
- Protocol: Протокол.
- Packets: Число пакетов, участвующих в звонке.
- State: Статус звонка.
- Comment: Дополнительные комментарии.
4. Выберите VoIP-вызов и затем нажмите кнопку Graph (или Flow, в зависимости от версии программы). Появится окно Graph Analysis с графической диаграммой обмена данными VoIP-звонка.
Читайте также: