Ответ
Снифферы трафика — инструменты для перехвата и анализа сетевых запросов, незаменимые для отладки API, проверки безопасности и диагностики проблем.
Charles Proxy (для HTTP/HTTPS)
Идеален для тестирования веб и мобильных приложений. Основные функции:
- Просмотр трафика: Детальный разбор запросов/ответов (заголовки, тело, timing).
- Модификация "на лету":
- Breakpoints: Остановка и изменение запроса или ответа перед отправкой.
- Map Local/Remote: Подмена ответа сервера на локальный файл или другой удаленный ресурс.
- Throttling: Эмуляция медленных сетей (3G, Edge).
- Повтор запросов (Repeat): Для нагрузочного тестирования или воспроизведения сценариев.
Настройка для HTTPS:
- Установите корневой сертификат Charles (
Help -> SSL Proxying -> Install Charles Root Certificate). - Включите SSL Proxying для нужных доменов (
Proxy -> SSL Proxying Settings). - На мобильном устройстве настройте прокси на ПК с Charles и установите сертификат.
Wireshark (для низкоуровневого анализа)
Анализирует сырые сетевые пакеты (Ethernet, TCP, UDP). Применение в тестировании:
- Диагностика сетевых проблем: Потеря пакетов, высокие задержки (latency), ретрансмиты.
- Анализ не-HTTP трафика: Работа с базами данных, специализированными протоколами.
- Проверка безопасности: Обнаружение незашифрованных передач конфиденциальных данных.
Пример фильтра Wireshark для отладки API:
# Показать только HTTP POST запросы с определенного IP
http.request.method == "POST" && ip.src == 192.168.1.100
# Показать все пакеты, связанные с конкретным TCP-потоком
tcp.stream eq 10
Выбор инструмента:
- Используйте Charles/Fiddler для повседневной отладки HTTP(S) API и модификации трафика.
- Используйте Wireshark для глубокой сетевой диагностики, когда проблемы лежат ниже уровня приложения.