Как пользоваться Wireshark под Windows. Как пользоваться Wireshark? Анализ трафика Wireshark уроки на русском версии 2.4 1


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

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

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

  • Захват пакетов в реальном времени из проводного или любого другого типа сетевых интерфейсов, а также чтение из файла;
  • Поддерживаются такие интерфейсы захвата: Ethernet, IEEE 802.11, PPP и локальные виртуальные интерфейсы;
  • Пакеты можно отсеивать по множеству параметров с помощью фильтров;
  • Все известные протоколы подсвечиваются в списке разными цветами, например TCP, HTTP, FTP, DNS, ICMP и так далее;
  • Поддержка захвата трафика VoIP-звонков;
  • Поддерживается расшифровка HTTPS-трафика при наличии сертификата;
  • Расшифровка WEP-, WPA-трафика беспроводных сетей при наличии ключа и handshake;
  • Отображение статистики нагрузки на сеть;
  • Просмотр содержимого пакетов для всех сетевых уровней;
  • Отображение времени отправки и получения пакетов.

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

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

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

sudo apt install wireshark

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

А для Gnome / Unity:

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

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

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

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

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

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

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

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

Фильтры Wireshark

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

  • ip.dst - целевой IP-адрес;
  • ip.src - IP-адрес отправителя;
  • ip.addr - IP отправителя или получателя;
  • ip.proto - протокол;
  • tcp.dstport - порт назначения;
  • tcp.srcport - порт отправителя;
  • ip.ttl - фильтр по ttl, определяет сетевое расстояние;
  • http.request_uri - запрашиваемый адрес сайта.

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

  • == - равно;
  • != - не равно;
  • < - меньше;
  • > - больше;
  • <= - меньше или равно;
  • >= - больше или равно;
  • matches - регулярное выражение;
  • contains - содержит.

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

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

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

Сначала отфильтруем все пакеты, отправленные на 194.67.215.. Наберите строку в поле фильтра и нажмите Apply . Для удобства фильтры Wireshark можно сохранять с помощью кнопки Save :

ip.dst == 194.67.215.125

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

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

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

http.content_length > 5000

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

http.content_type contains image

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

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

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

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

Таким способом вы можете добавить в фильтр поле любого пакета или колонку. Там тоже есть эта опция в контекстном меню. Для фильтрации протоколов вы можете использовать и более простые условия. Например, выполним анализ трафика Wireshark для протоколов HTTP и DNS:

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

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

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

Возможно, вам интересно, как пользоваться Wireshark 2.0 для обнаружения проблем в сети. Для этого в левом нижнем углу окна есть круглая кнопка, при нажатии на неё открывается окно Expet Tools . В нём Wireshark собирает все сообщения об ошибках и неполадках в сети:

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

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

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

Для этого сначала нужно остановить захват трафика с помощью красного квадрата на панели. Затем откройте меню File -> Export Objects -> HTTP :

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

Где и как скачать Wireshark

Wireshark является свободным софтом и распространяется абсолютно бесплатно. На официальном сайте разработчика https://www.wireshark.org вы можете не только скачать утилиту, но и пожертвовать добровольно средства на развитие проекта.

  • Интерфейс сайта довольно прост: нажмите сначала на кнопку “Download”.
  • Затем выберете тип вашей системы: Windows или MacOS, 32-битная или 64. Скачивание именно вашей версии начнется незамедлительно. Если вы не уверены в своей системе, посмотрите точнее в параметрах “Система” в панели управления.


  • Установка программы происходит легко, вам достаточно кликать на клавишу “Next” и порой выполнять инструкции с экрана, однако, некоторые моменты требуют разъяснения.
  • Когда вам предложат выбрать набор установки утилиты, отмечайте галочками все поля. Так вы сможете пользоваться полным набором инструментов Wireshark.


  • В данном окне вы самостоятельно должны настроить параметры, согласно вашим предпочтениям. Здесь указывается создание ярлыка, кнопки в меню Пуск, ассоциацию типов файлов. Если вы не уверены в своем решении, то лучше перенести все галочки со скриншота в свое окно.


Как включить мониторинг трафика в Wireshark

Как только ваш компьютер перезагрузился после установки программы, он готов к использованию. При этом, программа Wireshark порекомендует вам установить специальный драйвер, который нужен для работы софта.

  • В центре окна вы увидите кнопку “Refresh interfaces” или “No interfaces found”. Нажмите на нее, чтобы загрузить интерфейсы. У вас может быть подключение через маршрутизатор, напрямую к кабелю, по сетям Wi Fi или через модем LTE.
  • Если же у вас беспроводное подключение Wi Fi, зайдите во вкладку “Wireless”.


  • Нажмите “WLAN Truffic”.


  • Если же подключение происходит через модем, обратите внимание на вкладку “Telephony”, нажмите строку “LTE”.


  • Что бы вы ни выбрали, трафик предстанет перед вами примерно в таком виде. Сверху в строке “Filter” вы можете ввести фильтр, чтобы отсеять ненужную вам информацию и видеть сетевые протоколы только по определенному критерию.
  • Нажав мышкой на один из них, в нижнем окне вы увидите больше информации. Главным критерием может стать строка с хостом: сайт, который принял или отдал запрос. Такие данные указаны после слов “Host”, а также “Accept”.
  • Как говорилось ранее, работать с протоколами без малейшего понимания их работы практически невозможно. Вы не поймете, какой именно пакет когда и куда ушел. Тем не менее, если эта тема вам хоть каплю знакома, всё становится интуитивно понятно.


Как включить интерфейсы Wireshark, если они недоступны

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

Первое, что нужно сделать – перезагрузить компьютер. Программа начинает функционировать только после перезапуска.
Вторая возможная и самая распространенная причина – у вас не скачан WinPcap. Это бесплатные библиотеки от Windows, которые нужны программе Wireshark. Скачайте их в сети интернет, перезагрузите компьютер и попробуйте снова.

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


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

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

Если вы новичок в информационной безопасности, и совсем хорошо понимаете что такое сниффер (анализатор трафика), советую почитать статью , и только потом читать эту статью о том как пользоваться Wireshark.

Очень популярный и чрезвычайно умелый анализатор сетевого протокола , который разработал Джеральд Комбс , Wireshark появился в июне 2006 г., когда Комбс переименовал сетевой инструмент Ethereal, также созданный им, поскольку сменил работу и не мог больше использовать старое название. Сегодня большинство используют Wireshark, a Ethereal сделался историей.

Wireshark: лучший сниффер

Вы, возможно, спросите, чем Wireshark отличается от других сетевых анализаторов - кроме того, что он свободный - и почему бы нам просто не начать пропагандировать применение tcpdump для захвата пакетов?

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

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

Чтобы новичок смог разобраться с Wireshark, ему нужно понять сетевой трафик. В таком случае цель этой статьи состоит в разъяснении вам основ TCP/IP, чтобы вы смогли сделать нужные выводы по сетевому трафику, который анализируете.


Формат пакета TCP и пакета IP.

Если вы запускаете Wireshark от имени обычного пользователя, вы не сможете использовать сетевые интерфейсы для сбора данных из-за имеющихся в сетевых интерфейсах разрешений файла Unix по умолчанию. Удобнее запускать Wireshark от имени root (sudo wireshark) при сборе данных и от имени обычного пользователя-для анализа данных.

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

Захват сетевых данных с помощью Wireshark

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

Чтобы прекратить процесс захвата данных, выберите в меню Capture > Stop . В качестве альтернативы, можете нажать на четвертый значок слева, с красным квадратиком (это сокращение от «Прекратить захват данных live») в панели инструментов Main (учтите, его точное расположение зависит от имеющейся у вас версии Wireshark). На эту кнопку можно нажимать только в процессе сбора сетевых данных.

При использовании описанного метода захвата данных вы не можете изменить настроенные в Wireshark по умолчанию Capture Options [Опции захвата]. Вы можете увидеть и изменить Capture Options, выбрав в меню Capture > Options . Здесь можно выбрать интерфейс(ы) сети, посмотреть свой IP-адрес, применить фильтры сбора данных, перевести свою сетевую карту в режим приема всех сетевых пакетов и сохранить собранные данные в один или несколько файлов. Вы даже можете велеть прекращать захват пакетов по достижении определенного числа сетевых пакетов, или определенного времени, или определенного объема данных (в байтах).

По умолчанию Wireshark не сохраняет собранные данные, но вы всегда можете сохранить их позднее. Считается, что лучше всего сначала сохранить, а потом изучать сетевые пакеты, если только у вас нет каких-то особых причин сделать иначе.

Wireshark позволяет читать и анализировать уже собранные сетевые данные из большого числа файловых форматов, в том числе tcpdump, libpcap, snoop от Sun, nettl от HP, текстовых файлов К12, и т.д. Короче, с помощью Wireshark можно читать практически любой формат собранных сетевых данных. Подобным же образом Wireshark позволяет сохранять собранные данные в разных форматах. Можно даже использовать Wireshark для конверсии файла из одного формата в другой.

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

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

Фильтры отображения Wireshark

Если во время захвата сетевых данных применяются фильтры захвата, то Wireshark не учитывает сетевой трафик, не соответствующий фильтру; тогда как фильтры отображения применяются после захвата данных и «прячут» сетевой трафик, не удаляя его. Вы всегда можете отключить Display filter и вернуть свои скрытые данные.

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

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

Фильтры отображения поддерживают операторы сравнения и логические операторы. Фильтр отображения http.response.code


Три пакета (SYN, SYN+ACK и АСК) трехзтапной установки соединения TCP

404 && ip.addr == 192.168.1.1 показывает трафик, который либо идет с IP-адреса 192.168.1.1, либо идет на IP-адрес 192.168.1.1, который также имеет в себе код отклика 404 (Not Found) HTTP. Фильтр!Ьоо1р &&!ip &&!агр исключает из результата трафик BOOTP, IP и ARP. Фильтр eth.addr == 01:23:45:67:89:ab && tcp.port == 25 отображает трафик идущий от или к сетевому устройству с MAC-адресом 01:23:45:67:89:аЬ, которое использует во входящих и исходящих соединениях порт TCP за номером 25.

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

Продолжение статьи на следующей странице. Для перехода на следующую страницу нажмите на кнопку 2 которая находится под кнопками социальных сетей.

1. Введение

Wireshark – это анализатор сетевого трафика. Его задача состоит в том, чтобы перехватывать сетевой трафик и отображать его в детальном виде. Анализатор сетевого трафика можно сравнить с измерительным устройством, которое используется для просмотра того, что происходит внутри сетевого кабеля, как например вольтметр используется электриками для того чтобы узнать что происходит внутри электропроводки (но, конечно, на более высоком уровне). В прошлом такие инструменты были очень дорогостоящими и проприетарными. Однако, с момента появления такого инструмента как Wireshark ситуация изменилась. Wireshark – это один из лучших анализаторов сетевого трафика, доступных на сегодняшний момент. Wireshark работает на основе библиотеки pcap. Библиотека Pcap (Packet Capture) позволяет создавать программы анализа сетевых данных, поступающих на сетевую карту компьютера. Разнообразные программы мониторинга и тестирования сети, сниферы используют эту библиотеку. Она написана для использования языка С/С++ так что другие языки, такие как Java, .NET и скриптовые языки использовать не рационально. Для Unix-подобных систем используют libpcap библиотеку, а для Microsoft Windows NT используют WinPcap библиотеку. Программное обеспечение сетевого мониторинга может использовать libpcap или WinPcap, чтобы захватить пакеты, путешествующие по сети и в более новых версиях для передачи пакетов в сети. Libpcap и WinPcap также поддерживают сохранение захваченных пакетов в файл и чтение файлов содержащих сохранённые пакеты. Программы написанные на основе libpcap или WinPcap могут захватить сетевой трафик, анализировать его. Файл захваченного траффика сохраняется в формате, понятном для приложений, использующих Pcap.

2.1 Для чего используется Wireshark?

  • Системные администраторы используют его для решения проблем в сети.
  • Аудиторы безопасности используют его для выявления проблем в сети.
  • Разработчики используют его для отладки сетевых приложений.
  • Обычные пользователи используют его для изучения внутреннего устройства сетевых протоколов.
2.2 Возможности Wireshark
  • Работает на большинстве современных ОС (Microsoft Windows, Mac OS X, UNIX). Wireshark – продукт с открытым исходным кодом, распространяемый на основании лицензии GPL. Его можно использовать на любом количестве компьютеров, не опасаясь за ввод лицензионных ключей, продление лицензии и другие неприятные мероприятия. Поэтому сообществу очень легко добавлять в него поддержку новых протоколов в виде плагинов или напрямую вшить её в исходный код.
  • Перехват трафика сетевого интерфейса в режиме реального времени. Wireshark может перехватывать трафик различных сетевых устройств, отображая его имя (включая беспроводные устройства). Поддерживаемость того или иного устройства зависит от многих факторов, например от операционной системы.
  • Множество протокольных декодировщиков (TELNET, FTP, POP, RLOGIN, ICQ, SMB, MySQL, HTTP, NNTP, X11, NAPSTER, IRC, RIP, BGP, SOCKS 5, IMAP 4, VNC, LDAP, NFS, SNMP, MSN, YMSG и другие).
  • Сохранение и открытие ранее сохраненного сетевого трафика.
  • Импорт и экспорт файлов из других пакетных анализаторов. Wireshark может сохранять перехваченные пакеты в большое количество форматов других пакетных анализаторов, например: libpcap, tcpdump, Sun snoop, atmsnoop, Shomiti/Finisar Surveyor, Novell LANalyzer, Microsoft Network Monitor, AIX"s iptrace.
  • Позволяет фильтровать пакеты по множеству критерий.
  • Позволяет искать пакеты по множеству критерий.
  • Позволяет подсвечивать захваченные пакеты разных протоколов.
  • Позволяет создавать разнообразную статистику.
Ниже перечислены некоторые вещи, которые Wireshark делать не умеет.
  • Wireshark – это не система обнаружения вторжений. Он не предупредит о том, если кто-то делает странные вещи в сети. Однако если это происходит, Wireshark поможет понять что же на самом деле случилось.
  • Wireshark не умеет генерировать сетевой трафик, он может лишь анализировать имеющийся. В целом, Wireshark никак не проявляет себя в сети, кроме как при резолвинге доменных имен, но и эту функцию можно отключить.
2.3 Установка

Сразу предупреждаю тех кто юзает *nix обычный пользователь не имеет привилегий слушать интерфейсы, поэтому запускайте Wireshark через sudo.

Установка снифера Wireshark под Windows является тривиальной задачей и производится мастером установки.Если на компьютере отсутствует библиотека WinPcap, то она будет установлена вместе со снифером. На шаге выбора компонентов можно установить некоторые сопутствующие инструменты:

  • TShark – консольный анализатор сетевого трафика;
  • Rawshark – фильтр «сырых» пакетов;
  • Editcap – утилита, позволяющая открывать сохраненные пакетные дампы и изменять их;
  • Text2Pcap – утилита для конвертации HEX-дампов (побайтовое представление) пакетов в формат Pcap;
  • Mergecap – утилита для соединения нескольких дампов в один файл;
  • Capinfos – утилита для предоставления информации о сохраненных дампах;
  • Некоторые плагины расширенной статистики.
Сразу после установки снифер готов к работе.

2.4 Интерфейс Wireshark

Интерфейс программы Wireshark представлен на рисунке 1.

Рисунок 1 – Главное окно программы Wireshark


Рассмотрим интерфейс более подробно. Сверху находится стандартные для Windows приложений меню и тулбар, на них подробно останавливаться смысла не имеет. Далее следует фильтр, в нем можно задавать критерии фильтрации пакетов, подробное описание работы с ним рассмотрим позже. Следом идет окошко со списком всех перехваченных пакетов. В нем доступна такая информация как: номер пакета, относительное время получения пакета (отсчет производится от первого пакета; параметры отображения времени можно изменить в настройках), IP адрес отправителя, IP адрес получателя, протокол, по которому пересылается пакет, а также дополнительная информация о нем. Как можно заметить, разные протоколы подсвечены разными цветами, что добавляет наглядности и упрощает анализ. Далее видно окно, в котором представлена детальная информация о пакете согласно сетевой модели OSI (подробнее см. Википедию). Ну, и самое нижнее окно показывает нам пакет в сыром HEX виде, то есть побайтово. Конфигурация интерфейса может быть легко изменена в меню View. Например, можно убрать окно побайтового представления пакета (оно же Packet Bytes в меню View), так как в большинстве случаев (кроме анализа данных в пакете) оно не нужно и только дублирует информацию из окна детального описания.

2.5 Перехват трафика

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

  • перехват трафика различных видов сетевого оборудования (Ethernet, Token Ring, ATM и другие);
  • прекращение перехвата на основе разных событий: размера перехваченных данных, продолжительность перехвата по времени, количество перехваченных пакетов;
  • показ декодированных пакетов во время перехвата;
  • фильтрация пакетов с целью уменьшить размер перехваченной информации;
  • запись дампов в несколько файлов, если перехват продолжается долго.
    Движок не может выполнять следующие функции:
  • перехват трафика с нескольких сетевых интерфейсов одновременно (однако, существует возможность запустить несколько копий Wireshark – каждая для своего интерфейса);
  • прекращение перехвата в зависимости от перехваченной информации.
Чтобы начать перехват трафика нужно иметь права Администратора на данной системе и выбрать правильный сетевой интерфейс. Итак, начнем. Чтобы выбрать сетевой адаптер, с которого будет выполняться перехват нужно нажать на кнопку Interfaces на тулбаре, либо их меню Capture > Interfaces… (отмечены красным цветом на рисунке 2).

Рисунок 2 – Выбор интерфейса для перехвата


После нажатия на одну из этих кнопок появится окно со списком сетевых интерфейсов, доступных в системе (рисунок 3).

Рисунок 3 – Список сетевых интерфейсов


На этом списке можно увидеть такую информацию как название интефейса, IP адрес интерфейса, сетевая активность интерфейса (представлена в виде общего количества пакетов с момента появления окна и количество пакетов в секунду). Также из этого окна можно посмотреть настройки перехвата (рисунок 4) и информацию об интерфейсе (рисунок 5).

Рисунок 4 – Настройки перехвата

Рисунок 5 – Информация об интерфейсе


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

3. Практика перехвата

После нажатия на кнопку Start начался перехват пакетов. Если сетевая активность высокая, то можно сразу увидеть массу непонятных входящих или исходящих пакетов. Они нас пока мало волнуют, сейчас мы займемся изучением всем известной утилиты ping.

3.1 Утилита ping

Нажмем Win+R и введем в строке выполнить cmd. Откроется консоль, введем там команду ping , как показано на рисунке 6. IP адрес следует писать, исходя из конфигурации конкретной сети.

Рисунок 6 – Выполнение команды ping


Теперь, если опрос хоста прошел так же успешно, как показано на рисунке, откроем окно Wireshark, чтобы посмотреть на это более подробно. Там мы скорее всего увидим полный бардак и разбираться в этом нужно будет очень долго. Тут нам на помощь и придут фильтры! Утилита ping работает по протоколу ICMP, поэтому впишем название этого протокола в строку фильтра и нажмем Apply. Должно получиться нечто похожее на рисунок 7.

Рисунок 7 – Фильтрация по протоколу ICMP


Здесь мы можем наблюдать как происходит Echo Request и Echo Reply в протоколе ICMP изнутри: какие тестовые данные посылаются, какие флаги символизируют о том, что это именно Echo Request, и другую не менее важную информацию.

3.2 Перехват FTP трафика

В этом пункте рассматривается перехват документа, передающегося по протоколу FTP без шифрования, и убедимся, что при использовании шифрования на основе TLS ничего полезного мы перехватить не сможем. В качестве FTP сервера используется Cerberus FTP Server, в качестве клиента – любой браузер, например, Internet Explorer (в данной работе использовался плагин к Mozilla Firefox под названием FireFTP).
Запускаем захват пакетов в Wireshark и делаем фильтр по протоколу FTP для удобства (набираем «ftp or ftp-data» без кавычек). Набираем в строке адреса браузера адрес нашего FTP сервера: ftp:// и жмем Enter. На сервере будет лежать текстовый документ под названием test.txt, скачиваем его. Теперь посмотрим, что произошло в снифере, и какие пакеты мы перехватили. На рисунке 8 можно видеть, что перехватить можно не только данные, которые передаются по протоколу, но и логин с паролем.

Рисунок 8 – Перехват логина и пароля


Теперь найдем в перехваченных пакетах содержание нашего документа. Несколько слов о процессе передачи файлов по протоколу FTP: в самом начале сервер посылает клиенту баннер приветствия (в данном случае это 220-Welcome to Cerberus FTP Server), пользователь проходит аутентификацию на сервере с помощью команд USER и PASS, получает список директорий с помощью команды LIST и запрашивает нужный файл с помощью команды RETR. Команду RETR мы и будем искать в списке пакетов. Для этого нужно нажать Ctrl+F, выбрать в опциях поиска Find by String и Search in Packet Bytes, в строке поиска ввести RETR и нажать Enter. Будет найден пакет, в котором клиент посылает эту команду серверу, если файл существует, то сервер пришлет ответ 150 Opening data connection, а в следующем пакете и будет содержимое документа (рисунок 9).

Рисунок 9 – Содержимое переданного документа


Теперь включим на сервере безопасную передачу данных на основе протокола TLS и повторим процедуру. Для установки безопасного соединения клиент использует команду AUTH TLS. При просмотре списка перехваченных пакетов (рисунок 10) становится ясно, что ничего полезного из них получить не получится.

Рисунок 10 – Список перехваченных зашифрованных пакетов


3.3 Перехват документа, переданного по протоколу SMB

SMB (Server Message Block) – формат сообщений на основе протокола совместного использования файлов Microsoft/3Com, используемый для передачи файловых запросов (open – открыть, close – закрыть, read – прочитать, write – записать и т. п.) между клиентами и серверами. Откроем Wireshark, запустим перехват пакетов и фильтр по протоколу SMB. Затем зайдем на удаленный расшаренный ресурс и скачаем файл test.txt. Остановим перехват пакетов, нажав на кнопочку «Stop the running live capture». Теперь посмотрим на то, что мы получили. В списке пакетов найдем запрос на передачу файла test.txt:

Единственным решением, препятствующим снифингу, является шифрование. Нельзя допускать использования фирменных небезопасных прикладных протоколов или унаследованных протоколов, передающих данные явным образом. Замена небезопасных протоколов (таких как telnet) на их надежные шифрованные аналоги (такие как SSH) представляется серьезным барьером от перехвата. Замена всех небезопасных протоколов в большинстве случаев маловероятна.

Вместо прекращения использования протоколов, передающих данные явным образом, остается только одна возможность - шифрование всего сетевого трафика на 3 уровне, используя IPSec. Осуществляя шифрование на 3 уровне, возможно продолжать использовать небезопасные протоколы, поскольку все данные будут инкапсулированы IPSec и зашифрованы при передаче по сети. Таким образом, унаследованные приложения, которые используют старые протоколы, не пострадают. IPSec полностью прозрачен для приложений и пользователей. Это открытый стандарт, поддерживаемый многими вендорами, включая Microsoft и Cisco. Кроме того, многие реализации Unix поддерживают IPSec. Легкая настройка IPSec в Win2k/XP дополнительно увеличивает его доступность.

Осуществление технологии шифрования на 3 уровне, таких как IPSec решает проблему снифинга полностью. Масштабируемость, распространенность, доступность IPSec выделяет его как прагматическое решение проблемы перехвата сетевого трафика.

Какой наиболее мощный инструмент для захвата и анализа интернет трафика на сегодняшний день? Ответ прост - программа Wireshark. Она способна перехватывать не только исходящие TCP пакеты, но и входящие. Такой инструмент состоит на вооружении многих профессионалов. Да и хакеры не гнушаются его использовать. Возможности программы безграничны. С ее помощью можно вытащить любой файл из пакета, просмотреть его и проверить. Главный вопрос состоит в том, как это сделать. В этом мы и попробуем разобраться.

Что такое Wireshark

Сия утилита предназначена для контроля интернет трафика. Она перехватывает TCP пакеты, которые были приняты компьютером или посланы с него. Функционал программы настолько богат, что простым перехватом дело не ограничивается. Можно просматривать содержимое пакетов, искать ошибки и так далее. Кроме того, с помощью WS можно вытащить из пакетов практически любой файл и просмотреть его. Чтобы лучше понять, что это за программа, нужно выделить ее основные преимущества. Итак, плюсы:

  • кроссплатформенность (есть версии для Linux, Mac, Unix);
  • утилита совершенно бесплатна;
  • обладает широким функционалом;
  • гибкость настройки;
  • возможность фильтрации трафика;
  • создание собственных фильтров;
  • перехват пакетов в реальном времени.

Преимуществ у данной утилиты действительно много. А вот недостатков как таковых нет вообще. Недаром Wireshark считается лучшей в своем роде для захвата и анализа TCP пакетов. Теперь нужно немного разобраться в самой программе.

Установка и настройка

Скачать Wireshark можно с официального сайта разработчика. Программа совершенно бесплатна. Стоит обратить внимание на то, что последняя версия (2.0.5) не работает с Wi-Fi адаптерами. Поэтому, если вам нужно анализировать трафик беспроводного соединения, следует скачать более старую версию.

Установка утилиты стандартна и не вызовет никаких проблем даже у новичков. В инсталляторе все понятно, хоть он и на английском. Кстати, Wireshark на русском языке в природе не существует, поэтому для того, чтобы успешно справляться с этим софтом придется напрячь память и вспомнить английский. В принципе, для простого захвата и просмотра TCP пакетов ничего сверхъестественного не понадобится. Хватит и школьного уровня английского.

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

Ничего страшного в нем нет. В этом вы сейчас убедитесь. Для начала работы нужно сначала выбрать источник, из которого будет производиться захват TCP пакетов. Перехват может осуществляться как с Ethernet подключения, так и с WLAN адаптера. В качестве примера рассмотрим вариант с WLAN. Для настройки нужно зайти в пункт «Capture», подпункт «Options». В открывшемся окне следует выбрать ваш беспроводной адаптер и отметить его галочкой. Для начала захвата трафика достаточно нажать кнопку «Start».

После нажатия «Start» начнется анализ и захват пакетов. В окне появится много непонятных букв и цифр. Некоторые из пакетов имеют собственную цветовую маркировку. Для того, чтобы хоть что-то понять, нужно определить какой цвет к чему относится. Зеленый - TCP трафик, темно-синий - DNS, светло-синий - UDP и черный - пакеты TCP с ошибками. Теперь разобраться в этой горе данных проще.

Для остановки процесса перехвата достаточно нажать кнопку «Stop», которая помечена красным прямоугольником. Теперь можно выбрать интересующий вас пакет и просмотреть его. Для этого нужно щелкнуть по пакету правой клавишей мыши и в появившемся меню выбрать пункт «Show packet in new window». Тут же появится куча непонятных букв и цифр.

Но при углубленном изучении представленной информации можно понять, откуда и куда шел пакет и из чего он состоял. Для того чтобы просмотреть данные о TCP пакетах позднее, нужно использовать функцию сохранения захваченной информации. Она находится в пункте меню «File», подпункт «Save as». Потом можно будет загрузить информацию из файла и спокойно просмотреть ее.

Использование фильтров

Для отображения только той информации, которая вас интересует можно заставить Wireshark использовать фильтры и отсекать ненужный трафик. Инструкция по тонкой настройке фильтров находится в Сети, а мы пока рассмотрим только один пример. Допустим, вас интересуют только TCP пакеты. Для того, чтобы программа отображала только их, следует зайти в пункт меню «Capture», подпункт «Capture filters», выбрать пункт «TCP Only» и нажать кнопку «OK».

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

Заключение

Среди программ для захвата и анализа трафика Wireshark зарекомендовала себя как наиболее достойная утилита для решения подобных задач. Многие профессионалы с успехом используют ее. Конечно, для того, чтобы работать в ней на профессиональном уровне придется подтянуть свои знания в английском и изучить некоторые принципы передачи данных. Но это того стоит. Теперь ни одна программа на вашем компьютере не сможет отсылать тонны ненужной информации незнамо куда без вашего ведома. Wireshark как перехватчик и анализатор не имеет себе равных.

Видео