- IT-блог о веб-технологиях, серверах, протоколах, базах данных, СУБД, SQL, компьютерных сетях, языках программирования и создание сайтов.
- Команда tracert в Windows. Зачем нужна и как пользоваться сетевой утилитой tracert?
- Назначение команды tracert или как определить маршрут прохождения пакета до узла
- Параметры команды tracert в Windows
- Включение диагностической трассировки для MS DTC на компьютере с Windows 10
- Типы средств трассировки
- Включение трассировки диспетчера транзакций
- Новая система отслеживания MS DTC в Windows
- Настройка трассировки
- Настройка источников
- Настройка выходных данных трассировки
- Эффекты производительности
- Конфигурация кластера
IT-блог о веб-технологиях, серверах, протоколах, базах данных, СУБД, SQL, компьютерных сетях, языках программирования и создание сайтов.
Команда tracert в Windows. Зачем нужна и как пользоваться сетевой утилитой tracert?
Привет, посетитель сайта ZametkiNaPolyah.ru! Продолжим разбираться с полезными командами и утилитами командной строки Windows, на этот раз давайте разберемся с сетевой утилитой tracert, мы поговорим зачем нужна команда tracert и как ею пользоваться для диагностики компьютерной сети и устранению неполадок. Как мы увидим, утилиту tracert используют сетевые инженеры и системные администраторы для определения маршрута прохождения IP-пакета по сети, вы убедитесь, что этой утилитой довольно легко пользоваться, но не все умеют правильно оценивать результаты работы этой команды, о некоторых сложностях, которые могут возникнуть при интерпретации трассировка маршрута мы поговорим в самом конце этой публикации.
Если вам интересна тема компьютерных сетей, то в блоге уже практически закончена первая часть курса по основам компьютерных сетей, можете ознакомиться с ее содержимым. И вот здесь можно получить немного информации о самом курсе основанном на Cisco ICND1.
Назначение команды tracert или как определить маршрут прохождения пакета до узла
Tracert – это небольшая системная утилита вашей операционной системы, которая позволяет сделать трассировку маршрута до заданного узла в локальной сети или сети Интернет. В операционных системах Windows tracert – это стандартная утилита, которая устанавливается вместе с операционной системой, то есть вам не нужно ничего устанавливать, чтобы воспользоваться командной tracert. Исполняемый файл tracert.exe в Windows 10 находится по следующему пути: C:\Windows\System32.
Команда tracert – это один из самых часто используемых инструментов для траблшутинга и сетевой диагностики, эта утилита дает нам возможность определить маршрут, по которому проходит пакет до заданного узла. Tracert может работать как с доменными имена или именами хостов, так и с IP-адресами (как с IPv4, так и с IPv6). Кроме того что tracert показывает маршрут от вашего компьютера до удаленного узла в сети, она еще и отображает время прохождения пакетов как до конечного узла, так и до транзитных или промежуточных узлов (время является одной из самых важных единиц измерения в компьютерных сетях). Давайте лучше посмотрим, как работает утилита tracert на простом примере без дополнительных параметров.
Трассировка маршрута при помощи команды Tracert до IP-адреса Яндекс
В данном случаем мы видим путь прохождения IP-пакета от моего ПК до сервера Яндекс, чтобы указать утилите tracert удаленный узел, мы воспользовались IP-адресом. Но эта команда может работать и с доменными именами, давайте посмотрим, сделав трассировку маршрута до сервера Google.
Трассировка маршрута при помощи утилиты tracert до сервера Google по доменному имени
Стоит сказать пару слов о выводе, который мы получили. Каждая строка вывода команды tracert пронумерована, каждая такая строка называется шагом, хопом или прыжком. По умолчанию tracert в Windows отправляет три запроса на каждый хоп и получает от этого хопа ответы, если ответ не получен, то в первых трех столбцах мы видим символ «*», если ответ получен, то в первых трех столбцах указывается время прохождения пакета, а в четвертом столбце Windows дает нам подсказку о причинах, по которым удаленный узел нам не ответил или его адрес, если узел ответил.
Хопы, которые мы видим в трассировке – это маршрутизаторы, серверы или L3 коммутаторы, на интерфейсах которых прописан IP-адрес (то есть устройства, которые определяют путь, по которому пойдет IP-пакет, другими словами – это устройства сетевого уровня моделей OSI 7 и TCP/IP), это важное уточнение для интернет-пользователей, всё дело в том, что витая пара или другой тип кабеля (про минусы использования коаксиального кабеля в Ethernet сетях можете почитать здесь), который приходит к вам в квартиру, подключен в L2 коммутатор, который никак не влияет на маршрут прохождения пакета, на нем нет IP-адресов (вернее есть один адрес, который использует тех. поддержка провайдера для управления этим коммутатором) и он не принимает решений по маршрутизации пакетов, таких коммутаторов между хопами может быть несколько десятков и мы их никак не увидим, так как для утилиты tracert они представляют собой что-то вроде кабеля, собственно как и для других утилит сетевой диагностики.
Для диагностики сетевых ресурсов утилита tracert использует специальный протокол, который называется ICMP (Internet Control Message Protocol — протокол межсетевых управляющих сообщений), есть еще команда traceroute (эта утилита обычно входит в стандартные дистрибутивы Linux, например, эта утилита присутствует в Linux Mint), которая по умолчанию использует протокол UDP, для ее использвания вам точно также потребуется эмулятор терминала. ICMP-сообщение, которое посылает наш компьютер, запаковывается в IP-пакет (здесь вы можете прочитать более подробно про инкапсуляцию данных в компьютерных сетях), у которого есть специальное значение TTL (time to live или время жизни), для понимания работы tracert это важно, поскольку эта команда при каждой отправке пакета увеличивает TTL на единицу, а первый отправленный пакет в сеть имеет значение, равное единице, при этом по умолчанию tracert отправляет три пакета с одним и тем же TTL, то есть в ответ мы должны получить три пакета от удаленного узла (самые основы взаимодействия двух узлов в компьютерной сети описаны здесь, для реализации схемы использовалась Cisco Packet Tracer).
Вернемся к примеру с трассировкой Яндекса, чтобы это лучше понять. Когда мы написали tracert 77.88.55.88, tracert сформировала IP-пакет, в котором в качестве узла назначения указала IP-адрес Яндекса и отправила его в сеть, а в качестве TTL этот пакет получил значение равное единице, далее tracert, не изменяя TTL отправила еще два пакета и получила три ответа от узла 192.168.0.1. После значение TTL было увеличено на единицу (значение стало равным двойке) и в сеть было отправлено еще три пакета (IP-адрес в этих пакетах не изменялся), следующий хоп отказался отвечать на ICMP-запросы и мы увидели три звездочки, после этого TTL был снова увеличен и мы увидели третий хоп, таким образом tracert будет увеличивать TTL до тех пор, пока не доберется до сервера Яндекс. С Гуглом ситуация аналогичная, только там мы использовали доменное имя, поэтому tracert пришлось выполнять дополнительные операции по выяснению IP-адреса, на котором этот домен висит.
При использовании утилиты tracert не стоит паниковать в тех ситуациях, когда вы видите звездочки вместо времени ответа удаленного узла, дело в том, что ICMP-протокол иногда используется для сетевых атак (например, DDoS) и некоторые сетевые инженеры и системные администраторы предпочитают настраивать свои устройства таким образом, чтобы они не отвечали на ICMP-запросы. Иногда бывает так, что конечный узел не отвечает на ICMP-запросы, но на самом деле он корректно работает и выполняет свои функции, для проверки доступности таких узлов вам не поможет команда Ping, так как она тоже использует ICMP, но может помочь команда traceroute или онлайн сервисы по проверки доступно сайтов и серверов в Интернете.
В качестве примера давайте сделаем трассировку до сайта microsoft.com, сервера этой компании не отвечают на ICMP-запросы. Трассировка показана на рисунке ниже.
Трассировка до сервера Microsoft, который не отвечает на ICMP-запросы
На момент проверки этого ресурса он был доступен, но результаты работы tracert нас немного обманывают, по ним видно, что мы якобы не можем добраться до сервера Майкрософт, поэтому для корректной диагностики удаленных ресурсов нужно иметь целый арсенал сетевых утилит, ну или как минимум браузер и умение гуглить. Еще по трассировки видно, что tracert в Windows по умолчанию использует максимальное значение TTL равное 30, протокол IPv4 позволяет задавать максимальное значение TTL 255, но на самом деле это очень много, чтобы остановить выполнение команды tracert воспользуйтесь сочетание клавиш ctrl+c.
Параметры команды tracert в Windows
Любая команда в командной строке Windows имеет небольшой справочник (команда help — справочник командной строки Windows), в котором указаны допустимые параметры, в том числе и команда tracert, чтобы увидеть эти параметры, в командной строке нужно написать: tracert /? или tracert /h.
Включение диагностической трассировки для MS DTC на компьютере с Windows 10
В этой статье описывается включение диагностической трассировки для координатора распределенных транзакций Microsoft (MS DTC) на компьютере с Windows 10.
Исходная версия продукта: Windows 10
Исходный номер статьи базы знаний: 926099
В статье содержатся сведения об изменении реестра. Перед внесением изменений рекомендуется создать резервную копию реестра. и изучить процедуру его восстановления на случай возникновения проблемы. Для получения дополнительных сведений о резервном копировании, восстановлении и изменении реестра ознакомьтесь со сведениями о реестре Windows для опытных пользователей.
Типы средств трассировки
Трассировка диспетчера транзакций
Трассировка диспетчера транзакций отслеживает изменения состояния транзакции. Он создается диспетчером транзакций MS DTC. Выходные данные имеют двоичный формат, и выходные данные должны быть отформатированы. Диспетчер транзакций является частью службы MS DTC.
Трассировка ошибок диспетчера связи
Трассировка ошибок диспетчера связи (CM) отслеживает любой процесс, загружающий файл Msdtcprx.dll и использующий интерфейс удаленного вызова процедур (RPC) MS DTC для связи с другими процессами, связанными с MS DTC. Выходные данные имеют текстовый формат. Ошибка 0x8004d00a — типичная ошибка, для которой может быть полезна трассировка ошибок диспетчера связи.
Трассировка диспетчера транзакций и отслеживание ошибок диспетчера связи являются независимыми процессами. Вы можете независимо включить трассировку диспетчера транзакций и трассировку ошибок диспетчера обмена сообщениями. Вы также можете отключить их независимо.
Включение трассировки диспетчера транзакций
Для включения трассировки диспетчера транзакций можно использовать оснастку «службы компонентов» консоли управления (MMC). Для этого выполните следующие действия:
Нажмите кнопку Пуск, выберите все программы, стандартные, а затем нажмите кнопку выполнить.
Введите комексп. mscи нажмите кнопку ОК.
Разверните узел службы компонентов, разверните узел Компьютеры, разверните узел Мой компьютер, выберите Диспетчер распределенных транзакций, щелкните правой кнопкой мыши Local DTCи выберите Свойства.
Перейдите на вкладку Трассировка .
На вкладке Трассировка можно изменить следующие параметры трассировки TM:
- Выходные данные трассировки
- Отслеживание транзакций
- Трассировка всех транзакций
- Трассировка прерванных транзакций
- Отслеживание транзакций с долгим сроком действия
- Отслеживание транзакций
При изменении конфигурации трассировки TM служба MS DTC обнаруживает изменения. Тем не менее, не нужно перезапускать процесс. Например, при изменении отслеживаемых транзакций или расположения файла трассировки служба MS DTC обнаруживает изменения в реестре. Перезапускать службу MS DTC не требуется.
Новая система отслеживания MS DTC в Windows
В Windows MS DTC имеет новую и обширную систему трассировки. Новая система обладает следующими целями по проектированию:
- Для добавления отформатированной трассировки требуется только одна строка кода.
- Трассировка может читаться людьми на рабочих компьютерах без сети.
- Параметры вывода являются гибкими.
- Трассировка выполняется быстро.
- Вам не нужно перезагружать компьютер, чтобы изменить параметры.
Кроме того, в Windows 10 и Windows Server Technical Preview имя файла журнала трассировки включает имя процесса, который вызывает журнал трассировки. Этот элемент управления управляется параметром OUTPUT в реестре.
Настройка трассировки
При неправильном изменении реестра с использованием редактора реестра или другого способа могут случиться серьезные проблемы. Для решения этих проблем может потребоваться переустановка операционной системы. Корпорация Майкрософт не может гарантировать устранение этих проблем. Вносите изменения в реестр на ваш страх и риск.
Конфигурация трассировки находится на локальном узле в разделе реестра, названном Tracing в разделе реестра MS DTC. Tracing Раздел реестра включает трассировку диспетчера подключений. Ранее вы использовали раздел TraceCMErr реестра для настройки трассировки диспетчера подключений. Tracing Раздел реестра содержит два следующих подраздела:
- Sources : Этот подраздел позволяет настроить тип трассировки.
- Output : Этот подраздел определяет, куда отправляются выходные данные трассировки.
Убедитесь, что этот процесс может получить доступ к Tracing разделу реестра. По умолчанию конфигурация Windows не создает этот ключ и не предоставляет разрешения для этого ключа. Вы можете использовать редактор реестра для настройки функциональных возможностей трассировки.
Чтобы создать записи реестра для функциональных возможностей трассировки, выполните указанные ниже действия.
Нажмите кнопку Пуск > всех программ > Accessories > ,запустите, введите regeditи нажмите кнопку ОК.
Найдите и выберите один из следующих подразделов:
В меню Правка выберите пункт создать, а затем выберите тип данных записи. Например, выберите значение DWORD (32-бит).
Введите имя нужного источника, а затем нажмите клавишу ВВОД. Для получения дополнительных сведений об именах источников обратитесь к таблице в разделе Configure Sources .
Щелкните правой кнопкой мыши новый параметр реестра, выберите изменить, введите нужное значение в поле значение , а затем нажмите кнопку ОК.
В меню файл выберите команду выход.
Настройка источников
Sources Раздел реестра содержит набор параметров реестра DWORD, приведенных в следующей таблице.
Имя | Описание |
---|---|
TRACE_MISC | Трассировки, которые не могут быть отнесены к другим категориям |
TRACE_CM | Трассировки в диспетчере соединений |
TRACE_TRACE | Сама инфраструктура трассировки |
TRACE_SVC | Запуск службы трассировок и файла exe |
TRACE_GATEWAY | Источник шлюза |
TRACE_UI | Трассировка пользовательского интерфейса |
TRACE_CONTACT | Трассировка пула контактов и контактов |
TRACE_UTIL | Программы трассировки, которые вызываются из нескольких расположений |
TRACE_CLUSTER | Трассировка кода для конкретного кластера (служебного кода) |
TRACE_RESOURCE | Трассировка кода, относящегося к ресурсу кластера |
TRACE_TIP | Источник трассировки протокола Интернета Transaction (TIP) |
TRACE_XA | Источник трассировки диспетчера транзакций XA (КСАТМ) |
TRACE_LOG | Трассировка журнала |
TRACE_MTXOCI | Источник трассировки уровня MTS/OCI (Mtxoci.dll) |
TRACE_ETWTRACE | Источник трассировки для трассировки событий Windows (ETW) |
TRACE_PROXY | Трассировки, созданные в DLL-библиотеке прокси MSDTC |
TRACE_KTMRM | Трассировка для интеграции с диспетчером транзакций ядра |
TRACE_VSSBACKUP | Трассировка для интеграции с механизмом резервного копирования и восстановления Microsoft Visual SourceSafe |
TRACE_PERFMON | Трассировка с поддержкой счетчиков производительности |
Значение DWORD должно быть числом от 0 до 255. Значение DWORD указывает уровень выполняемой трассировки. В следующей таблице приведены возможные значения DWORD.
Значение | Описание |
---|---|
нуль | TRACE_OFF const байт |
1,1 | TRACE_ERROR const байт |
2 | TRACE_WARNING const байт |
4 | TRACE_INFO const байт |
4 | TRACE_VERBOSE const байт |
5 | TRACE_VERY_VERBOSE const байт |
6 | TRACE_INOUT const байт |
0xF0 | TRACE_OBSCURE const байт |
0xFF | TRACE_EVERYTHING const байт |
Более высокие значения автоматически включают в себя меньшие значения. Таким образом, при включении TRACE_INFO уровня TRACE_ERROR уровень также включается. Очень небольшое количество источников использует любую трассировку, превышающую TRACE_VERBOSE уровень.
Настройка выходных данных трассировки
При неправильном изменении реестра с использованием редактора реестра или другого способа могут случиться серьезные проблемы. Для решения этих проблем может потребоваться переустановка операционной системы. Корпорация Майкрософт не может гарантировать устранение этих проблем. Вносите изменения в реестр на ваш страх и риск.
Output Раздел реестра содержит набор значений, которые управляют отправкой выходных данных трассировки. Ниже приведены эти значения.
TraceFilePath Значение (REG_SZ) — это корневая папка, в которой должны храниться файлы трассировки. Трассировка записывается в файл в папке с именем мсдтк-КС. log. В этом имени папки X представляет Десятичный идентификатор процесса, который создает файл. Убедитесь, что все требуемые процессы имеют доступ к настроенной папке. В противном случае информация трассировки будет потеряна. Если это значение не задано, трассировки не отправляются в файл.
ImageNameInTraceFileNameEnabled Значение (REG_DWORD) определяет, содержит ли имя созданного файла журнала трассировки имя файла процесса, который вызывает журнал трассировки. Если для этого свойства задано значение, отличное от нуля, имя файла образа процесса будет включено в созданный файл журнала трассировки. Если этому параметру присвоено значение 0, имя файла образа процесса не будет включено в созданный файл журнала трассировки. По умолчанию задано значение ноль (0). Ниже приведен пример имени файла трассировки, в котором содержится созданный файл журнала.
MSDTC-msdtc.exe -3552. log или MSDTC-svchost.exe 3556. log
MemoryBufferSize Значение (REG_DWORD) — это размер кругового буфера, в котором хранятся сообщения трассировки. Если для этого параметра установлено значение 0, трассировка памяти отключена. По умолчанию это значение равно 10 МБ. Если включить подробную трассировку, может потребоваться увеличить это значение.
DebugOutEnabled Значение (REG_DWORD) позволяет включать или отключать выходные данные отладчика. Если значение не равно нулю, выходные данные включены. По умолчанию этот Output раздел реестра отключен.При изменении конфигурации трассировки ошибок диспетчера подключений изменения вступают в силу, когда процесс, загружающий файл Msdtcprx.dll , перезапускается. Например, изменения конфигурации отслеживания ошибок диспетчера подключений вступают в силу при повторном использовании процесса службы MS DTC.
Кроме того, можно создать REG файл, а затем с помощью редактора реестра импортировать файл. Для этого выполните следующие действия:
Создайте новый reg файл, который содержит следующий пример кода:
Нажмите кнопку Пуск > всех программ > Accessories > ,запустите, введите regeditи нажмите кнопку ОК.
В меню файл выберите пункт Импорт.
Найдите файл, созданный на шаге 1, и нажмите кнопку Открыть. Откроется диалоговое окно » редактор реестра «.
Нажмите OK.
В меню файл выберите команду выход.
Эффекты производительности
По умолчанию функции трассировки отключены в Windows. Таким образом, при обычной установке не существует никакого последствий для производительности.
Не включайте функции трассировки на рабочих компьютерах, если специалист службы поддержки пользователей Майкрософт не указывает, что сведения трассировки необходимы для диагностики проблемы. Трассировка может повлиять на производительность компьютера. Сначала необходимо найти проблему, и ее необходимо устранить. После этого отключите функцию трассировки.
Конфигурация кластера
Для установки кластера убедитесь, что все записи реестра на всех узлах содержат эти записи реестра. Для любого узла, у которого нет этих записей реестра, код кластера игнорирует записи реестра в общем реестре, так как записи реестра не существуют в реестре локального компьютера.