Диагностика компьютерных сетей штатными средствами операционной системы

Данная статья специально для тех, кто понимает, что такое IP-адрес, DNS и основной шлюз сети, а также знаком с терминами провайдер, сетевая карта и т.д. Обзор этих терминов, возможно, будет опубликован отдельно.

Поскольку статья написана для большой аудитории от простого пользователя Windows до начинающего администратора UNIX или пользователя MacOS, я решил выделить 2 части. В первой части статьи я расскажу о методах обнаружения и устранения сетевых ошибок средствами операционной системы Windows, во второй части – средствами UNIX-подобных ОС, таких, как Linux, FreeBSD, MacOS. И так, у Вас не работает Интернет, в отличии от Ваших коллег, соседей, жены, которые работают через один и тот же роутер/сервер и т.д. Что делать?

Диагностика и устранение ошибок сети штатными средствами ОС Windows

Для начала нам потребуется рабочий инструмент. Повторюсь, никаких сторонних программ устанавливать мы не будем, используем только то, что есть в составе ОС. Итак, запускаем Командную строку. Для тех, кто не знает, это черное окошко с белыми буковками. Находится она в меню Пуск->Все программы->Стандартные-> Командная строка. Быстро вызвать ее также можно через поиск в Windows7/Windows8 по фразе cmd или Пуск->Выполнить->cmd в WindowsXP.

Мигающий курсор говорит нам о том, что программа готова к вводу команд. Все эти команды мы будем вбивать не обращая внимания на то, что написано до этого курсора.

Шаг 1: проверяем состояние оборудования, наличия подключения(кабеля)

За все это отвечает команда ipconfig. Набираем ipconfig /all и нажимаем Enter. Таким же образом мы будем набирать и остальные команды. Обращаю внимание, что сама команда ipconfig запускается с параметром all, который обязательно отделяется пробелом и знаком косой черты /. Отреагировав на команду ipconfig, система нам вывела несколько экранов информации, в которые нам предстоит вникнуть, чтобы правильно диагностировать и устранить проблему сети.

ipconfig /all

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

Поскольку у меня ноутбук, были обнаружено несколько доступных сетевых адаптеров. Особо я выделю 

  • Адаптер беспроводной локальной сети [дальше идет название сети в системе] и
  • Ethernet adapter [дальше идет название сети в системе].

Если у Вас, как, например, в моем случае, применимо к выделенной проводной сети в строке Состояние среды значится фраза Среда передачи недоступна значит налицо неподключенный или испорченный кабель/розетка/порт коммутатора и т.п. В случае наличия физического подключения, как например у меня в Wi-Fi сети, будут выведены основные настройки (мы рассмотрим только некоторые из них):

  • Описание: здесь, как правило, указывается сетевой адаптер, определенный системой (виртуальные адаптеры, типа Microsoft Virtual и т.п. не имеет смысла рассматривать вообще, нам нужны только физические);
  • DHCP включен: важный параметр, который указывает, как был получен адрес: автоматически через DHCP(будет значение Да) или установлен вручную(будет значение Нет);
  • IPv4-адрес: IP-адрес в TCP/IP сети – один из трех самых важных параметров, который понадобится нам в дальнейшем;
  • Маска подсети: Еще один важный параметр;
  • Основной шлюз: 3-й важный параметр – адрес маршрутизатора/шлюза провайдера, как правило совпадает с DHCP-сервером, если настройки получены автоматически;
  • DNS-серверы: адреса серверов, которые преобразуют имена хостов в IP-адреса.

Шаг2: проверяем правильность IP-адреса

В случае, если у Вас настройки получаются автоматически (опция DHCP включен - Да), но не заполнен параметр Основной шлюз и DNS-серверы, служба DHCP не работает на роутере или сервере. В этом случае нужно убедиться, что роутер включен (возможно попробовать его перезагрузить), в случае сервера, что служба DHCP работает и назначает адреса.

После перезагрузки роутера, необходимо, обновить настройки. Для этого можно перезагрузить компьютер или просто выполнить 2 команды:

  • ipconfig /release – для сброса всех автоматических настроек
  • ipconfig /renew – чтобы получить автоматические настройки

ipconfig /release /renew

В результате обеих команд мы получим вывод, аналогичный выводу команде ipconfig /all. Наша задача добиться того, чтобы были заполнены IPv4-адрес, Маска подсети, Основной шлюз, DNS-серверы. Если настройки назначаются вручную – проверяем, чтобы были заполнены IPv4-адрес, Маска подсети, Основной шлюз, DNS-серверы. В случае домашнего интернета эти настройки могут быть указаны в договоре с провайдером.

Шаг 3: проверяем доступность своего оборудования и оборудования провайдера

После того, как все настройки получены, необходимо проверить работоспособность оборудования. К слову сказать, вся сеть представляет собой цепочку шлюзов. Первый из них и есть тот Основной шлюз, который выдала нам команда ipconfig, следующий – шлюз, являющийся основным для провайдера и так далее до достижения нужного узла в сети Интернет.

И так, для проверки сетевых устройств в Windows служит команда ping и для того, чтобы правильно диагностировать проблему в работе сети необходимо выполнить пинг для следующих адресов в последовательности:

  1. Свой компьютер (IPv4-адрес). Наличие отклика свидетельствует о работоспособности сетевой карты;
  2. Роутер или сервер, выполняющий роль Интернет-шлюза (Основной шлюз). Наличие отклика свидетельствует о правильной настройки компьютера для работы в локальной сети и доступности шлюза, отсутствие отклика свидетельствует либо о неверных настройках, либо о неработающем роутере/сервере.
  3. Ваш IP у провайдера (обычно указан в договоре с провайдером – настройки, IP-адрес). Наличие отклика свидетельствует о правильной настройки Вашего компьютера, роутера/сервера, отсутствие отклика – либо о неверной настройки роутера, либо о недоступном шлюзе провайдера/ неполадках на стороне провайдера.
  4. DNS (DNS-серверы). Наличие отклика свидетельствует о корректной работе сетевого протокола – если в этом случае не работает Интернет, скорее всего дело в самой операционной системе, вирусном заражении, программных блокировках, как со стороны провайдера, так и самого компьютера/шлюза.
  5. IP-адрес любого рабочего хоста в сети, например я использую DNS-сервер Google – 8.8.8.8. Отклик свидетельствует о правильной работе сетевого оборудования как с Вашей стороны, так и со стороны провайдера. Отсутствие отклика свидетельствует об ошибках, которые дополнительно диагностируются трассировкой.
  6. URL любого сайта, например yandex.ru. Отсутствие отклика может свидетельствовать о неработающей службе распознавания адресов, если не удалось преобразовать url в IP-адрес. Это проблема скорее всего службы DNS-клиент, которая отключена в Windows на Вашем ПК, либо работает не правильно.

Для рассматриваемого примера будут выполнены следующие команды.

ping

При положительном тесте будет выведено количество отправленных и полученных пакетов, а также время прохождения пакета до узла сети.

Характерные ошибки выглядят подобным образом.

ping узел недоступен

Шаг 4: Тестирование трассировкой

Также общую картину можно получить, если воспользоваться трассировкой. Суть теста в том, что пакет проходит по всем шлюзам от тестируемого компьютера до узла сети. В качестве узла сети может быть шлюз провайдера, какой-либо сервер или просто url сайта.

Для запуска необходимо применить команду tracert. В примере, я буду тестировать сайт yandex.ru:

Трассировка tracert

На первом шаге хост преобразуется в IP-адрес, что свидетельствует о правильной работе DNS-служб и верной настройке сети. Далее по порядку пакет проходит по всем шлюзам сети до назначения:

  • 1-Основной шлюз
  • 2,3-Шлюзы провайдера (может быть 1 или несколько)
  • 4,6-Промежуточный шлюзы
  • 5-Один из шлюзов не доступен
  • 7-Нужный нам сайт yandex.ru

Диагностика неисправности сети в этом тесте помогает определить на каком именно узле имеется неисправность. Так, например, если пакет не уходит дальше 1-й строки (Основной шлюз), значит существует проблема с роутером или ограничения на стороне провайдера. 2-я строка – проблема на стороне провайдера и т.д.

Шаг 5: Тестирование отдельных протоколов

При успешном прохождении всех вышеперечисленных тестов можно утверждать о правильной настройке сети и работе провайдера. Однако и в этом случае могут некорректно работать некоторые клиентские программы, например электронная почта или браузер.

Связано это может быть как с проблемами на самом компьютере (например, вирусное заражение или неправильные настройки программы или вовсе ее неработоспособность), так и с ограничительными мерами, применяемыми провайдером (блокирование 25-го порта для отправки почты).

Для диагностики этих проблем применяется программа telnet. По умолчанию в ОС Windows 7 и выше, данный компонент не установлен. Для установки необходимо перейти в Пуск-Панель-Управления->Программы(Программы и компоненты, Установка и удаление программ в зависимости от версии ОС), перейти в Включение и отключение компонентов Windows (для этого требуются права администратора) и установив галочку напротив Клиент Telnet нажать OK.

Панель управлени Все программы Выбор компонентов Windows Telnet-клиент

Теперь мы можем приступать к тестированию сетевых портов. Для примера, проверим работоспособность почтового протокола.

У меня есть корпоративный почтовый ящик, который располагается на хостинге RU-CENTER. Адрес сервера: mail.nic.ru, сообщения перестали поступать по протоколу POP3, стало быть порт 110 (адрес сервера и номер порта я взял из настроек Outlook). Таким образом для того, чтобы проверить, имеет ли мой компьютер доступ к серверу mail.nic.ru по порту 110 в командной строке я запишу:

telnet mail.nic.ru 110

telnet 110

Далее сервер выдал мне статус моего обращения +ОК, что свидетельствует о корректной работе как сети в целом, так и почтовой службы в частности и в неработающей почте скорее всего виноват почтовый клиент.

Ответ сервера по telnet

Убедившись в этом, я набираю команду quit, на что сервер снова ответил мне +ОК и тем самым завершил сеанс работы команды telnet.

Таким образом, с помощью штатных средств операционной системы Windows мы можем диагностировать и устранить проблему сети. В следующей части статьи, я расскажу о штатных средствах диагностики в UNIX-подобных ОС, таких, как Linux, FreeBSD и MacOS.