5

Я хотел знать, есть ли диапазон, который обычно используется для порта назначения, который используется в команде traceroute. Например, начальный адрес для порта назначения - 33434. Но есть ли какой-то стандартный диапазон, который предпочтителен для traceroute?

3 ответа3

6

Использование UDP для traceroute считается плохой практикой, поскольку предполагается, что UDP является протоколом приложения, переносящего данные. ICMP ECHO_REQUEST является предпочтительным методом, хотя нет никакого стандарта. Основная причина использования ICMP заключается в том, что UDP может нести полезную нагрузку, поэтому пропуск через брандмауэр имеет более серьезные последствия для безопасности; для конечного пользователя это более вероятно, будет заблокировано. Приложение также может использовать порты UDP, что может привести к нежелательным побочным эффектам. Несмотря на предпочтение ICMP, классический traceroute(1) и его потомки используют UDP, включая реализации, поставляемые с Mac OS X, большинство дистрибутивов Linux, BSD и Cisco IOS.

Для этих реализаций UDP номер порта увеличивается на 1 для каждого зонда, поэтому наибольший номер порта для любого данного прогона равен 33434 + (max-ttl * probes-per-hop - 1). Значение по умолчанию для max-ttl обычно составляет 32 или 64, в зависимости от реализации. По умолчанию количество проверок на переход составляет 1 или 3. Используя более либеральные значения по умолчанию 64 и 3, диапазон будет 33434-33625. На практике max-ttl 32 обычно более чем достаточно, в этом случае диапазон будет 33434-33529.

Также обратите внимание, что IANA выделил только порт 33434 для traceroute, но оставил нераспределенным 33435-33655.


Для получения информации о ICMP и UDP см. Почему некоторые реализации traceroute по умолчанию используют UDP-зонды?

2

После поиска в Google я обнаружил, что 33434 - это порт, который используется в качестве базового порта для traceroute .

Диапазон составляет 33434 + (max-ttl * numberofprobes - 1) , что обычно означает

  • max-ttl = 30
  • numberofprobes = 3
2

Traceroute работает, отправляя ICMP- пакеты, которые полностью являются их собственным протоколом. Нет портов.

Более подробно - traceroute отправляет эхо-пакеты ICMP, начиная с TTL, равного 1. Это приводит к тому, что пакет возвращает ошибку на первом маршрутизаторе. Затем TTL 2 - что приводит его ко второму маршрутизатору. TTL увеличивается, пока не будет достигнут пункт назначения. Находящиеся вдоль пути наборы маршрутизаторов - это трассируемый маршрут.

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