Возможности
- Кнопка «Run All». Прогоняет все проверки разом, они идут параллельно.
- Кнопка обновления в шапке. То же самое — все проверки заново.
- Тумблер автообновления. Повторяет полный прогон каждые 30 секунд, пока включён.
- Карточка сводки. Показывает одно из четырёх: упавшие проверки, «все прошли», «сколько из скольких готово» или «ничего не запускалось». Рядом — время последнего полного прогона.
- Список хостов чипами. Три хоста по умолчанию, любой можно убрать нажатием, свой добавить кнопкой Add.
- Копирование отчёта в буфер одним нажатием.
- По каждой секции — своя карточка с результатом, а упавшая секция показывает текст ошибки вместо данных.
- Кнопка повтора трассировки внизу экрана, если она не удалась.
Технические данные
| Параметр | Значение |
|---|---|
| Проверок всего | 8 |
| Интервал автообновления | 30 секунд |
| Хостов по умолчанию | api.openai.com, api.deepseek.com, 1.1.1.1 |
| Пинг | 3 пакета, ожидание 3 секунды на пакет |
| Трассировка | до 15 узлов, ожидание 2 секунды на узел |
| Соединений в ответе | не больше 50, на экране первые 20 |
| Таймаут запроса к бэкенду | 5 секунд на подключение, 15 на ответ |
| Внешний адрес | определяется запросом к внешнему сервису, запасной вариант — пинг |
Что проверяет каждая секция
Состояние сети. Тип подключения, адрес внутри сети, адрес снаружи и есть ли интернет. Тип определяется по имени сетевого интерфейса: wlan — вайфай, rmnet — мобильная сеть, tun — туннель.
Имена хостов. Находит IP-адреса по названиям и замеряет, сколько это заняло.
HTTP-эндпоинты. Запрашивает у каждого хоста адрес с путём /v1/models и показывает код ответа и задержку. Отдельно подсвечивается заголовок Retry-After, если сервер его вернул.
Пинг. Три пакета до каждого хоста: минимальная, средняя и максимальная задержка и доля потерь.
Сертификаты. На экране видно, кто выпустил сертификат, когда он истекает и сколько дней осталось. Имя сертификата и его дополнительные имена сервер возвращает, но экран их не показывает. Меньше 30 дней подсвечивается как «скоро», меньше 7 — как «срочно».
Трассировка. Список узлов по дороге к хосту с задержкой на каждом.
Активные соединения. Протокол, локальный адрес, адрес собеседника и состояние.
Живость бэкенда. Отвечает ли сервер приложения сам себе.
Что важно понимать про результаты
Проверки идут с сервера, а не с телефона. Инструменты вроде пинга и трассировки есть только у серверной части, поэтому всё, что видно на экране, — это связь сервера с интернетом. Если телефон не ловит сеть, а сервер работает нормально, экран будет зелёным.
Живость бэкенда проверяет сам себя. Эта проверка спрашивает у сервера его же адрес. Она отвечает на вопрос «не подвис ли сервер», а не «доходит ли до него телефон».
Коды 401, 403 и 404 на эндпоинтах — это нормально. Проверка идёт без ключей доступа, поэтому API-сервисы честно отвечают «нет прав». Это не поломка сети: время ответа в норме, и раздел HTTP как раз для того, чтобы отличить одно от другого. Цвет зависит от кода: 200–299 — нормальный, 400–499 — предупреждение жёлтым, всё остальное, включая 3xx и отсутствие ответа, — красным.
Трассировка часто не работает. На многих серверах утилиты трассировки нет, и тогда секция показывает пустую ошибку — это ограничение сервера, а не обрыв маршрута.
Список соединений может быть пустым. Если на сервере не оказалось утилиты показать соединения, секция вернёт пустой список, а экран напишет «0 connections» — это не значит, что соединений нет.
Свои хосты
Добавить свой хост стоит, когда нужно проверить конкретный домен. Из списка хостов он попадёт сразу в четыре проверки: имена, пинг, сертификаты и эндпоинты.
С оговорками: у произвольного хоста проверка эндпоинтов всё равно пойдёт по адресу с путём /v1/models, а для обычного сайта такой путь вернёт ошибку. Из проверки сертификатов выброшен ровно один адрес из списка по умолчанию — 1.1.1.1, потому что на нём сертификата нет. Трассировка идёт только к первому хосту в списке, поэтому если свой хост нужен именно для неё, поставьте его первым.
Что попадает в отчёт
Кнопка копирования собирает текст: время запуска, состояние сети, имена хостов, пинг, сертификаты, трассировку и живость бэкенда. Формат времени — дата и время до секунды.
Разделы с HTTP-эндпоинтами и соединениями в отчёт не попадают, хотя на экране они есть. Это стоит держать в голове: скопированный отчёт всегда короче того, что видно на экране.
Что агент умеет
Агент может открыть этот экран через мост командой app_navigate на экран netdiag и прочитать результаты командой app_ui_tree.
Отдельного инструмента для диагностики нет, но агент может сам обратиться к тем же проверкам на сервере и получить полный результат в JSON — включая те разделы, которых нет в копируемом отчёте. Запускать проверки с интервалом в 30 секунд агент не будет: это лишняя нагрузка, если он не ждёт результата прямо сейчас.
Ограничения
- Результат отражает связь сервера, а не телефона. Для проверки телефона нужны другие инструменты.
- Автообновление каждые 30 секунд постоянно дёргает сервер. При плохой сети разумнее его выключить.
- Список хостов живёт только пока открыт экран: после ухода и возврата возвращаются три хоста по умолчанию.
- Повторно добавить тот же хост нельзя — он уже есть, и добавление молча игнорируется. Регистр и пробелы в имени не важны.
- Первый автопрогон случается не сразу, а через 30 секунд после включения тумблера.
- Если удалить все хосты, сервер подставит собственный список по умолчанию: трассировка пойдёт к
api.openai.com, а проверки по хостам вернут заранее зашитые адреса. То есть экран будет выглядеть работающим, хотя вы ничего не задавали. - Ошибка одной секции не рушит остальные: каждая живёт своим состоянием, так что частичный результат читается спокойно.
- Кнопка повтора есть только у трассировки — у остальных секций после сбоя нужно снова нажимать Run All.
- Показывается не больше 20 соединений из возможных 50.
- Все тексты на экране английские.