Руководство пользователя
Официальное руководство пользователя сниффера Wireshark доступно на английском языке (русского нет) в различных версиях:
⦁ онлайн руководство: https://www.wireshark.org/docs/wsug_html_chunked
⦁ скачать руководство в архиве.
Wireshark — это мощный сетевой анализатор, который может использоваться для анализа трафика, проходящего через сетевой интерфейс вашего компьютера. Он может понадобиться для обнаружения и решения проблем с сетью, отладки ваших веб-приложений, сетевых программ или сайтов. Wireshark позволяет полностью просматривать содержимое пакета на всех уровнях: так вы сможете лучше понять как работает сеть на низком уровне.
Все пакеты перехватываются в реальном времени и предоставляются в удобном для чтения формате. Программа поддерживает очень мощную систему фильтрации, подсветку цветом, и другие особенности, которые помогут найти нужные пакеты. В этой инструкции мы рассмотрим, как пользоваться Wireshark для анализа трафика. Недавно разработчики перешли к работе над второй веткой программы Wireshark 2.0, в неё было внесено множество изменений и улучшений, особенно для интерфейса. Именно её мы будем использовать в этой статье.
Перед тем, как переходить к рассмотрению способов анализа трафика, нужно рассмотреть, какие возможности поддерживает программа более подробно, с какими протоколами она может работать и что делать. Вот основные возможности программы:
- Захват пакетов в реальном времени из проводного или любого другого типа сетевых интерфейсов, а также чтение из файла;
- Поддерживаются такие интерфейсы захвата: Ethernet, IEEE 802.11, PPP и локальные виртуальные интерфейсы;
- Пакеты можно отсеивать по множеству параметров с помощью фильтров;
- Все известные протоколы подсвечиваются в списке разными цветами, например TCP, HTTP, FTP, DNS, ICMP и так далее;
- Поддержка захвата трафика VoIP-звонков;
- Поддерживается расшифровка HTTPS-трафика при наличии сертификата;
- Расшифровка WEP-, WPA-трафика беспроводных сетей при наличии ключа и handshake;
- Отображение статистики нагрузки на сеть;
- Просмотр содержимого пакетов для всех сетевых уровней;
- Отображение времени отправки и получения пакетов.
Программа имеет множество других функций, но это были те основные, которые могут вас заинтересовать.
Как настроить ограничение трафика
Нас интересует как можно изменить ограничения по интернет-трафику, чтобы в полной мере воспользоваться услугами доступа в Интернет, предоставляемыми оператором мобильной связи.
Кликаем «Ограничение мобильных» (2 на рис. 4), после чего появится окно:
Рис. 5. Ограничить передачу данных
Дублирую сообщение в окне «Ограничить передачу данных» (рис. 5):
«Подключение для передачи данных будет отключено при достижении указанного ограничения. Использование данных измеряется на устройстве, и поставщик услуг может по-другому рассчитывать трафик, поэтому установите более жесткое ограничение.»
Здесь мы можем только кликнуть по кнопке «ОК», подтверждая наше желание ограничить передачу данных, чтобы не переплачивать и чтобы Андроид следил за объемом трафика и вовремя прекращал бы доступ к Интернету.
Задаем лимит на объем передаваемых данных
Далее мы можем отрегулировать контролируемый лимит на объем передаваемых данных в Интернете (рис. 6).
Рис. 6. Установлено ограничение на трафик — 5 ГБ
На рис. 6 видно, что установлено ограничение на интернет-трафик 5 Гигабайт. Если кликнуть по цифре 5,0 Гб, которую видно на экране Андроида, то в появившемся окне (рис. 7) мы сможем установить любой другой лимит, набирая цифры на онлайн клавиатуре, например, 15 Гб.
Рис. 7. Можно задать лимит трафика с помощью онлайн-клавиатуры
А можно просто «подвигать» верхнюю линию, ограничивающую трафик в 15 гб, как показано на рис. 8. Двигать нужно, зацепив линию в том месте, где стоит жирная точка – на противоположном конце от надписи 15 гб. Линия легко двигается как вверх, так и вниз.
Рис. 8. Установлен лимит трафика 15 гб.
Будем двигать линию, ограничивающую лимит трафика вниз, зацепив ее за жирную точку, справа вверху (обведена в рамку на рис. 8).
Таким образом, например, установим верхний лимит на цифре 2,9 гб (рис. 9). Также можно двигать, зацепив за жирную точку, и линию «Предупреждение». Данная линия показывает, при каком объеме трафика на Андроиде будет выведено предупреждение о достижении заданного лимита, но при этом не будут включены ограничения, у Андроида останется доступ к Интернету. А вот уже при достижении верхней границы (в варианте на рис. 9 – это 2,9 гб) Интернет отключится.
Для тех, кому «лень» двигать черную линию вверх или вниз, могут просто кликнуть по цифре возле строки «Предупреждение», чтобы с помощью экранной клавиатуры (рис. 7) указать величину трафика, при котором будет получено предупреждение.
Рис. 9. Окончательно установленные значения Предупреждения и Ограничения трафика Интернета на Андроиде
Более тонкие настройки: Куда «уплывает» трафик интернета в Android и как его экономить
Итоги
Вот, в общем-то и все премудрости установки предупреждения и ограничения мобильного Интернет трафика на Андроиде. Надо сказать, что установленные предупреждения и ограничения действуют на Андроиде при любом варианте пользования Интернетом, будь то выход в Интернет на Андроиде, либо превращение Андроида в точку доступа для «раздачи Wi-Fi», использование мобильных приложений с доступом в Интернет, пользование электронной почтой и др. Весь трафик будет учитываться данной системой контроля ограничения доступа.
К сожалению, трафик, который считает Андроид, может не совпадать с трафиком, который считает сам мобильный оператор. В моей практике было, когда Андроид еще не ограничил доступ в Интернет, а мобильный оператор уже резко снизил скорость Интернета или вообще отключил его.
Чтобы избежать подобного несоответствия (а хочется нам этого или нет, мобильные операторы и устройство Андроид все-таки всегда будут считать трафик по-разному), на Андроиде полезно установить ограничения трафика чуть меньше, чем предполагает мобильный оператор.
В частности, на рис. 9 показана установка ограничения 2,9 гб при заданном лимите 3,0 гб от мобильного оператора. При такой установке ограничений противоречий между Андроидом и сотовым оператором не произойдет, и Андроид вовремя уведомит, а затем и отключит Интернет, не дожидаясь, пока это сделает сам мобильный оператор.
Дополнительные материалы:
1. 9 советов по энергосбережению Андроид
2. Как передать файлы с Андроида на компьютер и наоборот без Интернета
3. Видеозвонки на Андроид: 8 приложений
4. Как поставить приложение на Андроид: 2 способа
5. Потерян сотовый телефон: как можно найти
Распечатать статью
Получайте актуальные статьи по компьютерной грамотности прямо на ваш почтовый ящик. Уже более 3.000 подписчиков
.
Важно: необходимо подтвердить свою подписку! В своей почте откройте письмо для активации и кликните по указанной там ссылке. Если письма нет, проверьте папку Спам
Цветовые правила Wireshark
В то время как фильтры захвата и отображения Wireshark ограничивают, какие пакеты записываются или отображаются на экране, его функция окраски делает шаг вперед: он может различать разные типы пакетов на основе их индивидуального оттенка. Это позволяет быстро найти определенные пакеты в сохраненном наборе по цвету строки на панели списка пакетов.
Wireshark содержит около 20 правил раскраски по умолчанию, каждое из которых можно редактировать, отключать или удалять. Выберите View > Coloring Rules для обзора того, что означает каждый цвет. Вы также можете добавить свои собственные фильтры на основе цвета.
Выберите « Просмотр» > « Colorize Packet List», чтобы включить или выключить раскраску пакетов.
Использование фильтров Wireshark
Одним из наиболее важных наборов функций в Wireshark является возможность фильтрации, особенно когда вы имеете дело с файлами, имеющими значительный размер. Фильтры захвата можно установить перед фактом, указав Wireshark только запись тех пакетов, которые соответствуют вашим указанным критериям.
Фильтры также могут быть применены к уже созданному файлу захвата, чтобы были показаны только определенные пакеты. Они называются фильтрами отображения.
По умолчанию Wireshark предоставляет большое количество предопределенных фильтров, позволяя сузить количество видимых пакетов всего несколькими нажатиями клавиш или щелчками мыши. Чтобы использовать один из этих существующих фильтров, поместите свое имя в Применить фильтр отображения поле ввода, расположенное непосредственно под панелью инструментов Wireshark или в Введите фильтр захвата поле ввода, расположенное в центре экрана приветствия.
Существует несколько способов достижения этого. Если вы уже знаете имя своего фильтра, введите его в соответствующее поле. Например, если вы хотите отображать только TCP-пакеты, вы вводите ТСР, Функция автозаполнения Wireshark показывает предлагаемые имена при вводе текста, что упрощает поиск правильного прозвища для фильтра, который вы ищете.
Другой способ выбрать фильтр — щелкнуть значок закладки, расположенный в левой части поля ввода. Это представляет собой меню, содержащее некоторые из наиболее часто используемых фильтров, а также возможность Управление фильтрами захвата или же Управление отображаемыми фильтрами, Если вы решите управлять любым типом, появится интерфейс, позволяющий добавлять, удалять или редактировать фильтры.
Вы также можете получить доступ к ранее использованным фильтрам, выбрав стрелку вниз в правой части поля ввода, чтобы отобразить раскрывающийся список истории.
После установки фильтры захвата применяются, как только вы начинаете запись сетевого трафика. Чтобы применить фильтр отображения, нажмите кнопку со стрелкой в правой части поля ввода.
Как пользоваться Wireshark
В большинстве случаев анализ перехваченного трафика происходит в офлайн-режиме. Сначала его сохраняют в файл (дамп) и только потом проводят исследование
Такой подход позволяет снизить риск ошибок, приводящих к потере важной информации (например, когда неправильно настроили в Wireshark встроенные фильтры или была неверно поставлена задача по перехвату). Сохраненный файл доступен для повторного анализа без ограничений
Основные приемы:
- Поиск по пакетам. Открывается панель поиска стандартной комбинацией клавиш Ctrl+F. После активации режима доступно несколько вариантов поиска. Наиболее востребованный режим «Дисплейный фильтр», он предназначен для обнаружения пакетов, отвечающих заданному выражению. Второй интересный вариант – «Строка».
- Отметка пакетов. Все интересующие нас пакеты помечаются цветовым выделением с помощью комбинации кнопок Ctrl+M (или через пункт выпадающего меню после нажатия правой кнопки мыши «Выполнить/Отменить пометку пакета»). Перемещение между ними работает комбинациями Shift+Ctrl+N (следующий) и Shift+Ctrl+B (предыдущий).
- Фильтры. Задают критерии исключения и включения в анализируемую подборку пакетов. Чем больше анализируемый дамп, тем детальнее фильтруется информация. Это упрощает работу с потоком данных и снижает риски механических ошибок пользователя.
Проще всего изучать функционал программы в «родной» сети, будет полезно попрактиковаться в переключении режимов сетевых адаптеров. Программа поддерживает 4 разных формата: управляемый, прямого подключения, ведущий и режим мониторинга. Их выбор позволяет менять способ подключения в зависимости от типа адаптера и поставленной задачи.
В любом случае оптимально сначала опробовать все возможности и лишь затем пытаться применять утилиту по прямому назначению.
Установка Wiredhark и первый запуск
Теперь давай запустим Wireshark и начнём с ним работать. Кстати в таких системах как Kali Linux и Parrot Security он уже предустановлен. А для винды и яблока его можно скачать на официальном сайте. Ну, а я буду использовать его на Parrot Security. Кстати есть мнение, в том числе разработчиков Wireshark, что использовать его на Windows — тот ещё тот мазохизм. Особенно для перехвата wi-fi трафика, во первых нужно устанавливать дополнительные драйвера — WinPcap. Но самая главная проблема в том, что режим мониторинга сетевого адаптера в Windows работает максимально криво.
Небольшое отступление. В этом гайде, в процессе использования Wireshark нас в первую очередь будет интересовать трафик передаваемый через беспроводные сети, причём желательно чужой трафик. Мы ведь тут собрались не для того чтоб неисправности в сети искать, правда? И ты правильно догадался (если догадался) что я плавно подвожу к режиму мониторинга wi-fi адаптера. Если ты забыл то он нужен чтобы видеть весь трафик, а не только предназначенный нашей сетевой карте. Включаем:
Ну а теперь точно можно запускать Wireshark. Это можно сделать из вкладки «Приложения», а можно из терминала:
сразу после запуска, нам предложат выбрать сетевой интерфейс для запуска захвата. Можем так и сделать. Или, если мы хотим поработать с ранее захваченным трафиком, сохраненным в файл, можем нажать File->Open и выбрать нужный файл.
Выбираем интересующий нас сетевой интерфейс (wlan0mon) и дважды давим на него.
Интерфейс Wireshark
Перед нами появится основное окно программы с которым мы будем проводить больше всего времени. И сразу начнут перехватываться данные. Пока что нажмём «Стоп» (красный квадратик в левом верхнем углу) и порассматриваем интерфейс программы.
Пройдёмся по интерфейсу сверху вниз:
- В самом верху, под главным меню, находится панель с кнопками — это Main Toolbar. Здесь находятся основные элементы управления программой — старт/стоп и настройки захвата, открытие/закрытие файлов захвата, навигация по пакетам и управлением размером текста;
- Сразу под ней находится — Filter Toolbar — здесь мы будем вписывать фильтры и операторы, но об этом чуть позже;
- Ещё ниже находится — Packet List . Это таблица в которой отображаются все пакеты из текущей сессии перехвата или из открытого файла перехвата;
- Под ним — Packet Details — здесь отображаются сведения о выбранном пакете (выбирать пакеты можно в Packet List);
- И самое нижнее окошко — Packet Bytes. Здесь показаны исходные данные пакета в необработанном виде, т.е. в том виде, в каком пакет передаётся по сети. (Сейчас бы начать тебе про интерпретацию пакетов рассказывать, но это в другой раз)
Как включить интерфейсы Wireshark, если они недоступны
При запуске программы вы можете увидеть такое сообщение. Это означает, что программа не видит ни одного вашего подключения: ни по кабелю, ни по беспроводному соединению.
Первое, что нужно сделать – перезагрузить компьютер. Программа начинает функционировать только после перезапуска.
Вторая возможная и самая распространенная причина – у вас не скачан WinPcap. Это бесплатные библиотеки от Windows, которые нужны программе Wireshark. Скачайте их в сети интернет, перезагрузите компьютер и попробуйте снова.
Под статьей вы найдете объемное видео, которое расскажет вам о более глубоком интерфейсе программы.
На этой странице вы найдете ответы на самые популярные вопросы по снифферу WireShark:
⦁ где скачать WireShark бесплатно;
⦁ почему не надо скачивать Wireshark с торрентов;
⦁ где взять WireShark на русском (русификатор);
⦁ где взять инструкции для WireShark на русском,
⦁ руководство по работе с WireShark.
Wireshark — это очень мощный и один из лучших в мире сниффер для захвата и декодирования сетевого трафика. Предоставляет возможность декодировать более 500 различных протоколов сетей передачи данных и телекоммуникационных протоколов, включая протоколы сотовой связи. Он является де-факто (и часто де-юре) стандартом во многих отраслях промышленности и образовательных учреждениях во всем мире. Многие производители коммерческих продуктов используют его в своих решениях как декодировщик.
Программа WireShark абсолютно бесплатна и постоянно дорабатывается несколькими авторами на пожертвования от спонсоров с далекого 1998 года.
Как захватить пакеты данных с Wireshark
Когда вы запускаете Wireshark, на экране приветствия перечисляются доступные сетевые подключения на вашем текущем устройстве. Справа от каждого из них представлен линейный график в стиле ЭКГ, представляющий живой трафик в этой сети.
Чтобы начать захват пакетов с помощью Wireshark:
-
Выберите одну или несколько сетей, перейдите в строку меню, затем выберите « Захват» .
Чтобы выбрать несколько сетей, удерживайте клавишу Shift во время выбора.
-
В окне « Интерфейсы захвата Wireshark» выберите « Пуск» .
Существуют и другие способы инициирования захвата пакетов. Выберите акульи плавники на левой стороне панели инструментов Wireshark, нажмите Ctrl + E , или дважды щелкните по сети.
-
Выберите « Файл» > « Сохранить как» или выберите опцию « Экспорт» для записи записи.
-
Чтобы остановить запись, нажмите Ctrl + E . Или перейдите на панель инструментов Wireshark и выберите красную кнопку « Стоп» , расположенную рядом с плавником акулы.
Фильтры Wireshark
В беспроводной сети весь сетевой трафик, сформированный беспроводными клиентами, сосуществует в общих каналах. Это означает, что перехваченные пакеты в каком-нибудь одном канале могут содержать сетевой трафик от нескольких клиентов, а соответственно что бы находить интересующую информацию нужно научится отфильтровывать лишнюю. Поэтому, давай разберем наиболее часто применяемые фильтры при анализе беспроводных сетей:
Фильтрация по идентификатору
Wireshark собирает данные всех сетей находящихся в радиусе действия сетевого адаптера, поэтому наиболее логично первоначально отфильтровать трафик конкретной сети, которая нас интересует. Сделать это можно по имени беспроводной сети (SSID):
хотя наиболее корректно будет отфильтровать по bssid. BSSID — это идентификатор базового набора услуг (Basic Service Set Identifier). Он присваивается каждой точке и идентифицирует её, при этом он посылается в каждом беспроводном пакете управления и пакете данных из передающей точки доступа. BSSID записывается в заголовок пакета и это и есть MAC адрес нашей точки доступа. Посмотрев его в заголовке, можем создать фильтр чтобы видеть трафик проходящий только через нужную точку доступа:
Часто используемые фильтры Wireshark
Не менее полезным, в некоторых ситуациях будет отфильтровать трафик по используемому каналу связи:
Используя фильтр:
можно увидеть трафик передаваемый по протоколу ARP, это даст возможность понять какие устройства в данный момент подключены к локальной сети, увидеть их MAC и IP адреса.
Также довольно часто используются такие фильтры:
покажет отправленные dns-запросы, так можно узнать какие сайты посещал пользователь и какими онлайн-ресурсами пользовался.
отфильтрует трафик связанный с конкретным IP (где он был получателем или отправителем).
покажет tcp трафик, по такому же принципу можно отфильтровать трафик по любому другому протоколу, например udp или icmp.
Если мы видим, что соединение с сайтом не защищено т.е. происходит по протоколу http, это открывает перед нами большие возможности. Мы можем увидеть передаваемые данные, в том числе данные авторизации и данные форм, загружаемые и открываемые файлы, передаваемые и установленные cookie,
http | отфильтровать http трафик |
http.host == «адрес» | показать запросы к определённому сайту |
http.cookie | http-запросы в которых передавались cookie |
http.set_cookie | запросы в которых были установлены cookie в браузер |
http.content_type contains «image» | поиск любых переданных изображений, можно конкретизировать заменив «image» на «jpeg» или другие. |
http.authorization | поиск запросов авторизации |
http.request.uri contains «zip» | поиск определённого типа файлов. zip — заменить на нужное |
Кстати, что бы сохранить какой-нибудь найденный файл надо нажать на него правой кнопкой мыши в окне Packet Details и выбрать Export Packet Bytes и указать место куда его нужно сохранить:
Ну, что. Если ты дочитал до этого места, значит можешь смело утверждать, что у тебя уже есть базовые знания по Wireshark. И ты уже, в принципе, немало можешь понять из перехваченного трафика. Поэтому не забывай возвращаться к нам. Ведь в следующих уроках по это программе мы изучим синтаксис и операторы фильтров, разберемся как победить зашифрованный SSL/TLS трафик, разберемся с дешифраторами, более детально разберем некоторые сетевые протоколы и, конечно же, попрактикуемся в анализе сетевого трафика на конкретных примерах.
Твой Pulse.
Как использовать образцы захвата
Если вы хотите попрактиковаться в использовании Wireshark, но ваша собственная сеть по какой-либо причине недоступна, используйте «выборочные захваты» — отличная альтернатива. Примеры захвата предоставляют вам пакетные данные другой сети. Вы можете скачать образец снимка, зайдя на вики-сайт Wireshark.
На вики-сайте Wireshark представлены различные примеры файлов захвата, которые можно загрузить по всему сайту. После того, как вы загрузили образец захвата, вы можете использовать его, нажав Файл > Откройте и затем нажмите на свой файл.
Файлы захвата также можно найти из следующих источников:
- ICIR
- OpenPacket
- PacketLife
Сделайте захват трафика с помощью Wireshark в Windows 10
Мы использовали операционную систему Windows 10 для захвата трафика, но в системах Linux или macOS это точно так же, поскольку у нас точно такой же графический интерфейс пользователя. Первое, что мы увидим при запуске этой программы — это все сетевые карты и сетевые интерфейсы нашего компьютера, в нашем случае у нас всего три проводные сетевые карты (ASUS XG-C100C, Realtek 2.5G и Intel 1G), сеть Wi-Fi с одной картой (Wi-Fi 2), кроме того, у нас есть разные виртуальные сетевые интерфейсы, соответствующие интерфейсам VMware и Virtual Box.
Wireshark позволяет нам захватывать трафик любой сетевой карты, как физической, так и виртуальной, нам просто необходимо четко определить, какая сетевая карта используется в настоящее время, и от которой мы хотим захватывать сетевой трафик. В нашем случае это ASUS XG-C100C, поэтому мы просто дважды щелкаем по этой карте.
Двойной щелчок автоматически начинает захватывать весь сетевой трафик, как входящий, так и исходящий. Некоторые рекомендации ДО выполнения захвата трафика следующие:
- Закройте все программы, генерирующие сетевой трафик, который мы не хотим захватывать
- Убедитесь, что брандмауэр отключен, поскольку он может блокировать определенный трафик и не будет отображаться в Wireshark, или появится только часть сгенерированного трафика.
- Если мы хотим перехватить некоторый трафик данных, генерируемый приложением, рекомендуется подождать 1 секунду, прежде чем запускать его, и захватить сетевой трафик с компьютера, затем запустить это приложение и, наконец, закрыть приложение и подождать 1 секунду, прежде чем прекратить захват трафика.
С этими рекомендациями мы уверены, что захват трафика будет успешным.
В этом захвате трафика вы видите трафик из разных протоколов, как трафик из протокола Spanning-Tree сети, так и трафик TCP и трафик TLSv1.2 из разных приложений, которые мы открываем.
С каждым вводом данных мы сможем отобразить и детально увидеть весь пакет данных, как на уровне приложений, так и на транспорте, на уровне сети, в каналах связи, а также на физическом уровне, то есть Wireshark предоставит нам информацию по слоям, чтобы найти информацию, которую мы должны знать более легко.
Конечно, он также скажет нам, что такое порты источника и назначения, если мы используем TCP или UDP, и мы даже можем заранее увидеть порядковые номера, и если в соединении был RST, или если сегмент должен был быть переадресовано из-за проблемы.
На следующем снимке экрана вы можете увидеть результат выполнения команды «nslookup www.redeszone.net» через консоль, сделать DNS запрос к нашему DNS-серверу, и он автоматически ответит с разрешением DNS, сделанным из предыдущего домена
Конечно, этот трафик «смешивается» с другим трафиком, который у нас есть на нашем компьютере от различных приложений, по этой причине так важно закрыть все приложения, которые используют подключение к Интернету, прежде чем начать захват трафика
Здесь вы можете увидеть ответ DNS-сервера на предыдущий запрос DNS:
Если мы сделаем типичный пинг, используя протокол ICMP, он также покажет нам отлично, он покажет нам как «Эхо-запрос», так и «Эхо-ответ».
Как вы видели, с помощью Wireshark очень легко собирать данные для анализа всего сетевого трафика. Если мы хотим сохранить этот захват, нам просто нужно нажать на красную кнопку «Стоп», чтобы остановить захват данных, а затем нажать «Файл / Сохранить», чтобы сохранить его.
Этот захват может быть сохранен на нашем компьютере или на внешнем носителе для последующего анализа или отправлен эксперту, который способен обнаружить проблему, хотя вы должны иметь в виду, что он будет иметь доступ ко всему захваченному трафику, поэтому вы должны отправить этот захват кого-то, кому вы доверяете. Если мы перехватили трафик с помощью TLS или IPsec, вам потребуется соответствующий ключ дешифрования, поэтому вы не можете «прочитать» его без этой информации, то же самое относится и к трафику WPA / WPA2, без ключа вы не можете прочитать внутренний трафик.
Мы надеемся, что это руководство поможет вам захватывать трафик данных с помощью этой замечательной программы, и вы сможете обнаруживать проблемы в сети.
Что такое Wireshark
Сия утилита предназначена для контроля интернет трафика. Она перехватывает TCP пакеты, которые были приняты компьютером или посланы с него. Функционал программы настолько богат, что простым перехватом дело не ограничивается. Можно просматривать содержимое пакетов, искать ошибки и так далее. Кроме того, с помощью WS можно вытащить из пакетов практически любой файл и просмотреть его. Чтобы лучше понять, что это за программа, нужно выделить ее основные преимущества. Итак, плюсы:
- кроссплатформенность (есть версии для Linux, Mac, Unix);
- утилита совершенно бесплатна;
- обладает широким функционалом;
- гибкость настройки;
- возможность фильтрации трафика;
- создание собственных фильтров;
- перехват пакетов в реальном времени.
Преимуществ у данной утилиты действительно много. А вот недостатков как таковых нет вообще. Недаром Wireshark считается лучшей в своем роде для захвата и анализа TCP пакетов. Теперь нужно немного разобраться в самой программе.
Расшифровка беспроводного трафика
Когда мы запустили захват трафика на интерфейсе wlan0mon ты наверняка обратил внимание, что в Packet List отображается всё что угодно, кроме того что нужно. А именно из полезной информации там можно найти только название сети (SSID) и MAC адреса (на самом деле кое-что ещё есть), а какой-нибудь интересной информации нет, от слова «совсем»
На самом деле она есть, просто она зашифрована. Почему так? Ответ банален — потому что трафик шифруется. Соответственно надо его расшифровать. А для этого надо понимать некоторые процессы которые происходят в wi-fi сетях.
При передаче данных по 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 нужно написать:
Это необходимо что бы убедится что рукопожатие действительно у нас, если это так — можем продолжать. Теперь сделаем то, что я чуть раньше предупреждал не делать, а именно поменяем настройки протоколов. Идём Edit-> Preferences и выбираем вкладку Protocols. В ней нам надо найти IEEE 802.11 и поставить галку Enable decryption после чего нажать Edit
в появившемся окне жмём «+» и там где Key type выбрать wpa-pwd. А там где Key нужно ввести через двоеточие «пароль:имя сети». Потом нажать ОК и сохранить изменения в настройках протокола.
сразу после этого захваченный трафик будет расшифрован и начнет приобретать более вразумительный и понятный вид.
Безопасность
Захват необработанного сетевого трафика с интерфейса требует повышенных привилегий на некоторых платформах. По этой причине более старые версии Ethereal / Wireshark и tethereal / TShark часто запускались с привилегиями superuser
Принимая во внимание огромное количество дисконтов протокола, которые вызывают при захвате трафика, это может представлять серьезную угрозу безопасности, учитывая возможность появления ошибки в диссекторе. Из-за довольно большого количества уязвимостей в прошлом (из которых многие разрешили удаленное выполнение кода) и сомнения разработчиков для лучшей будущей разработки, OpenBSD удалил Ethereal из дерева своих портов до OpenBSD 3.6
Повышенные привилегии не нужны для всех операций. Например, альтернативой является запуск tcpdump или утилиты dumpcap , которая поставляется с Wireshark с привилегиями суперпользователя для захвата пакетов в файл и последующего анализа пакетов путем запуска Wireshark с ограниченными привилегиями. Чтобы подражать анализу в реальном времени, каждый захваченный файл может быть объединен с помощью mergecap в растущий файл, обработанный Wireshark. В беспроводных сетях можно использовать средства беспроводной безопасности Aircrack для захвата кадров IEEE 802.11 и чтения результирующих файлов дампа с помощью Wireshark.
Начиная с Wireshark 0.99.7, Wireshark и TShark запускают dumpcap для выполнения захвата трафика. Платформам, требующим специальных привилегий для захвата трафика, требуется только dumpcap для запуска с этими привилегиями. Ни Wireshark, ни TShark не должны или должны выполняться со специальными привилегиями.
Пример перехвата USB трафика с Wireshark
Для перехвата USB траффика можно использовать популярный снифер Wireshark. Для Windows также необходимо установит USBPcap.
Запустить прехват можно выбрав соответствующий режим в wireshark:
Разберем подробней пример дампа:
Этот дамп содержит 2 части:
- Это подключение физического устройства в USB (пакеты 1-9);
- Отправка команд на переключение устройства в другой режим (пакеты 9-16).
Схематично взаимодействие будет выглядеть так:
Как видно из примера взаимодействие с портом USB очень похоже на взаимодействие по сети. Хост всегда отправляет команду, а устройство подтверждает ее получение.
Наибольший интерес вызывают пакеты 9-16, так как видно что это контрольные трансферы (URB_CONTROL) а значит именно с их помощью происходит управление устройствам.
Итак первая команда (пакет 9) отправляет какую-то команду на устройство. Об этом свидетельствует префикс out, так как команды всегда идут от хоста, то перфикс задает напрваление относительно него.
Если посмотреть структуру запроса, то можно понять тип запроса, сам запрос длину тела и сами данные которые отправляются на устройство
В нашем случае не важно что означают эти параметры так как нам нужно просто воспроизвести функциональность стороннего ПО
Следующий код запрашивает состояние устройства:
Затем отправляется еще одна команда с данными (пакет 13) и еще раз читает состояние (пакет 13), после чего можно заметить что девайс переподключился (пакет 17-18).
Визуализация сетевых пакетов с графиками ввода-вывода
Если вы хотите создать визуальное представление ваших пакетов данных, то вам нужно открыть графики ввода-вывода. Просто нажмите на статистика меню и выберите Графики ввода-вывода. Затем вас встретит графическое окно:
Вы можете настроить графики ввода-вывода с вашими собственными настройками в соответствии с данными, которые вы хотите отобразить. По умолчанию включен только график 1, поэтому, если вы хотите активировать 2-5, вам нужно нажать на них. Аналогично, если вы хотите применить фильтр отображения для графика, щелкните значок фильтра рядом с графиком, с которым вы хотите взаимодействовать. Столбец стиля позволяет вам изменить структуру вашего графика. Вы можете выбрать между Линия, FBAR, точка, или Импульс.
Вы также можете взаимодействовать с метриками осей X и Y на вашем графике. На оси X интервалы между тиками позволяют определять продолжительность интервала от минут до секунд. Вы также можете проверить рассматривать как время суток флажок для того, чтобы изменить время оси X.
В разделе оси Y вы можете изменить единицу измерения с помощью любого из следующих параметров: Пакеты / Tick, Б / Tick, Биты / Tick, или продвинутый. Шкала позволяет выбрать шкалу измерения для оси Y графика.
После нажатия кнопки «Сохранить» график сохраняется в выбранном вами формате.