Wireshark — это мощный сетевой анализатор, который может использоваться для анализа трафика, проходящего через сетевой интерфейс компьютера. Он может понадобиться для обнаружения и решения проблем с сетью, отладки веб-приложений, сетевых программ или сайтов.
Wireshark позволяет полностью просматривать содержимое пакета на всех уровнях: так вы сможете лучше понять как работает сеть на низком уровне.
Wireshark работает с подавляющим большинством известных протоколов, имеет понятный и логичный графический интерфейс на основе GTK+ и мощнейшую систему фильтров.
Wireshark является кроссплатформенным, работает на Linux, Solaris, FreeBSD, NetBSD, OpenBSD, Mac OS, и Windows.
Основные возможности Wireshark
Список основных возможностей программы:
- Захват пакетов в реальном времени из проводного или любого другого типа сетевых интерфейсов, а также чтение из файла;
- Поддерживаются такие интерфейсы захвата: Ethernet, IEEE 802.11, PPP и локальные виртуальные интерфейсы;
- Пакеты можно отсеивать по множеству параметров с помощью фильтров;
- Все известные протоколы подсвечиваются в списке разными цветами, например TCP, HTTP, FTP, DNS, ICMP и так далее;
- Поддержка захвата трафика VoIP-звонков;
- Поддерживается расшифровка HTTPS-трафика при наличии сертификата;
- Расшифровка WEP-, WPA-трафика беспроводных сетей при наличии ключа и handshake;
- Отображение статистики нагрузки на сеть;
- Просмотр содержимого пакетов для всех сетевых уровней;
- Отображение времени отправки и получения пакетов.
Анализ сетевого трафика
![](https://static.tildacdn.com/tild6466-3332-4230-b735-666666626232/wireshark_2-768x431.png)
На главном экране отображается список доступных для анализа сетевых интерфейсов. Выберем интерфейс «Беспроводная сеть» и откроется окно:
![](https://static.tildacdn.com/tild3161-3838-4532-a633-643435336332/wireshark_3-768x429.png)
Это окно тоже разделено на несколько частей:
- Верхняя часть — это меню и панели с различными кнопками;
- Список пакетов — дальше отображается поток сетевых пакетов, которые вы будете анализировать;
- Содержимое пакета — чуть ниже расположено содержимое выбранного пакета, оно разбито по категориям в зависимости от транспортного уровня;
- Реальное представление — в самом низу отображается содержимое пакета в реальном виде, а также в виде HEX.
Можно кликнуть по любому пакету, чтобы проанализировать его содержимое.
Фильтры Wireshark
Для ввода фильтров под меню есть специальная строка. Рассмотрим основные фильтры:
- ip.dst — целевой IP-адрес;
- ip.src — IP-адрес отправителя;
- ip.addr — IP отправителя или получателя;
- ip.proto — протокол;
- tcp.dstport — порт назначения;
- tcp.srcport — порт отправителя;
- ip.ttl — фильтр по ttl, определяет сетевое расстояние;
- http.request_uri — запрашиваемый адрес сайта.
Для указания отношения между полем и значением в фильтре можно использовать такие операторы:
- == — равно;
- != — не равно;
- < — меньше;
- > — больше;
- <= — меньше или равно;
- >= — больше или равно;
- matches — регулярное выражение;
- contains — содержит.
Для объединения нескольких выражений можно применять:
- && — оба выражения должны быть верными для пакета;
- || — может быть верным одно из выражений.
Пример сканирования по фильтру:
![](https://static.tildacdn.com/tild6261-3862-4638-a563-616561376161/wireshark_4-768x429.png)
Wireshark почти всегда позиционируется как сетевой инструмент для анализа, правда заключается в том, что он может анализировать и другие устройства, такие как USB-трафик и даже Unix-сокеты между приложениями.
Используя Wireshark и обладая необходимыми знаниями можно достаточно эффективно находить и диагностировать разнообразные проблемы, возникающие в сети.
Используя Wireshark и обладая необходимыми знаниями можно достаточно эффективно находить и диагностировать разнообразные проблемы, возникающие в сети.