SNSCDNSNSCDN

Как читать результаты проверки сети SNSCDN: PASS, FAIL и SKIP

Сетевые руководстваPublished 2026-09-19Updated 2026-09-19

Инструмент SNSCDN netcheck помогает найти самый ранний этап, на котором в ходе одной проверки возникло отклонение. Это не тест скорости: он не проверяет подписку, конфигурацию клиента или доступность из всех регионов.

Скачайте или скопируйте публичный репозиторий инструментов и откройте его корневой каталог. В macOS или Linux выполните:

bash bin/netcheck.sh example.com 443

В Windows PowerShell выполните:

.\bin\netcheck.ps1 example.com 443

Замените example.com на общедоступное имя хоста, которое нужно проверить. Не используйте URL подписки, URL с токеном, адрес панели администрирования, частный IP-адрес или другую закрытую цель.

Скрипты не отправляют результаты проверки в SNSCDN, но выполняют обычные DNS-запросы и подключения к выбранной цели. DNS-резолвер и целевой сервер могут видеть обычные метаданные запроса или подключения.

Определите, какую версию вы запускали

ДействиеmacOS / LinuxWindows PowerShell
DNSИспользует доступную системную команду разрешения имёнИспользует разрешение DNS средствами .NET
TCPВыполняется, если установлен ncВыполняется с тайм-аутом около 5 секунд
TLSОтдельная строка появляется только для порта 443 при наличии OpenSSLОтдельной строки TLS нет
HTTPcurl отправляет обычный запрос GET; 2xx/3xx означает PASSInvoke-WebRequest отправляет запрос HEAD
SKIPМожет появиться, если нет нужной команды или не выполнено условие проверки TLSСейчас SKIP не выводится

Некоторые сервисы отклоняют запросы HEAD, поэтому версия для Windows может сообщить о 403, 405 или общей ошибке HTTP, хотя браузер с запросом GET открывает страницу. Одной этой разницы недостаточно, чтобы считать сайт недоступным.

Читайте результат сверху вниз

DNS lookup failed

В ходе этой проверки не удалось получить IP-адрес для имени хоста. Проверьте написание, затем, не меняя другие условия, сравните Wi-Fi и мобильный интернет. Если сбой возникает только в одной сети, сначала проверьте эту сеть или её путь DNS-разрешения. Если сбой повторяется в нескольких сетях, проверьте общедоступное состояние DNS домена. Одна эта строка не доказывает, что сервер отключён.

TCP port ... is unreachable

Устройство не смогло подключиться к целевому порту за отведённое время. Возможная причина находится в локальном брандмауэре, сети доступа, маршруте, правилах для порта или удалённом сервисе. Следующие проверки HTTP также могут завершиться ошибкой как следствие, поэтому начните с самой ранней ошибки TCP, а не считайте каждую неудачную строку отдельной проблемой.

TLS certificate received

Эта строка означает только, что Bash-скрипт получил через TLS данные сертификата, которые смог разобрать OpenSSL. Проверка не подтверждает полностью цепочку доверия, соответствие имени хоста, срок действия или совместимость с браузером, поэтому она не равнозначна выводу «сертификат полностью действителен».

Если браузер всё равно показывает предупреждение о сертификате, отдельно проверьте часы устройства, имя хоста, срок действия и цепочку доверия. Не игнорируйте предупреждение и не отключайте проверку сертификатов в качестве обходного решения.

TLS handshake or certificate check failed

Bash-скрипт не получил данные сертификата, которые OpenSSL смог бы разобрать. Причина может быть в имени хоста, промежуточном сетевом оборудовании, конфигурации TLS или удалённом сервисе; одна эта строка не доказывает, что срок сертификата истёк. В версии для Windows нет отдельной строки TLS, поэтому связанные исключения обычно отображаются в HTTP request failed: ....

Явный статус HTTP 4xx или HTTP 5xx

Только явный статус HTTP подтверждает, что инструмент получил HTTP-ответ. Код 4xx обычно означает, что запрос отклонён или не соответствует требованиям конечной точки. Код 5xx означает, что сервис не смог обработать его обычным образом. Ни один из этих ответов не означает, что сеть полностью недоступна.

Версия Bash помечает 2xx/3xx как PASS, а другие явные коды состояния — как FAIL. Скрипт не переходит по перенаправлению автоматически, поэтому [PASS] HTTP 301 или 302 доказывает только получение ответа с перенаправлением, но не доступность конечного адреса. Версия для Windows использует HEAD и может поместить ответ с ошибочным статусом в краткое описание исключения.

Общая ошибка HTTP request failed

Она не доказывает, что запрос дошёл до HTTP-сервиса. Общую ошибку могут вызвать DNS, TCP, TLS, тайм-аут, разрыв соединения, отклонённый запрос HEAD или неуспешный статус. В PowerShell прочитайте краткое описание исключения в той же строке. Версия Bash скрывает описание ошибки curl, поэтому вернитесь к самому раннему результату DNS, TCP или TLS выше.

[SKIP] и заключительная строка [PASS]

[SKIP] означает, что проверка не выполнялась, а не то, что она пройдена. Bash-скрипт считает только [FAIL], поэтому после одного или нескольких пропущенных шагов он всё равно может вывести [PASS] No blocking problem detected. Просмотрите все строки, а не только итог. В версии для Windows сейчас нет вывода SKIP.

Если все доступные проверки показывают PASS, это означает лишь, что данный запуск не обнаружил блокирующей проблемы. Инструмент не измеряет пропускную способность, не проверяет настройки клиента и не доказывает стабильность в других сетях, регионах, маршрутах или в другое время. Для более полной диагностики продолжите с руководством по подключению и поддержке.

Подготовьте данные для поддержки без раскрытия конфиденциальной информации

Передавайте только:

  • операционную систему устройства и её версию;
  • тип сети, например домашний Wi-Fi или мобильный интернет;
  • дату, время и часовой пояс проверки;
  • общедоступное имя хоста и порт;
  • каждую отметку [PASS] и [FAIL], а также [SKIP], если она появилась в версии Bash;
  • краткий текст ошибки, которую одновременно показал браузер или клиент.

Перед отправкой удалите разрешённые IP-адреса, полные URL, сведения сертификата, адрес электронной почты аккаунта, данные заказа, URL подписки, QR-коды, токены доступа и другие учётные данные. Краткое описание исключения PowerShell также может содержать URL или внутренние сведения, поэтому сначала проверьте и скройте их. Не публикуйте полный журнал в общедоступном issue, на форуме или в групповом чате. По вопросам аккаунта, заказа и подписки используйте систему обращений после входа в учётную запись.