Глиф Учебники

Урок 7. Диагностика сети: ping, tracert, nslookup и ipconfig

Курс «Компьютерные сети» · урок 7 из 9 · 5 минут чтения

«Интернет не работает» — это не диагноз. Обрыв может быть в Wi‑Fi, в роутере, у провайдера, в DNS или в самом сайте, и лечится каждый случай по-своему. В этом уроке — порядок проверки и команды, которые есть в любой системе.

Порядок проверки

Идите от ближнего к дальнему — так сразу видно, на каком участке обрыв:

  1. Есть ли подключение: значок сети, кабель, индикаторы на роутере.
  2. Есть ли у компьютера адрес: ipconfig или ip -br -4 addr.
  3. Отвечает ли роутер: ping адреса шлюза.
  4. Есть ли интернет по адресу: ping 1.1.1.1 (адрес публичного DNS-сервера, отвечает на ping).
  5. Работает ли DNS: nslookup glif.by.
  6. Открывается ли нужный сайт или порт.
1 2 3 4 5 6 подключение значок, кабель роутер ping шлюза DNS nslookup glif.by дальше адрес ipconfig интернет ping 1.1.1.1 сайт или порт Test-NetConnection ближе
Шесть проверок от ближнего к дальнему: подключение, адрес, роутер, интернет по адресу 1.1.1.1, DNS и, наконец, сайт или порт.

Адрес и шлюз

В Windows:

Командная строка
ipconfig

У активного подключения найдите «IPv4-адрес» и «Основной шлюз». Полные сведения, вместе с DNS-серверами, — ipconfig /all.

В Linux:

Bash
ip -br -4 addr
ip route show default

Первая команда показывает адреса интерфейсов, вторая — шлюз (адрес после via).

Что видно на этом шаге:

ping: есть ли связь

ping отправляет короткие запросы и ждёт ответа. Windows по умолчанию отправляет четыре запроса и останавливается. Linux и macOS шлют без остановки, пока не нажмёте Ctrl+C, поэтому там указывают число запросов ключом -c:

Терминал
$ ping -c 4 192.168.1.1
PING 192.168.1.1 (192.168.1.1) 56(84) bytes of data.
64 bytes from 192.168.1.1: icmp_seq=1 ttl=64 time=0.521 ms
64 bytes from 192.168.1.1: icmp_seq=2 ttl=64 time=0.487 ms
64 bytes from 192.168.1.1: icmp_seq=3 ttl=64 time=0.502 ms
64 bytes from 192.168.1.1: icmp_seq=4 ttl=64 time=0.493 ms

--- 192.168.1.1 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3062ms
rtt min/avg/max/mdev = 0.487/0.501/0.521/0.013 ms

В русской Windows ответы выглядят так: «Ответ от 192.168.1.1: число байт=32 время=2мс TTL=64», а в конце — итог «Пакетов: отправлено = 4, получено = 4, потеряно = 0». Сообщения об ошибках:

Чтобы следить за связью долго (например, ловить обрывы Wi‑Fi), в Windows есть ключ -t — ping -t 192.168.1.1, останавливается он тоже Ctrl+C.

Многие серверы и компьютеры нарочно не отвечают на ping, а Windows по умолчанию часто не отвечает на ping от других компьютеров — так настроен брандмауэр. Нет ответа на ping — ещё не значит, что узел выключен.

tracert и traceroute: где обрывается путь

Команда показывает, через какие маршрутизаторы идут пакеты до цели. В Windows:

Командная строка
tracert glif.by
tracert -d glif.by

Ключ -d не превращает адреса узлов в имена — так быстрее. В Linux команда называется traceroute (в Ubuntu — пакет traceroute); если её нет, похожий путь покажет tracepath. Пример вывода — адреса в нём условные:

Терминал
$ traceroute -n 203.0.113.50
traceroute to 203.0.113.50 (203.0.113.50), 30 hops max, 60 byte packets
 1  192.168.1.1  0.512 ms  0.488 ms  0.470 ms
 2  10.20.0.1  2.913 ms  2.887 ms  2.861 ms
 3  * * *
 4  198.51.100.9  4.204 ms  4.188 ms  4.170 ms
 5  203.0.113.50  4.950 ms  4.921 ms  4.899 ms

Каждая строка — один узел на пути и три замера времени. Первый узел — ваш роутер, следующие — сеть провайдера и дальше. Звёздочки * * * значат, что узел не ответил на служебный запрос. Если дальше узлы отвечают, как в строке 4, всё в порядке: этот маршрутизатор просто не тратит время на такие ответы. Если звёздочки идут от какого-то узла и до конца — связь теряется где-то после последнего ответившего.

Звёздочки посередине — путь работает роутер провайдер цель 1 2 3 4 5 192.168.1.1 10.20.0.1 * * * молчит, но пропускает 198.51.100.9 203.0.113.50 Звёздочки до конца — обрыв после узла 2 1 2 3 4 5 192.168.1.1 10.20.0.1 * * * * * * * * *
Звёздочки на одном узле при ответах дальше не мешают пути, а звёздочки от какого-то узла до конца значат обрыв после последнего ответившего узла.

Windows и Linux проверяют путь разными пакетами, поэтому их результаты для одной цели могут немного различаться.

Подробнее о потерях на каждом узле расскажут pathping в Windows и mtr в Linux (пакет mtr): они долго шлют запросы каждому узлу и считают долю потерь. pathping работает несколько минут — дождитесь итога.

nslookup: работает ли DNS

Командная строка
nslookup glif.by
nslookup glif.by 1.1.1.1

Первая команда спрашивает свой DNS-сервер, вторая — публичный 1.1.1.1. Если отвечает только вторая, сломан ваш DNS-сервер. Что это значит и как исправить — в уроке DNS и справке DNS-сервер не отвечает.

Проверка порта

Когда сайт или сервер отвечает на ping, но нужная программа не подключается, проверьте сам порт:

PowerShell
Test-NetConnection glif.by -Port 443

Это PowerShell в Windows; в Linux то же делает nc -zv glif.by 443. Как понимать ответ — в уроке Порты и протоколы.

Что значит результат

Что видноГде искать
Адреса нет или 169.254.x.xWi‑Fi или кабель, DHCP роутера
Шлюз не отвечаетWi‑Fi, кабель, сам роутер
Шлюз отвечает, 1.1.1.1 — нетсвязь роутера с провайдером: кабель WAN, настройки подключения, авария у провайдера
1.1.1.1 отвечает, имена — нетDNS
Всё отвечает, не открывается один сайтсам сайт; проверьте его с другого устройства и через мобильный интернет
Потери и скачки времени до шлюзаWi‑Fi: расстояние, стены, помехи

Самое частое лекарство — перезагрузить роутер: выключить из розетки на 10–20 секунд и включить. Если связи нет и после этого, а шлюз отвечает — звоните провайдеру и называйте, что уже проверили.

Коротко

Проверьте себя

1. ping шлюза проходит, ping 1.1.1.1 — нет. Где, скорее всего, обрыв?
2. Какой ключ ограничивает число запросов ping в Linux?
3. В выводе tracert в третьей строке * * *, а четвёртая и пятая с ответами. Что это значит?
4. ping 1.1.1.1 работает, а сообщение «При проверке связи не удалось обнаружить узел» появляется для любого сайта. Что проверить?