1

Когда я запускаю WinMTR и отслеживаю любой хост, например, google.com, встроенная команда windows tracert (на Win 7), а также сторонние команды, такие как ftrace, требуют 30 секунд, чтобы завершиться, даже когда я установил пинги и задержки между Перейдите к минимуму и попробуйте UDP (на ftrace). В WinMTR для отслеживания одного и того же хоста требуется <2 секунды, чтобы показать все хосты и по крайней мере один пинг для каждого.

Почему это так, и есть ли инструмент командной строки Windows, который может получить более быстрые результаты, такие как WinMTR, так как мне нужен вывод в сценарий. WinMTR имеет только графический интерфейс (может запускаться из командной строки, но все равно заканчивается в графическом интерфейсе). WinMTR - это OSS, но я не знаю C++, только Perl.

1 ответ1

2

WinMTR работает немного иначе, чем другие программы, такие как tracert и ftrace .

В обычном инструменте traceroute инструмент запускается с пакета ICMP / UDP с TTL установленным в 1 , получает ответ, а затем обрабатывает пакет с TTL установленным в 2 и так далее, пока не достигнет максимального числа переходов (обычно 30) или хост назначения.

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

Чтобы получить тот же эффект из командной строки, вам понадобится инструмент, который работает так же, как WinMTR ... Я не знаю ни о каких инструментах командной строки Windows, которые работают таким образом.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .