NetDiag+

О проекте

NetDiag+ делает Dmytro Tishchenko, независимый iOS-разработчик. Приложение выросло из простого раздражения: каждый инструмент говорил, что соединение в порядке, пока звонки заикались и игры лагали, и ни один не мог сказать, кто виноват.

Поэтому приложение измеряет, а не гадает — сырые ICMP и TCP с телефона, роутер проверяется отдельно от интернета, джиттер и потери показываются рядом с задержкой, — а гайды на этом сайте объясняют, как читать эти числа. 27 инструментов, 13 языков; каждое измерение выполняется на устройстве, результаты остаются в его Истории.

Как получаются эти числа

Каждое измерение выполняется на телефоне, без единого моего сервера на пути. Ping — это сырой ICMP через непривилегированный датаграммный сокет, поэтому не нужен ни джейлбрейк, ни особый entitlement; а когда сеть фильтрует ICMP — а большинство мобильных операторов его фильтруют — инструмент повторяет попытку по TCP на тот порт, который хост действительно слушает, и помечает это прямо в строке, вместо того чтобы показать ложный таймаут.

Важнее протокола оказались две привычки. Первая — роутер измеряется отдельно от интернета: если уже первый хоп медленный, все удалённые числа завышены, и приложение говорит об этом вслух, а не даёт свалить вину на игровой сервер. Вторая — в строке стоит медиана одиннадцати попыток, а не среднее, и рядом с ней джиттер и потери. Один выброс сдвигает среднее и не может сдвинуть медиану, а соединение на 40 мс с джиттером 30 мс играется хуже ровных 120 мс — среднее прячет ровно это.

Чего оно тебе не скажет

iOS не даёт сырых сокетов, поэтому ответы приходят без своего IP-заголовка, и трассировка не может показать TTL, который вернул хоп. В фоне ничего не измеряется: измерения живут, пока открыт инструмент. Внутриигровая задержка — не то же число, что пинг до того же региона, потому что игра добавляет сверху свой тикрейт и буферизацию. А на сотовой линии очередь принадлежит оператору — приложение может доказать, что она есть, и не может с ней сделать ничего. Там, где есть такое ограничение, гайды его называют.

Для кого это

Для тех, кому сказали, что с интернетом всё в порядке. Для геймеров, у которых спидтест показывает 300 Мбит, а матч дёргается; для удалёнщиков, у которых звонок рассыпается, пока заливается бэкап; и для всех, кто собирается писать в поддержку провайдера и кому нужно что-то долговечнее скриншота. Гайд про доказательства существует потому, что серия измерений с датами проводит обращение дальше первой линии поддержки, а одно показание — нет.

Как оно сюда пришло

Всё выходило открыто, по одной проблеме за раз:

Контакты

Вопросы, баги, число, которое выглядит неправильно: support@netdiag.online · @Tischenkod80

Скачать в App Store

Бесплатно · 27 инструментов · разовая покупка убирает рекламу · без подписки