Wireshark — бесплатный и очень подробный анализатор сетевого трафика с открытым исходным кодом. Незаменимый инструмент администратора сети. Работает с подавляющим большинством известных протоколов. Программа переводит сетевую карту в режим promiscuous mode и просматривает весь трафик в режиме реального времени.
Wireshark имеет графический пользовательский интерфейс и много возможностей по сортировке и фильтрации полученной информации.
Это один из лучших доступный анализаторов пакетов. Может анализировать дампы tcpdump.
tcpdump — анализатор сетевого трафика
PktMon — анализатор сетевого трафика
netsh trace — анализатор сетевого трафика
Ссылки
Дистрибутив Wireshark доступен для многих операционных систем: Microsoft Windows, macOS, UNIX, Linux, и BSD.
https://www.wireshark.org/download.html
Самую полную документация по Wireshark можно найти в Wireshark User’s Guide. Последняя на данный момент версия доки 3.5.0 содержит 303 страницы.
https://www.wireshark.org/download/docs/user-guide.pdf
Кто использует Wireshark
- Сетевые администраторы — для устранения сетевых неполадок.
- Инженеры по информационной безопасности — для изучения проблем безопасности.
- Инженеры QA — для проверки сетевых приложений.
- Разработчики — для отладки реализаций протоколов.
- Люди — для изучения внутренних компонентов сетевого протокола.
В любой другой непонятной ситуации используй Wireshark.
Возможности
- Доступно для UNIX и Windows.
- Захват пакетов с сетевого интерфейса в режиме реального времени.
- Анализ файлов дампа пакетов, захваченных с помощью tcpdump/WinDump, Wireshark и многих других программ захвата пакетов. Импорт файлов, содержащих шестнадцатеричные дампы. Создание дампов, экспорт некоторых или всех пакетов в несколько форматов.
- Подробная информация.
- Поиски и фильтрация пакетов по многим критериям.
- Подсветка различных типов пакетов на основе фильтров.
- Статистика.
- Многое другое.
Интерфейсы
Wireshark поддерживает разные интерфейсы.
- any — виртуальный интерфейс, захватывает все возможные интерфейсы
- lo — виртуальный интерфейс обратной петли
- eth0, eth1, … — ethernet интерфейсы
- ppp0, ppp1, … — PPP интерфейсы
- wlan0, wlan1, … — wireless LAN
- team0, bond0 — комбинированные интерфейсы (NIC bonding, NIC teaming)
- br0, br1, … — сетевой мост Ethernet
- tunl0, tunl1 — IP туннелирование
- gre0, gre1 — GRE туннелирование
- ipsec0, ipsec1 — вторичный IP
- nas0, nas1 — мост ATM как в RFC 2684
- usb0, usb1, … — USB интерфейсы
Фильтрры
Основные фильтры:
- ip.dst — IP получателя
- ip.src — IP отправителя
- ip.addr — IP отправителя или получателя
- ip.proto — протокол
- tcp.dstport — порт получателя
- tcp.srcport — порт отправителя
- ip.ttl — TTL
- http.request_uri — запрашиваемый URI
Операции для фильтров:
- == — равно (ip.dst == 192.168.1.1)
- != — не равно (udp.dst != 53)
- < — меньше (ip.ttl < 10)
- > — больше (http.content_length > 2000)
- <= — меньше или равно (frame.len <= 0x20)
- >= — больше или равно (tcp.analysis.bytes_in_flight >= 1000)
- matches — регулярное выражение (frame matches "[Pp][Aa][Ss][Ss]")
- contains — содержит (dns.resp.name contains example)
- && — и (ip.dst == 192.168.1.1 && ip.src == 10.10.30.10)
- || — или (ip.dst == 192.168.1.1 || ip.dst == 10.10.10.12)