Перейти к содержимому

Условия реального мира

Посмотреть, куда ходит трафик приложения

Каждый DNS-запрос устройства, подмена имени на стейджинг, далёкие серверы и лишние соединения в маршрутах.

Зачем: медленный экран часто тормозит не из-за приложения, а из-за сети вокруг него: CDN на другом континенте, несуществующее имя, новое TLS-соединение на каждый запрос. А чтобы проверить приложение на стейджинге, не нужна отдельная сборка.

  1. Вкладка DNS показывает каждое имя, которое ищет устройство, в реальном времени.
  2. Пометки выделяют главное: NXDOMAIN — имени не существует, far — все адреса на другом континенте, чем выход VPN, DoH blocked — шифрованный DNS, который обошёл бы журнал.
  3. Подробности строки показывают цепочку CNAME и каждый адрес со страной и сетью.
  4. Rewrite this name отвечает на имя вашим адресом, блокирует его или делает несуществующим.
  5. Вкладка Routes ведёт соединения от устройства через VPN до каждого сервера, с пометками no reuse, far, bypass и HTTP.
  6. Flagged оставляет только подозрительные имена.
  • Боевое приложение на стейджинге. Подмените api.example.com на IP стейджинга и перезапустите приложение. Выключите правило, чтобы вернуться обратно; с TTL 0 это срабатывает сразу.
  • Что, если аналитика лежит? Сделайте домен аналитики Doesn’t exist или Block и проверьте, что приложение открывается и не висит на спиннере.
  • Почему картинки медленные в Казахстане? Переключите страну на Казахстан и ищите far в Routes: CDN без площадки рядом сразу будет виден.
  • Слишком много хендшейков. no reuse на вашем API значит, что каждый запрос открывает новое TCP- и TLS-соединение. Отправьте список соединений из подробностей бэкенд-команде.
  • Обе вкладки есть в сессиях с VPN-локацией: её сайдкар видит DNS и соединения устройства.
  • Подмены сбрасывают DNS-кэш Android, но WebView может держать имя до минуты. Перезапустите приложение, если подмена должна действовать везде.
  • Набор подмен можно сохранить в Sets и загрузить в другой сессии.
  • Записи сохраняют обе вкладки, так что по ссылке на запись видно ответы DNS и соединения в момент бага.
  • Нет вкладки DNS или Routes: у сессии нет VPN-локации. На физических телефонах есть Routes, но пока нет DNS.
  • Подмена не действует: приложение зашило IP-адрес или резолвит имена через свой DNS over HTTPS.
  • Нет стран: в этом Holtdroid не настроены базы геолокации.

Подробнее: DNS log and rewrites, Routes.