Это в случае, если ICMP заблокирован где-то по пути.
Например, вы можете использовать порт 80 (http), потому что почти любой брандмауэр разрешит ему проходить через него.
Я читал справочную страницу для traceroute
, и я заметил, что он принимает port
аргумент.
Я думал, что traceroute
работает только с ICMP. Что это делает с портом?
Это в случае, если ICMP заблокирован где-то по пути.
Например, вы можете использовать порт 80 (http), потому что почти любой брандмауэр разрешит ему проходить через него.
Traceroute (классический режим) работает, отправляя UDP-пакеты на высокий, теоретически неиспользуемый UDP-порт, изменяя время жизни (TTL) для каждого пакета, чтобы маршрутизаторы по пути замечали, что он истек, и возвращают ICMP-сообщения о превышении времени сообщения. Затем Traceroute печатает эти сообщения до тех пор, пока не получит сообщение от хоста назначения, запрещающее соединение.
Вы можете изменить порт в случае, если используется порт по умолчанию (таким образом, этот последний переход не будет работать, поскольку пакет принимается без вывода сообщений).
На странице руководства для traceroute в вашем стандартном дистрибутиве Linux имеется множество информации.