Wireshark как посмотреть трафик роутера

Обновлено: 03.07.2024

Wireshark - это мощный сетевой анализатор, который может использоваться для анализа трафика, проходящего через сетевой интерфейс вашего компьютера. Он может понадобиться для обнаружения и решения проблем с сетью, отладки ваших веб-приложений, сетевых программ или сайтов. Wireshark позволяет полностью просматривать содержимое пакета на всех уровнях: так вы сможете лучше понять как работает сеть на низком уровне.

Все пакеты перехватываются в реальном времени и предоставляются в удобном для чтения формате. Программа поддерживает очень мощную систему фильтрации, подсветку цветом, и другие особенности, которые помогут найти нужные пакеты. В этой инструкции мы рассмотрим, как пользоваться Wireshark для анализа трафика. Недавно разработчики перешли к работе над второй веткой программы Wireshark 2.0, в неё было внесено множество изменений и улучшений, особенно для интерфейса. Именно её мы будем использовать в этой статье.

Основные возможности Wireshark

Перед тем, как переходить к рассмотрению способов анализа трафика, нужно рассмотреть, какие возможности поддерживает программа более подробно, с какими протоколами она может работать и что делать. Вот основные возможности программы:

Программа имеет множество других функций, но это были те основные, которые могут вас заинтересовать.

Как пользоваться Wireshark

Я предполагаю, что программа у вас уже установлена, но если нет, то вы можете ее установить из официальных репозиториев. Для этого наберите команду в Ubuntu:

sudo apt install wireshark

После установки вы сможете найти программу в главном меню дистрибутива. Запускать Wireshark нужно с правами суперпользователя, потому что иначе она не сможет анализировать сетевые пакеты. Это можно сделать из главного меню или через терминал с помощью команды для KDE:

А для Gnome / Unity:

Главное окно программы разделено на три части: первая колонка содержит список доступных для анализа сетевых интерфейсов, вторая - опции для открытия файлов, а третья - помощь.


Анализ сетевого трафика

Для начала анализа выберите сетевой интерфейс, например eth0, и нажмите кнопку Start.


После этого откроется следующее окно, уже с потоком пакетов, которые проходят через интерфейс. Это окно тоже разделено на несколько частей:

  • Верхняя часть - это меню и панели с различными кнопками;
  • Список пакетов - дальше отображается поток сетевых пакетов, которые вы будете анализировать;
  • Содержимое пакета - чуть ниже расположено содержимое выбранного пакета, оно разбито по категориям в зависимости от транспортного уровня;
  • Реальное представление - в самом низу отображается содержимое пакета в реальном виде, а также в виде HEX.

Вы можете кликнуть по любому пакету, чтобы проанализировать его содержимое:


Здесь мы видим пакет запроса к DNS, чтобы получить IP-адрес сайта, в самом запросе отправляется домен, а в пакете ответа мы получаем наш вопрос, а также ответ.

Для более удобного просмотра можно открыть пакет в новом окне, выполнив двойной клик по записи:


Фильтры Wireshark

Перебирать пакеты вручную, чтобы найти нужные, очень неудобно, особенно при активном потоке. Поэтому для такой задачи лучше использовать фильтры. Для ввода фильтров под меню есть специальная строка. Вы можете нажать Expression, чтобы открыть конструктор фильтров, но там их очень много, поэтому мы рассмотрим самые основные:

Для указания отношения между полем и значением в фильтре можно использовать такие операторы:

Для объединения нескольких выражений можно применять:

  • && - оба выражения должны быть верными для пакета;
  • || - может быть верным одно из выражений.

Теперь рассмотрим подробнее на примерах несколько фильтров и попытаемся понять все знаки отношений.


А чтобы получить не только отправленные пакеты, но и полученные в ответ от этого узла, можно объединить два условия:

ip.dst == 194.67.215.125 || ip.src == 194.67.215.125


Дальше отберём пакеты с ttl меньше 10:


Также мы можем отобрать переданные большие файлы:

Отфильтровав Content-Type, мы можем выбрать все картинки, которые были загружены; выполним анализ трафика Wireshark, пакеты, которого содержат слово image:

Чтобы очистить фильтр, вы можете нажать кнопку Clear. Бывает, вы не всегда знаете всю необходимую для фильтрации информацию, а просто хотите изучить сеть. Вы можете добавить любое поле пакета в качестве колонки и посмотреть его содержимое в общем окне для каждого пакета.

Например, я хочу вывести в виде колонки ttl (время жизни) пакета. Для этого откройте информацию о пакете, найдите это поле в разделе IP. Затем вызовите контекстное меню и выберите опцию Apply As Column:

Далее вы увидите нужную колонку после обновления:


Таким же образом можно создать фильтр на основе любого нужного поля. Выберите его и вызовите контекстное меню, затем нажмите Apply as filter или Prepare as filter, затем выбираем Selected, чтобы вывести только выбранные значения, или Not selected, чтобы их убрать:


Указанное поле и его значение будет применено или во втором случае подставлено в поле фильтра:


Еще одна интересная возможность программы - использование Wireshark для отслеживания определённого сеанса между компьютером пользователя и сервером. Для этого откройте контекстное меню для пакета и выберите Follow TCP stream.


Затем откроется окно, в котором вы найдете все данные, переданные между сервером и клиентом:


Диагностика проблем Wireshark


Окно разделено на такие вкладки, как Errors, Warnings, Notices, Chats. Программа умеет фильтровать и находить множество проблем с сетью, и тут вы можете их очень быстро увидеть. Здесь тоже поддерживаются фильтры Wireshark.


Анализ трафика Wireshark

Вы можете очень просто понять, что именно скачивали пользователи и какие файлы они смотрели, если соединение не было зашифровано. Программа очень хорошо справляется с извлечением контента.


Далее в открывшемся окне вы увидите все доступные перехваченные объекты. Вам достаточно экспортировать их в файловую систему. Вы можете сохранять как картинки, так и музыку.

Дальше вы можете выполнить анализ сетевого трафика Wireshark или сразу открыть полученный файл другой программой, например плеером.

Выводы

В этой статье мы рассмотрели, как пользоваться Wireshark 2 для анализа сетевого трафика, а также примеры решения проблем с сетью. Это очень мощная утилита, которая имеет очень много функций. Всю её функциональность невозможно охватить в одной статье, но приведенной здесь базовой информации будет вполне достаточно, чтобы вы могли сами освоить всё необходимое.

Привет, друг. В одном из прошлых материалов мы с тобой разбирались как данные передаются в сетях и как разные сетевые элементы взаимодействуют между собой. Если ты пропустил эту статью она ЗДЕСЬ. Всё это нам было нужно, чтобы подготовится к практической части изучения такой непростой темы как перехват и анализ трафика. И начнём мы изучать практическую часть с изучения утилиты Wireshark. Возникает логичный вопрос: почему именно Wireshark? Всё просто, он обладает несколькими особенностями которые выделяют его среди конкурентов:

Установка Wiredhark и первый запуск

wireshark

сразу после запуска, нам предложат выбрать сетевой интерфейс для запуска захвата. Можем так и сделать. Или, если мы хотим поработать с ранее захваченным трафиком, сохраненным в файл, можем нажать File->Open и выбрать нужный файл.

Выбираем интересующий нас сетевой интерфейс (wlan0mon) и дважды давим на него.

Интерфейс Wireshark

интерфейс wireshark

Пройдёмся по интерфейсу сверху вниз:

Настройка Wireshark

Общие параметры самого приложения WIreshark находятся во вкладке Edit->Preferences. Их можно настроить в зависимости от своих потребностей или предпочтений. Но я бы, на стадии знакомства с программой, не рекомендовал туда лезть. С опытом использования программы и работы с трафиком, понимание что тебе нужно подкрутить для удобства придет само. А потому просто кратко перечислим какие здесь есть разделы:

настройка wireshark

  • 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

handshake

это означает, что рукопожатие мы получили, а значит успех близок. Вернемся в Wireshark.

В Filter Toolbar нужно написать:

wireshark

настройка протокола

key

сразу после этого захваченный трафик будет расшифрован и начнет приобретать более вразумительный и понятный вид.

Анализ трафика в Wireshark

Как ты наверняка заметил файлы перехвата содержат огромное количество строк, и что бы быстро в них ориентироваться нужно научится делать несколько вещей:

Практика анализа трафика беспроводных сетей

Я уже упоминал, что для сбора трафика в беспроводной сети нужно использовать режим мониторинга сетевого адаптера, но в этом режиме будет работать именно наш сетевой адаптер. Но при этом, для понимания ситуации в целом, неплохо бы знать в каких вообще режимах могут работать сетевые адаптеры:

  • Управляемый режим (Managed mode). Применяется в том случае, если клиент беспроводной сети подключается непосредственной к точке беспроводного доступа. В подобных случаях программный драйвер, связанный с адаптером беспроводной связи, использует точку беспроводного доступа для управления всем процессом обмена данными по беспроводной сети.
  • Режим прямого подключения (Ad-hoc mode). Применяется в том случае, если организована беспроводная сеть, в которой устройства подключаются непосредственно друг к другу. В этом режиме два клиента беспроводной сети, которым требуется обмениваться данными друг с другом, разделяют обязанности, которые обычно возлагаются на точку беспроводного доступа.
  • Ведущий режим (Master mode). Некоторые адаптеры беспроводной связи поддерживают также ведущий режим. В этом режиме адаптеру беспроводной связи разрешается работать вместе со специальным программным драйвером, чтобы компьютер, на котором установлен этот адаптер, действовал в качестве точки беспроводного доступа для других устройств.
  • Режим мониторинга, его ещё называю режим контроля (Monitor mode). Это тот самый режим который мы будем использовать для перехвата и анализа пакетов. Позволяет прослушивать пакеты, распространяемые в эфире. Для полноценного перехвата и анализа пакетов адаптер вместе с программным драйвером должен поддерживать режим текущего контроля, называемый также режимом RFMON, т.е. режимом радиочастотного контроля.

Схематично принцип действия режимов можно нарисовать так:

режимы сетевого адаптера

Фильтры Wireshark

В беспроводной сети весь сетевой трафик, сформированный беспроводными клиентами, сосуществует в общих каналах. Это означает, что перехваченные пакеты в каком-нибудь одном канале могут содержать сетевой трафик от нескольких клиентов, а соответственно что бы находить интересующую информацию нужно научится отфильтровывать лишнюю. Поэтому, давай разберем наиболее часто применяемые фильтры при анализе беспроводных сетей:

Фильтрация по идентификатору

Wireshark собирает данные всех сетей находящихся в радиусе действия сетевого адаптера, поэтому наиболее логично первоначально отфильтровать трафик конкретной сети, которая нас интересует. Сделать это можно по имени беспроводной сети (SSID):

фильтры wireshark

Часто используемые фильтры Wireshark

Не менее полезным, в некоторых ситуациях будет отфильтровать трафик по используемому каналу связи:

arp

можно увидеть трафик передаваемый по протоколу ARP, это даст возможность понять какие устройства в данный момент подключены к локальной сети, увидеть их MAC и IP адреса.

Также довольно часто используются такие фильтры:

покажет отправленные dns-запросы, так можно узнать какие сайты посещал пользователь и какими онлайн-ресурсами пользовался.

отфильтрует трафик связанный с конкретным IP (где он был получателем или отправителем).

покажет tcp трафик, по такому же принципу можно отфильтровать трафик по любому другому протоколу, например udp или icmp.

Кстати, что бы сохранить какой-нибудь найденный файл надо нажать на него правой кнопкой мыши в окне Packet Details и выбрать Export Packet Bytes и указать место куда его нужно сохранить:

Export Packet Bytes

Ну, что. Если ты дочитал до этого места, значит можешь смело утверждать, что у тебя уже есть базовые знания по Wireshark. И ты уже, в принципе, немало можешь понять из перехваченного трафика. Поэтому не забывай возвращаться к нам. Ведь в следующих уроках по это программе мы изучим синтаксис и операторы фильтров, разберемся как победить зашифрованный SSL/TLS трафик, разберемся с дешифраторами, более детально разберем некоторые сетевые протоколы и, конечно же, попрактикуемся в анализе сетевого трафика на конкретных примерах.



Пакет с сертификатами от Хабра

Wireshark — очень известная программа для захвата и анализа сетевого трафика, незаменимый инструмент хакера, сетевого инженера, программиста, специалиста по безопасности. Да вообще любого любознательного человека, который хочет детально изучить трафик со своего или чужого мобильного телефона, фитнес-браслета, телевизора.

Wireshark в реальном времени перехватывает сетевые пакеты и сохраняет, например, в файлах pcap (Packet Capture). Их потом используют для изучения трафика, восстановления информации, анализа работы сети, обнаружения атак. Это альтернатива и дополнение к стандартной утилите tcpdump , с графическим интерфейсом, фильтрами и более широкими возможностями.

В 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 на его компьютер, достаточно только скачать дамп с ключами, а потом использовать его вместе с дампом трафика.


Анализируем трафик с другого компьютера

Если нужно разобраться с сервером в продакшне, то удобно скопировать оттуда файлы pcap — и проанализировать трафик на личном компьютере.

Записываем пакеты на сервере с помощью сниффера пакетов tcpdump, который входит в стандартный комплект *nix:


Затем копируем файлы к себе на компьютер:


Здесь уже запускаем Wireshark и открываем полученный файл.

Есть вариант отслеживать серверный трафик в реальном времени со своего домашнего/рабочего компьютера. Например, весь трафик, кроме портов 22 и 53:


Примерно то же самое с компьютера под Windows:

Ищем проблемы

Чтобы выделить конкретное TCP-соединение, находим любой интересующий пакет, щёлкаем по нему правой кнопкой мыши — и применяем фильтр диалога.


Теперь из всего записанного трафика остались только пакеты, принадлежащие конкретно этому соединению.


На скриншоте мы видим пакеты с начала установки соединения TLS: пакет с приветствием клиента, ответный пакет с приветствием сервера, предъявленный сертификат, список шифров и так далее. Содержимое каждого пакета можно изучить отдельно. Очень удобно.

Типичный паттерн — использовать Wireshark для диагностики конкретных проблем. Например, в случае разрыва TLS-соединения мы можем зайти и посмотреть, кто его разорвал (клиент или сервер), на каком этапе это произошло и по какой причине.

Содержимое пакетов

Отключение сетевого интерфейса Intel происходит, если по адресу 0x47f находится значение 2 или 3, то есть 32 HEX или 33 HEX. Если там 4, то всё нормально.


Поиск пакетов по содержанию

Выше мы применили фильтр диалога, чтобы выдать все пакеты для конкретного TCP-соединения. Однако фильтры можно писать и вручную. Вот некоторые примеры запросов:

  • frame contains "google" — поиск всех пакетов со словом “google” в любом месте пакета
  • tcp.port == 443 — порт 443
  • dns.resp.len > 0 — все DNS-ответы
  • ip.addr == 95.47.236.28 — конкретный IP-адрес для получателя или отправителя

Трафик с мобильного телефона

Аналогичным образом можно проанализировать трафик с фитнес-часов по 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 — удобный пользовательский интерфейс в консоли для анализатора TShark, по внешнему виду напоминающий Wireshark.

Функции

  • Чтение файлов pcap и прослушивание трафика с активных интерфейсов в реальном времени (где разрешён tshark)
  • Фильтрация pcap или активных интерфейсов с помощью фильтров отображения Wireshark
  • Повторная сборка и инспектирование потоков TCP и UDP
  • Просмотр сетевых сеансов по каждому протоколу
  • Копирование выделенных пакетов из консоли в буфер обмена
  • Инструмент написан на языке Go, на каждой платформе компилируется в единый исполняемый файл: есть уже собранные версии для Linux, macOS, вариантов BSD, Android (termux) и Windows


Вот как выглядит версия под Android:


Если по каким-то причинам вы не можете запустить Wireshark на локальной машине, можно воспользоваться облачным сервисом CloudShark, который сделан на удивление качественно.


Сервис платный, есть 30-дневный пробный период.

В общем, Wireshark — просто фантастическая программа на все случаи жизни.

Кроме реальной практической пользы, анализатор даёт примерное представление о том, как работает фильтрация DPI у российских провайдеров. Там всё устроено примерно так же. Система в реальном времени сканирует трафик, фильтрует конкретно пакеты от Twitter — и замедляет их доставку пользователям на территории России. В частности, этим непотребством занимается Роскомнадзор с 10 марта 2021 года.

На правах рекламы

Если для работы необходим сервер в аренду на Linux или Windows, то вам однозначно к нам — активация услуги через минуту после оплаты!

Слушаем wifi с помощью wireshark

Трафик будем слушать с помощью программы Wireshark. Есть много утилит для анализа сетевой активности (ngrep, tcpdump, mitmproxy), но Wireshark пожалуй самая популярная и имеет огромный функционал.

Опишу работу программы на примере таких задач:

Все действия я выполнял на ноутобуке MacBook Pro с OS X Yosemite, на других устройствах возможно что-то будет по-другому.

Небольшой дисклеймер: все ваши действия на вашей совести и ответсвенности. Не используйте описанные здесь техники во вред кому-либо.

Сетевые пакеты локального интерфейса (localhost)

Итак, устанавливаем wireshark. Запускаем, заходим в меню Capture -> Intefaces.

ws interface

ws http filter

Сейчас мы будем ловить сетевые пакеты, передающееся от нашего браузера к django development серверу и обратно. Есть особенности, связанные именно с django сервером.

Прослойка будет выставлять Content-Length в ответах.

Теперь запустим простой django проект, который на главной странице отображает имя текущего пользователя, а так же форму для логина и пароля. Если пользователь не залогинен, то вместо имени показываем AnonymousUser.

Если мы не задали 'ConditionalGetMiddleware', то скорее всего увидим только запрос:

localhost request only

Ответ все же можно увидеть, выбрав запрос и зайдя в Analyse->Follow TCP Stream:

localhost request only follow tcp

localhost request response

localhost request response follow tcp

Ну пока не очень интересно, только поковырялись с wireshark. Но давайте попробуем залогиниться.

Вводим логин+пароль и нажимаем Login. В wireshark увидим 4 новых фрейма: POST запрос, редирект на главную страницу (ответ 302), запрос на получение главной, ответ главной страницы:

localhost four new frames

Проследим внимательно за передаваемой информацией.

localhost login password

Логин и пароль как на ладони.

localhost 302 session

Следующим идет запрос главной страницы, в куках передается id сессии:

localhost session in request

Вывелось Hello, alex , значит мы зашли под пользователем alex.

Сетевые пакеты нашей локальной машины во внешний мир

Послушаем внешние сетевые запросы нашего компьютера.

В wireshark выбираем Capture -> Intefaces, ставим галочку напротив en0 и нажимаем Start:

my wifi interface

my wifi lexev

Видно id сессии, можно делать с ней все что захочешь.

Сетевые пакеты других пользователей открытой wifi сети

До сих пор мы слушали только свои запросы и ответы. Но гораздо интересней послушать других пользователей.

Зайдем в кафе с открытой wifi сетью, запустим wireshark. Заходим в Capture -> Intefaces, выбираем соответствующий интерфейс и нажимаем Options (не Start). Видим что-то такое:

public wifi options

Дважды щелкаем на интерфейс и ставим галочку напротив Capture packets in monitor mode:

public wifi monitor model

Ok, Start. Все, теперь мы слушаем всю сеть (кроме нас самих).

Для этого зададим такой хитрый фильтр:

на этапе выбора интерфейса (кнопка Options):

public wifi capture filter

public wifi admin session

Ради интереса попробуем войти, введя логин и пароль. Смотрите все:

public wifi admin login and password

Все как на ладони.

Сетевые пакеты других пользователей в закрытой wifi сети

Допустим есть wifi сеть с WPA шифрованием. В интерфейсах выберем wifi, включим для него monitor mode (все как для открытой сети, только без Capture фильтра) и попробуем послушать сетевые пакеты. В результатах будет что-то такое:

private undercrypted

Мы видим зашифрованные данные. Но, если мы знаем пароль от wifi, то можем расшифровать пакеты. Для этого заходим в Edit -> Preferences. Выбираем Protocol -> IEEE 802.11.

private IEEE

Нажимаем Edit напротив Decryption Keys. Далее New. В новом окошке вводим:

Соответственно заменяем password на пароль от wifi сети, а wifiname - на название сети.

private wifi password

private wifi decrypted

Послушаем открытую wifi сеть

Вот так можно сохранить поля "номер фрейма", "HTTP метод", "full_uri"

Написав небольшой python скриптик, подсчитал количество запросов на каждый url и сгруппировал по доменам второго уровня. Вот 20 самых популярных доменов, на которые заходили:

Способы защиты

Читайте также: