Устранение неполадок TCP/IP: структурированный подход. Часть 4. Использование Netdiag.exe

Опубликовано: 24 Марта, 2023
Устранение неполадок TCP/IP: структурированный подход. Часть 4. Использование Netdiag.exe

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

 

 

    • Результаты процесса восстановления нельзя сохранить для последующего просмотра или создания отчетов.

 

  • На многосетевых компьютерах процесс восстановления необходимо выполнять отдельно для каждого сетевого подключения.
  • Количество тестов, выполняемых процессом восстановления, ограничено.

 


Получите свою копию Windows Server Hacks!

 

Эти ограничения можно обойти с помощью Netdiag.exe, средства устранения неполадок сетевого подключения, входящего в состав средств поддержки Windows. Netdiag выполняет более обширную серию тестов, чем процесс восстановления, и выполняет намного больше тестов, чем процесс восстановления. Вы также можете перенаправить выходные данные для Netdiag.exe в текстовый файл, чтобы иметь запись о выполненных тестах и их результатах.

 

Установка Netdiag

 

Вы можете установить Netdiag, установив средства поддержки Windows, которые можно установить, дважды щелкнув SupportToolsSUPTOOLS.MSI. По умолчанию инструменты поддержки устанавливаются в %SystermDrive%Program FilesSupport Tools, но мне проще установить их в %SystemDrive%Tools, так как инструменты нужно запускать из командной строки, и это делает ввод пути к ним инструменты проще запускать их. В качестве альтернативы, если вы хотите установить только Netdiag, а не другие средства поддержки, вы можете дважды щелкнуть CAB-файл SupportToolsSupport.cab, а затем дважды щелкнуть Netdiag.exe, чтобы установить только это средство.

 

Понимание Netdiag

 

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

 

Сначала Netdiag выполняет следующие тесты сетевых адаптеров локальной системы:

 

 

  • Ндис
  • ipconfig
  • Автонет
  • DefGw
  • NbtNm
  • ВЫИГРЫШИ

 

После выполнения этих тестов Netdiag выполняет следующую серию глобальных тестов подключения:

 

 

  • Член
  • NetBTTransports
  • Автонет
  • IPLoopBk
  • DefGw
  • NbtNm
  • Уинсок
  • DNS
  • Браузер
  • Дсжетдк
  • ДкКуст
  • Доверять
  • Керберос
  • Лдап
  • Привязки
  • глобальная сеть
  • Модем
  • IPSec

 

Подробная информация о каждом из этих тестов представлена в следующей таблице:

 

 

 

 

Название теста

 

Описание

 

Автонет

 

Проверяет, используется ли APIPA сетевыми адаптерами.

 

Привязки

 

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

 

Браузер

 

Список всех сетевых протоколов, привязанных к службе браузера и к перенаправителю.

 

DcList

 

Получает список контроллеров домена для домена.

 

DefGw

 

Проверяет подключение к каждому настроенному шлюзу по умолчанию.

 

DNS

 

Проверяет доступность настроенных DNS-серверов и проверяет регистрацию DNS клиента.

 

Дсжетдк

 

Получает имя любого контроллера домена из службы каталогов, а затем получает имя эмулятора основного контроллера домена. Проверяет, совпадает ли идентификатор GUID домена, хранящийся в локальном органе безопасности (LSA), с идентификатором GUID домена, хранящимся в контроллере домена.

 

ИпКонфиг

 

Перечисляет параметры TCP/IP для каждого сетевого адаптера.

 

IPLoopBk

 

Пингует петлевой адрес 127.0.0.1 для каждого адаптера.

 

IPSec

 

Проверяет, включен ли IPsec, и если да, то выводит список всех активных политик IPsec для компьютера.

 

IPX

 

Выводит статистику для IPX (если он установлен).

 

Керберос

 

Проверяет актуальность пакета проверки подлинности Kerberos.

 

Лдап

 

Обращается ко всем доступным контроллерам домена и определяет, какой протокол проверки подлинности LDAP используется в настоящее время.

 

Член

 

Проверяет, чтобы подтвердить сведения об основном домене, включая роль компьютера, доменное имя и GUID домена. Проверяет, запущена ли служба NetLogon, добавляет основной домен в список доменов и запрашивает идентификатор безопасности основного домена (SID).

 

Модем

 

Предоставляет информацию о конфигурации для каждого модема в системе.

 

NbtNm

 

Выполняет действия, аналогичные команде nbtstat -n, т. е. проверяет, что имя службы рабочей станции <00> совпадает с именем компьютера, и проверяет, что Messenger = имя службы <03> и имя службы сервера <20> присутствуют на всех интерфейсах и что ни одно из этих имен не конфликтует.

 

Ндис

 

Перечисляет сведения о конфигурации каждого сетевого адаптера, включая имя адаптера, конфигурацию, носитель, идентификатор GUID и статистику.

 

NetBTTransports

 

Список всех транспортных протоколов, привязанных к NetBIOS через TCP/IP (NetBT).

 

Нетстат

 

Список текущих подключений TCP/IP и статистика протокола.

 

Сетевое ПО

 

Запрашивает у ближайшего сервера Netware (если используется) текущую информацию для входа в систему.

 

Маршрут

 

Перечисляет все статические маршруты в таблице маршрутизации и указывает, являются ли они постоянными.

 

Доверять

 

Проверяет доверительные отношения домена и проверяет правильность SID основного домена.

 

глобальная сеть

 

Обобщает настройки и состояние каждого используемого COM-порта.

 

ВЫИГРЫШИ

 

Проверяет доступность настроенного WINS-сервера и регистрацию клиентов WINS.

 

Уинсок

 

Отображает протоколы и порты, доступные для службы WinSock.

 

В дополнение к выполнению этих тестов Netdiag.exe также сообщает следующую информацию о системе:

 

 

  • NetBIOS-имя системы
  • DNS-имя системы
  • Общая информация о системе
  • Установленные исправления

 

Запуск Netdiag

 

Самый простой способ запустить Netdiag — без каких-либо параметров, который проверяет каждый локальный сетевой адаптер в системе, а затем выполняет серию глобальных тестов подключения. Пример вывода этой команды на рядовом сервере Windows Server 2003 выглядит следующим образом (список исправлений усечен):

 

C:инструменты netdiag
………………………………..
Имя компьютера: СРВ
Имя хоста DNS: SRV.contoso.com
Сведения о системе: Microsoft Windows Server 2003 R2 (сборка 3790)
Процессор: x86 Family 15 Model 4 Stepping 1, GenuineIntel
Список установленных исправлений:
KB890046
KB893756
KB896358

KB925486
Q147222
Тест запросов сетевой карты.......: Прошло
Результаты интерфейса:
Адаптер: подключение по локальной сети
Тест запросов сетевой карты...: Прошло
Имя хоста.........: СРВ
Айпи адрес........: 172.16.11.31
Маска подсети........: 255.255.255.0
Шлюз по умолчанию......: 172.16.11.1
DNS-серверы........: 172.16.11.32
Результаты автоконфигурации......: Прошло
Проверка шлюза по умолчанию...: Прошло
Проверка имени NetBT......: Прошло
[ПРЕДУПРЕЖДЕНИЕ] Отсутствует по крайней мере одно из названий <00> 'WorkStation Service', <03> 'Messenger Service', <20> 'WINS'.
Тест службы WINS.....: пропущено
Для этого интерфейса не настроены серверы WINS.
Глобальные результаты:
Тест на членство в домене......: Прошло
Тест транспорта NetBT.......: Прошло
Список настроенных в настоящее время транспортов NetBt:
NetBT_Tcpip_{64B5D4FF-0014-4CC2-BB8D-9FB0C67CB75E}
В настоящее время настроен 1 транспорт NetBt.

Проверка адреса автосети.......: Прошло
Пинг-тест IP loopback.......: Прошло
Проверка шлюза по умолчанию.......: Прошло
Проверка имени NetBT..........: Прошло
[ВНИМАНИЕ] У вас нет единого интерфейса с определенными именами <00> 'WorkStation Service', <03> 'Messenger Service', <20> 'WINS'.
Тест Уинсока...........: Прошло
ДНС-тест.............: Прошло
Redir и тест браузера......: Прошло
Список транспортов NetBt, которые в настоящее время привязаны к Redir
NetBT_Tcpip_{64B5D4FF-0014-4CC2-BB8D-9FB0C67CB75E}
Redir привязан к 1 транспорту NetBt.
Список транспортов NetBt, которые в настоящее время привязаны к браузеру
NetBT_Tcpip_{64B5D4FF-0014-4CC2-BB8D-9FB0C67CB75E}
Браузер привязан к 1 транспорту NetBt.
Тест обнаружения DC.........: Прошло
Тест списка DC...........: Прошло
Тест на доверительные отношения......: Прошло
Безопасный канал для домена «CONTOSO» — «\DC-1A.contoso.com».
Кербер тест...........: Прошло
LDAP-тест.............: Прошло
Тест креплений...........: Прошло
Тест конфигурации WAN......: пропущено
Нет активных подключений удаленного доступа.
Диагностика модема......: Прошло
Тест IP-безопасности.........: пропущено
Примечание. Запустите «netsh ipsec dynamic show /?» для получения более подробной информации

 

Команда выполнена успешно

 

Обратите внимание, что запуск теста NbtNm дал следующие результаты:

 

Проверка имени NetBT......: Прошло
[ПРЕДУПРЕЖДЕНИЕ] Отсутствует по крайней мере одно из названий <00> 'WorkStation Service', <03> 'Messenger Service', <20> 'WINS'.

 

Это предупреждение на самом деле не является проблемой, поскольку по умолчанию служба обмена сообщениями не работает в Windows Server 2003, поэтому для нее не будет зарегистрировано имя <20>.

 

Существуют и другие способы запуска Netdiag, в частности:

 

 

  • Netdiag /q запускает тесты в тихом режиме и сообщает только об ошибках.

 

 

  • Netdiag /v запускает тесты в подробном режиме и предоставляет дополнительные сведения.

 

 

  • Netdiag /test:test_name(s) запускает стандартные тесты, а затем выполняет только указанные тесты.

 

 

  • Netdiag /skip:имя_теста(ов) запускает стандартные тесты, за которыми следуют глобальные тесты, за исключением указанных. (Однако нельзя пропустить некоторые тесты, включая Member, Ndis и NetBTTransports.)

 

 

  • Netdiag /fix выполняет все стандартные и глобальные тесты и пытается исправить все обнаруженные проблемы.

 

Например, запуск теста Netdiag /q в приведенной выше системе дает следующие результаты:

 

C: ools netdiag/q
………………………………..

 

Имя компьютера: СРВ
Имя хоста DNS: SRV.contoso.com
Сведения о системе: Microsoft Windows Server 2003 R2 (сборка 3790)
Процессор: x86 Family 15 Model 4 Stepping 1, GenuineIntel
Список установленных исправлений:
KB890046
KB893756
KB896358

KB925486
Q147222

 

Результаты интерфейса:

 

Адаптер: подключение по локальной сети

 

Имя хоста.........: СРВ
Айпи адрес........: 172.16.11.31
Маска подсети........: 255.255.255.0
Шлюз по умолчанию......: 172.16.11.1
DNS-серверы........: 172.16.11.32

 

Тест службы WINS.....: пропущено

 

Глобальные результаты:
[ПРЕДУПРЕЖДЕНИЕ] У вас нет единого интерфейса с определенными именами <00> 'WorkStation Service', <03> 'Messenger Service', <20> 'WINS'.

 

Тест IP-безопасности.........: пропущено

 

Команда выполнена успешно

 

Дополнительные примеры Netdiag

 

Лучший способ научиться интерпретировать выходные данные Netdiag — попробовать запустить его в различных тестовых сценариях. Ниже приведены несколько примеров различных сценариев и результатов, которые вы можете получить с помощью этого инструмента. Эти сценарии выполняются путем запуска Netdiag на рядовом сервере в домене Windows Server 2003, и выходные данные были усечены, чтобы выделить только сообщения об ошибках, о которых сообщает средство.

 

1. Результат запуска netdiag /q, когда контроллер домена находится в автономном режиме:

 

Глобальные результаты:
[ПРЕДУПРЕЖДЕНИЕ] У вас нет единого интерфейса с определенными именами <00> 'WorkStation Service', <03> 'Messenger Service', <20> 'WINS'.

 

Redir и тест браузера......: Не удалось
[FATAL] Невозможно отправить сообщение почтового ящика в '\CONTOSO*MAILSLOTNETNETLOGON' через redir. [ОШИБКА_BAD_NETPATH]

 

Тест обнаружения DC.........: Не удалось
[FATAL] Не удается найти контроллер домена в домене «CONTOSO». [ОШИБКА_NO_SUCH_DOMAIN]

 

Тест списка DC...........: Не удалось
«CONTOSO»: не удается найти контроллер домена, чтобы получить список контроллеров домена из [тест пропущен].

 

Тест на доверительные отношения......: Не удалось
[FATAL] Безопасный канал для домена CONTOSO нарушен. [RPC_S_SERVER_UNAVAILABLE]

 

Тест Керберос...........: пропущено
«CONTOSO»: не удается найти контроллер домена, чтобы получить список контроллеров домена из [тест пропущен].

 

LDAP-тест.............: Не удалось
Не удается найти контроллер домена для запуска тестов LDAP. Произошла ошибка: указанный домен либо не существует, либо с ним невозможно связаться.

 

[ПРЕДУПРЕЖДЕНИЕ] Не удается найти контроллер домена в домене «CONTOSO». [ОШИБКА_NO_SUCH_DOMAIN]

 

2. Результат запуска netdiag /q, когда в системе настроен неправильный шлюз по умолчанию:

 

Проверка шлюза по умолчанию.......: Не удалось

 

[FATAL] ШЛЮЗЫ НЕДОСТУПНЫ.
У вас нет подключения к другим сегментам сети.
Если вы настроили IP-протокол вручную, то
вам нужно добавить хотя бы один действительный шлюз.
[ПРЕДУПРЕЖДЕНИЕ] У вас нет единого интерфейса с определенными именами <00> 'WorkStation Service', <03> 'Messenger Service', <20> 'WINS'.

 

Тест списка DC...........: Не удалось
Не удалось перечислить контроллеры домена с помощью браузера. [ОШИБКА_REQ_NOT_ACCEP]

 

3. Результат запуска netdiag /q, когда служба Computer Browser не запущена в системе:

 

Глобальные результаты:
[ПРЕДУПРЕЖДЕНИЕ] У вас нет единого интерфейса с определенными именами <00> 'WorkStation Service', <03> 'Messenger Service', <20> 'WINS'.

 

Тест списка DC...........: Не удалось
Не удалось перечислить контроллеры домена с помощью браузера. [NERR_ServiceNotInstalled]

 

4. Результат запуска netdiag /q, когда учетная запись компьютера для системы отключена в Active Directory при запуске системы:

 

Глобальные результаты:
[ВНИМАНИЕ] У вас нет единого интерфейса с <00> 'WorkStation Servi
ce", <03> "Messenger Service", <20> "WINS" определены имена.

 

Тест на доверительные отношения......: Не удалось
Не удается проверить безопасный канал для домена «CONTOSO» на DC «DC-1A». [ОШИБКА_NO_LOG
ON_SERVERS]

 

Тест Керберос...........: Не удалось
[FATAL] Не удается получить кеш билетов от Kerberos.
Произошла ошибка: (null)

 

Вывод

 

Netdiag.exe — это мощный инструмент для устранения проблем с сетевым подключением в сетях Windows. Читателям этой статьи предлагается попытаться придумать дополнительные сценарии, аналогичные приведенным выше примерам, чтобы получить больше опыта в понимании возможностей этого инструмента и способов его использования.

 

 

 

 

  •  
  •  
  •