Анализатор протоколов Wireshark
2021-08-18
·
3 мин. для прочтения
Анализатор протоколов Wireshark.
Содержание
1 Общая информация
- Сайт: https://www.wireshark.org/
- Впервые выпущен в 1998 году.
- Первоначальное название — Ethereal.
- Разработчикам пришлось изменить название на Wireshark в 2006 году из-за проблем с товарными знаками.
2 Установка
2.1 Установка в разных операционных системах
- Windows (менеджер пакетов Chocolatey: Пакетный менеджер для Windows. Chocolatey):
choco install wireshark choco install winpcap
- Linux
- Gentoo
emerge wireshark
- Ubuntu
sudo apt-get install wireshark
- Fedora
sudo dnf install wireshark
- Gentoo
2.2 Запуск без административных привилегий
- Административные полномочия требуются для захвата пакетов.
2.2.1 Linux
Ограничение разрешения на захват для группы
Произвольный дистрибутив Linux
Необходимо установить права доступа к файлу
/usr/sbin/dumpcap
.Предположим, что это группа
wireshark
.Создайте группу
wirehark
и добавьте в неё пользователяuser_name
.sudo -i groupadd -s wireshark gpasswd -a -G wireshark user_name
Изменим параметры файла
/usr/sbin/dumpcap
:sudo -i chgrp wireshark /usr/bin/dumpcap chmod 750 /usr/bin/dumpcap
Кроме того, зададим capabilities для этого файла:
setcap cap_net_raw,cap_net_admin=eip /usr/bin/dumpcap
- Можно проверить, что параметры установлены правильно:
getcap /usr/bin/dumpcap
- Можно проверить, что параметры установлены правильно:
После этого можно перелогиниться или временно добавить себя в новую группу:
newgrp wireshark
Ubuntu
- Нужно выполнить следующие действия:
sudo -i apt-get install wireshark apt-get install pcaputils dpkg-reconfigure wireshark-common groupadd wireshark usermod -a -G wireshark user_name
- После этого можно перелогиниться или временно добавить себя в новую группу:
newgrp wireshark
- Нужно выполнить следующие действия:
Gentoo
- В Gentoo для захвата используется группа
pcap
. - Выполните следующее:
sudo -i usermod -a -G pcap user_name
- После этого можно перелогиниться или временно добавить себя в новую группу:
newgrp pcap
- В Gentoo для захвата используется группа
2.2.2 Windows
- Драйвер
WinPcap
(NPF
) загружается Wireshark, когда он начинает собирать данные в реальном времени. - Для этого требуются права администратора.
- Остановка Wireshark не останавливает драйвер WinPcap.
- При установке драйвера WinPcap через Chocolatey он устанавливается для автоматического запуска с полномочиями администратора.
Запуск Wireshark под администратором
- Самый простой вариант, но не безопасный.
Запуск драйвера NPF под администратором вручную
- Запустите драйвер NPF:
runas /u:administrator "net start npf"
- После этого можно работать с Wireshark.
- Остановите драйвер NPF:
runas /u:administrator "net stop npf"
- Запустите драйвер NPF:
Запуск драйвера NPF под администратором автоматически при старте системы
- Запустите под администратором:
sc 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 Пример использования
- Например, чтобы перехватить пакеты через указанный сетевой интерфейс и сохранить результаты, введите:
tshark -i eth0 -w capture-eth0.pcap
- Цветной вывод текста требуется терминал с поддержкой 24-битного цвета:
tshark -i any --color
- Показывать только типы файлов, начинающиеся с
test
:shark -Y 'http.content_type[0:4] == "text"'
- Показать только JavaScript:
tshark -Y tshark -i wlp2s0 -Y 'http.content_type contains "javascript"'
- Показать все http с content-type=“image/(gif|jpeg|png|etc)”:
tshark -Y 'http.content_type[0:5] == "image"'
- Показать все http с content-type=“image/gif”:
tshark -Y http.content_type == "image/gif"
- Не показывать контент http, только заголовки:
tshark -Y http.response !=0 || http.request.method != "TRACE"
- Для сопоставления IP-адресов, заканчивающихся на 255, в блоке подсетей (от 172.16 до 172.31):
tshark -Y string(ip.dst) matches r"^172\.(1[6-9]|2[0-9]|3[0-1])\.[0-9]{1,3}\.255
- Для сопоставления нечетных номеров кадров:
tshark -Y string(frame.number) matches "[13579]$"
- Печать http-данных в вик дерева:
tshark -q -i any -Y http -z http,tree