Зачастую сетевые сбои, неполадки, ограничения со стороны провайдеров затрагивают даже самые крупные сервисы, что можно отслеживать например, через СБОЙ.РФ или DownDetector.
Платформа SimpleOne - тоже веб-сервис, для работы с ним через браузер нужна сетевая связность между устройством пользователя и той инфраструктурой с серверами, на которой запущено приложение. Если сетевая связность нарушена, TCP/IP-запросы клиента не приведут к корректным отправке и получению пакетов, могут возникать различные ошибки с разрешением DNS, таймаутами, сбросом соединения, белым экраном, зависаниями и т.д.
В текущей инструкции собираем полезные инструменты и команды (приводятся в ознакомительных целях), чтобы быстрее локализовать проблему, понять на каком уровне модели OSI она возникла и сделать выводы в чьей зоне ответственности восстановление доступности.
Curl
Curl — это консольная утилита для отправки сетевых запросов по URL (адрес ресурса, сайта в интернете) с широким набором доп. флагов и функций.
curl -v https://home.simpleone.ru/
Флаг -v детально показывает процесс соединения с ресурсом, запрос и ответ, из вывода станет понятно разрешается ли доменное имя в ip адрес в DNS системе, доступен ли этот ip адрес по сети, устанавливается ли шифрованное TLS соединение.
При корректной работе ресурса с приемлемой скоростью будет возвращён код HTTP/1.1 200 OK, и сообщение об установлении соединения, например Connection #0 to host home.simpleone.ru left intact.
Важно проверить, что сетевые неполадки не являются локальной проблемой, для этого можно обратиться к соседним сайтам (в этой же инфраструктуре), либо к публичным ресурсам и проверить работают ли вообще другие сайты, есть ли выход в интернет, например:
curl -v https://2ip.ru/ # возвращает Ваш IP адрес выхода в интернет
curl -v https://www.google.com/
Если наблюдаются затруднения с открытием любых ресурсов, лучше проверить скорость интернета спец. сервисами (https://speedtest.ru/), обратиться к провайдеру.
Ping
Ping — это простая команда для проверки, доступен ли сайт или адрес, позволяет понять:
-
доходят ли запросы до ресурса и отвечает ли он на них
-
сколько миллисекунд идёт ответ
-
есть ли потери пакетов в сети
# пинг по доменному имени с направлением 3х тестовых пакетов
ping -c 3 home.simpleone.ru
# пинг Google Public DNS, обычно так проверяют наличие Интернета
ping 8.8.8.8
При отсутствии сетевых неполадок время между ответами должно быть низкое и стабильное (без прыжков), а также не должно быть потерь пакетов 0% packet loss
Трассировка
Если через ping наблюдаются потери и задержки, можно использовать трассировку, чтобы посмотреть путь пакетов по промежуточным узлам.
Трассировка — это отслеживание пути сетевых пакетов от клиента до целевого сервера, с отображением всех промежуточных узлов.
Позволяет понять:
-
Где возникает задержка — на каком промежуточном узле (хопе) она появляется.
-
Где теряются пакеты — на каком участке маршрута происходит потеря пакетов.
# На Windows
tracert test.simpleone.ru
# На Linux
traceroute test.simpleone.ru
mtr test.simpleone.ru # динамическая трассировка в реальном времени
На скрине представлен пример трассировки, где пакеты до финального узла доходят стабильно и без потерь.
Знаки * * * не являются здесь неполадкой, но свидетельствуют о том что некоторые промежуточные узлы не отвечают на ICMP-запросы.
Отсутствие ответа на последнем узле или рост задержек на конкретном из узлов помогли бы нам локализовать сетевую проблему.
Проверка с других устройств, сетей и локаций
Во многих случаях открытие сайта с мобильного или другого устройства позволяет понять, имеет ли место быть проблема с конкретным ПК/сетью, либо же с других устройств и локаций она тоже воспроизводится.
Существуют и специальные сервисы для проверки доступности:
- Сервис Check-host - позволяет проверить доступность конкретного интернет ресурса сразу с десятка разных локаций. Доступны для проверки HTTP запросы, DNS, Ping
- Виртуальный интерактивный вэб-браузер Browserling для тестирования работы сайта с Интернета
Будем благодарны, если поделитесь в комментариях Вашими наработками по диагностике сетевых неполадок!



