Каковы существенные различия между tracepath и traceroute?

Недавно я прочитал небольшую статью на HowToGeek, в которой я немного почесал голову. У меня довольно мало опыта работы с Linux, поэтому, извините, если это начальный уровень:

«Команда tracepath похожа на traceroute, но для нее не требуются привилегии root». [ 112]

http://www.howtogeek.com/108511/how-to-work-with-the-network-from-the-linux-terminal-11-commands-you-need-to- know /

Как traceroute и tracepath по-разному выполняют аналогичную функцию?

Что делает traceroute, для которой требуются права root, а трассировки нет? 115]

Существуют ли сценарии, в которых следует предпочитать tracepath, а не traceroute, или наоборот?

58
задан 13 December 2013 в 00:51

4 ответа

ping и traceroute используют протокол ICMP. Как и UDP и TCP, это доступно через обычный API сокетов. Только номера портов UDP и TCP менее 1024 защищены от использования, кроме как root. ICMP свободно доступен для всех пользователей.

Если вы действительно хотите увидеть, как работают ping и traceroute, вы можете загрузить пример реализации кода C для них из CodeProject .

Короче говоря, они просто открывают сокет ICMP, и traceroute изменяет приращения TTL, используя setsockopt, пока цель не будет достигнута.

Источник: Ссылка

0
ответ дан 13 December 2013 в 00:51

Можно использовать traceroute для трассировки передовой сети можно выбрать между IPv4 и протоколами Ipv6, можно также выбрать между ICMP, TCP или форматами данных UDP для датчика.

Так traceroute имеет больше расширенных настроек, чем tracepath который использует пакеты UDP для трассировки.

Теперь о полномочиях суперпользователя:

можно использовать traceroute и с обычным пользователем и с суперпользователем, который зависит от опции, которую Вы хотите использовать, вот пример:

enter image description here

Здесь мы используем пакеты UDP, которому не нужны полномочия суперпользователя

enter image description here

Здесь мы используем пакеты эха ICMP, которым нужны полномочия.

Пакетами ICMP можно сделать DDos-атаку.

Узнать об опциях ICMP Страницу справочника Traceroute

Просмотреть traceroute опции вводят в терминале man traceroute

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

То, что Вы видите его, когда Вы пытаетесь проверить с помощью ping-запросов так веб-сайты как www.microsoft.com , Ваш ping приведет к сбою даже свое онлайн, и что потому что блок маршрутизаторов Microsoft ICMP_requests.

Так Linux защищают систему от непривилегированного пользователя, таким образом, они не могут использовать, это управляет для нападения.

10
ответ дан 13 December 2013 в 00:51

Как traceroute и tracepath выполняют схожую функцию, по-разному?

Обе программы, по сути, выполняют одно: отправляют и получают определенные IP-пакеты.

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

Tracepath использует API сокетов для всей своей функциональности. Traceroute манипулирует необработанными пакетами для некоторых своих функций.

Что делает traceroute, для чего требуются права суперпользователя, а трассировки нет?

Он манипулирует необработанными пакетами.

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

Существуют ли сценарии, в которых следует предпочитать tracepath, а не traceroute, или наоборот?

Одна из расширенных команд, доступных в Traceroute, - это возможность запуска сетевой трассировки с использованием протокола IPv4 или IPv6. Для зонда также можно выбирать между форматами данных ICMP, TCP или UDP. Traceroute может выбрать конкретные исходные маршруты для зонда и выбрать порт для отправки. Он может устанавливать пределы минимального и максимального TTL для приема от исходящего зонда. Кроме того, Traceroute может показывать время ожидания для ответных эхо-запросов, а также устанавливать, сколько пакетов отправляется в каждом тесте и сколько тестов для отправки. Некоторые из этих команд могут не поддерживаться сетевым оборудованием вдоль пути, которое может завершить зонд до того, как он достигнет своего целевого назначения.

источники: 1 2 3

0
ответ дан 13 December 2013 в 00:51

Я думаю, вы должны прочитать это http://www.ehow.com/list_7526520_differences-between-traceroute-tracepath.html

По приведенной выше ссылке:

< blockquote>

TracePath

Tracepath отслеживает путь к указанному сетевому адресу, сообщая о «времени жизни» или задержке TTL и максимальных единицах передачи (MTU) по пути. Эта команда может быть запущена любым пользователем, имеющим доступ к командной строке.


Основы Traceroute

Traceroute по сути такой же, как Tracepath, за исключением того, что по умолчанию он будет давать только значение TTL. Если вам нужны дополнительные данные, вы должны запросить эти переменные в командной строке. Кроме того, для трассировки маршрута требуется наличие прав суперпользователя для запуска команды на компьютере с Linux, а некоторые расширенные запросы данных могут поддерживаться не всеми маршрутизаторами по пути. В среде Windows любой пользователь, имеющий доступ к командной строке, может запустить Traceroute.

0
ответ дан 13 December 2013 в 00:51

Другие вопросы по тегам:

Похожие вопросы: