Wireshark
Введение | |
Установка | |
Фильтр по порту | |
Фильтр по протоколу (FTP) | |
Составные фильтры | |
Сохранить фильтр | |
Отследить обмен между двумя хостами | |
Формат отображения времени | |
Связанные статьи |
Введение
Wireshark — программа-анализатор трафика для компьютерных сетей Ethernet и некоторых других.
Имеет графический пользовательский интерфейс. Изначально проект назывался Ethereal, но из-за проблем с торговой маркой в июне
2006 года проект был переименован в Wireshark.
Функциональность, которую предоставляет Wireshark, очень схожа с возможностями программы tcpdump, однако Wireshark имеет
графический пользовательский интерфейс и гораздо больше возможностей по сортировке и фильтрации информации.
Программа позволяет пользователю просматривать весь проходящий по сети трафик в режиме реального времени,
переводя сетевую карту в неразборчивый режим (англ. promiscuous mode).
Программа распространяется под свободной лицензией GNU GPL и использует для формирования графического интерфейса
кроссплатформенную библиотеку Qt.
Существуют версии для большинства UNIX-подобных систем, в том числе
GNU/Linux
, Solaris,
FreeBSD
,
NetBSD,
OpenBSD
,
macOS, а также для
Windows
.
Wireshark — это приложение, которое «знает» структуру самых различных сетевых протоколов, и поэтому позволяет разобрать сетевой пакет,
отображая значение каждого поля протокола любого уровня.
Поскольку для захвата пакетов используется pcap, существует возможность захвата данных только из тех сетей, которые поддерживаются
этой библиотекой. Тем не менее, Wireshark умеет работать с множеством форматов входных данных, соответственно,
можно открывать файлы данных, захваченных другими программами, что расширяет возможности захвата.
Для расширения возможностей программы возможно использование скриптового языка Lua.
Установка Wireshark
Подробно про установку WireShark вы можете прочитать здесь
Мониторить определённый порт
Если я хочу следить за своим Thrift сервером на порту 9090 то фильтр будет выглядеть так
tcp.port eq 9090
Фильтр по протоколу
Пример - FTP
Задача - проверить удалил ли разработчик устаревший поллинг по FTP.
Проверка логов нам не подходит, так как разработчик мог удалить запись в лог, но забыть удалить сам поллинг
Поэтому нужно проверить реальный обмен данными, для чего прекрасно подходит Wireshark.
Запускаем Wireshark. Применяем фильтр ftp-data. Запускаем клиент.
Внимательно смотрим какие сообщения захватывает Wireshark
Выключаем старый клиент. Удаляем базу данных если она общая. Перезапускаем Wireshark. Применяем фильтр ftp-data. Внимательно смотрим какие сообщения захватывает Wireshark
Видно, что никаких пакетов по ftp не послано. Всё спокойно. Принимаем работу. Акцептим стори.
Составные фильтры в Wireshark
Часто бывает необходимо наложить несколько условий одновременно. На этот случай предусмотрены логические операторы
and | && | «И» |
or | || | «ИЛИ» |
xor | ^^ | исключающее «ИЛИ» |
not | ! | отрицание |
[…] | […] | выборка подстроки |
Сохранить фильтр
Чтобы не писать условия фильтрации каждый раз вручную введённый фильтр можно сохранить.
Для этого в панели инструментов "Filter" нужно нажать на значок закладки и выбрать
Save this filter
Обмен между конкретными хостами
Если нас интересует только обмен данными между двумя конкретными хостами, используем фильтры
ip.src
чтобы задать адрес источника и
ip.dst чтобы задать адрес назначения.
Предположим нас итересует что 10.6.1.2 шлёт на 10.6.1.3
Используем фильтр
ip.src==10.6.1.2 and ip.dst==10.6.1.3
Если нужно указать маски подсети: ip.src==10.6.1.2/4 and ip.dst==10.6.1.3/4
Задав дополнительное условие можно следить за обменом трафиком только по определённому протоколу
ip.src==10.6.1.2 and ip.dst==10.6.1.3 and ftp
Если интересен трафик по нескольким протоколам, их можно перечислить с условаием or
ip.src==10.6.1.2 and ip.dst==10.6.1.3 and (ftp or smb2)
Если нужен трафик в обе стороны
(ip.src==10.6.1.2 or ip.src==10.6.1.3) and (ip.dst==10.6.1.3 or ip.dst==10.6.1.2) and (ftp or smb2)
Time
По умолчанию время отсчитывается с момента получения первого пакета. Выглядит примерно следующим образом:
100.123456
Если нужно изменить формат отображения времени делается это через
View → Time Display Format
Если выбрать вариант Data and Time of Day выглядеть время будет следующим оригинальным образом
2024-12-08 09:54:59.200944
Тестирование ПО | |
Разработка ПО | |
DevOps | |
IT | |
Кибербезопасность | |
RFID | |
Web | |
Список открытых API |