Анализатор протоколов Wireshark
Анализатор протоколов Wireshark.
Содержание
1 Общая информация
- Сайт: https://www.wireshark.org/
- Впервые выпущен в 1998 году.
- Первоначальное название — Ethereal.
- Разработчикам пришлось изменить название на Wireshark в 2006 году из-за проблем с товарными знаками.
2 Установка
2.1 Установка в разных операционных системах
- Windows (менеджер пакетов Chocolatey: Пакетный менеджер для Windows. Chocolatey):
- Linux
2.2 Запуск без административных привилегий
- Административные полномочия требуются для захвата пакетов.
2.2.1 Linux
Ограничение разрешения на захват для группы
Произвольный дистрибутив Linux
Необходимо установить права доступа к файлу
/usr/sbin/dumpcap
.Предположим, что это группа
wireshark
.Создайте группу
wirehark
и добавьте в неё пользователяuser_name
.Изменим параметры файла
/usr/sbin/dumpcap
:Кроме того, зададим capabilities для этого файла:
1setcap cap_net_raw,cap_net_admin=eip /usr/bin/dumpcap
- Можно проверить, что параметры установлены правильно:
1getcap /usr/bin/dumpcap
- Можно проверить, что параметры установлены правильно:
После этого можно перелогиниться или временно добавить себя в новую группу:
1newgrp wireshark
Ubuntu
- Нужно выполнить следующие действия:
- После этого можно перелогиниться или временно добавить себя в новую группу:
1newgrp wireshark
Gentoo
- В Gentoo для захвата используется группа
pcap
. - Выполните следующее:
- После этого можно перелогиниться или временно добавить себя в новую группу:
1newgrp pcap
- В Gentoo для захвата используется группа
2.2.2 Windows
- Драйвер
WinPcap
(NPF
) загружается Wireshark, когда он начинает собирать данные в реальном времени. - Для этого требуются права администратора.
- Остановка Wireshark не останавливает драйвер WinPcap.
- При установке драйвера WinPcap через Chocolatey он устанавливается для автоматического запуска с полномочиями администратора.
Запуск Wireshark под администратором
- Самый простой вариант, но не безопасный.
Запуск драйвера NPF под администратором вручную
Запуск драйвера NPF под администратором автоматически при старте системы
- Запустите под администратором:
1sc config npf start=auto
- Или в
Device Manager
выберитеView->Show hidden devices
, откройтеNon-Plug and Play Drivers
. Потом настройте запускNetGroup Packet Filter Driver
.
- Запустите под администратором:
2.2.3 BSD, MacOS
- Для захвата пакетов необходим доступ для чтения к устройствам BPF в
/dev/bpf*
. - Поскольку в MacOS используется
devfs
, изменения не сохраняется между перезагрузками.
2.3 Видео
2.3.1 Установка на Windows
2.3.2 Установка на Ubuntu Linux
2.3.3 Установка на Fedora Linux
3 Терминальный вариант Wireshark
3.1 Общая информация
- Сайт: https://tshark.dev/
- TShark — анализатор сетевых протоколов, терминальный вариант Wireshark.
- Без настроек TShark будет работать так же, как tcpdump.
- Будет использовать библиотеку
pcap
для захвата трафика с первого доступного сетевого интерфейса и отображать сводную строку в стандартном выводе для каждого полученного пакета.
3.2 Пример использования
- Например, чтобы перехватить пакеты через указанный сетевой интерфейс и сохранить результаты, введите:
1tshark -i eth0 -w capture-eth0.pcap
- Цветной вывод текста требуется терминал с поддержкой 24-битного цвета:
1tshark -i any --color
- Показывать только типы файлов, начинающиеся с
test
:1shark -Y 'http.content_type[0:4] == "text"'
- Показать только JavaScript:
1tshark -Y tshark -i wlp2s0 -Y 'http.content_type contains "javascript"'
- Показать все http с content-type=“image/(gif|jpeg|png|etc)”:
1tshark -Y 'http.content_type[0:5] == "image"'
- Показать все http с content-type=“image/gif”:
1tshark -Y http.content_type == "image/gif"
- Не показывать контент http, только заголовки:
1tshark -Y http.response !=0 || http.request.method != "TRACE"
- Для сопоставления IP-адресов, заканчивающихся на 255, в блоке подсетей (от 172.16 до 172.31):
1tshark -Y string(ip.dst) matches r"^172\.(1[6-9]|2[0-9]|3[0-1])\.[0-9]{1,3}\.255
- Для сопоставления нечетных номеров кадров:
1tshark -Y string(frame.number) matches "[13579]$"
- Печать http-данных в вик дерева:
1tshark -q -i any -Y http -z http,tree