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