это результат моей трассировки
трассировка 211.140.5.120
1 141.1.31.2 (111.1.31.2) 0.397 ms 0.380 ms 0.366 ms
2 141.1.28.38 (111.1.28.38) 3.999 ms 3.971 ms 3.982 ms
3 142.11.124.193 (112.11.124.133) 1.315 ms 1.533 ms 1.455 ms
4 (201.141.0.261) 2.615 ms 2.749 ms 2.572 ms
5 (201.141.0.82) 2.705 ms 2.564 ms 2.680 ms
6 (201.118.231.14) 5.375 ms 5.126 ms 5.252 ms
7 * * *
8 * * *
9 * * *
10 * * *
11 * * *
12 * * *
13 * * *
14 * * *
15 * * *
16 * * *
17 * * *
18 * * *
19 * * *
20 * * *
21 * * *
22 * * *
23 * * *
24 * * *
25 * * *
26 * * *
27 * * *
28 * * *
29 * * *
30 * * *
Я хочу знать, что означает *** и означает ли результат действительно более 30 переходов между моим хостом и целевым сервером?
Все реализации traceroute полагаются на пакеты ICMP (тип 11), отправляемые отправителю.
Эта программа пытается отследить маршрут, запуская пробные пакеты UDP с небольшим ttl (время жизни), а затем ожидая ответа ICMP «время истекло» от шлюза. Он запускает пробы с ttl, равным единице, и увеличивается на единицу, пока мы не получим ICMP «порт недоступен» (что означает, что мы добрались до «хоста») или не достигнем максимума (который по умолчанию составляет 30 переходов и может быть изменен с помощью флага -m. ). Три зонда (изменение с помощью флага -q) отправляются при каждой настройке ttl, и печатается строка, показывающая ttl, адрес шлюза и время приема-передачи каждого зонда (то есть три *). Если нет ответа в течение 5 секунд. интервал тайм-аута (изменяется с помощью флага -w), для этого зонда печатается "*".
Так что в вашем случае мы можем сделать вывод, что мы получили ответ только до 201.118.231.14. После этого узлы не отвечают на пакеты ICMP (тип 11) до 30-го сегмента, который является максимальным временем жизни (максимальное количество прыжков). Вы можете увеличить максимальное время жизни, используя флаг -m.
Traceoute требует ответа от целевого сервера и каждого из промежуточных переходов для создания своих выходных данных. Если маршрутизатор не генерирует Time-to-live exceeded
ответ, traceroute ничего не будет знать об этом переходе. Переход, который выводит * * *
означает, что маршрутизатор на этом узле не отвечает на тип пакета, который вы использовали для трассировки (по умолчанию это UDP в Unix-подобном и ICMP в Windows).
Если вы используете ту же версию traceroute, что и я, вы можете попробовать -e
возможность попытаться обойти брандмауэры и -P
возможность использовать ICMP, TCP или GRE пакеты вместо UDP. Вы также можете попробовать указать конкретный порт, который вряд ли будет отфильтрован (например, 80 или 25), используя -p
вариант.
Могут быть и другие варианты, которые помогут вам получить ответ. Проверить страница руководства для traceroute.
Чтобы ответить на вторую часть вашего вопроса, нет, этот traceroute не означает, что между вами и целевым сервером ровно 30 переходов. Traceroute "сдается" после определенного количества прыжков. Это достигается путем ограничения максимального TTL в пакетах, который по умолчанию в Linux равен 30. Вы можете изменить это с помощью -m
вариант. Может быть больше или меньше прыжков, но поскольку ни один из них после 6-го не отвечает, мы просто не знаем.