Как работает traceroute с портами?

3625
zneak

Я читал справочную страницу для traceroute, и я заметил, что он принимает portаргумент.

Я думал, что tracerouteработает только с ICMP. Что это делает с портом?

0
ICMP не использует порт, так как в нем нет места для порта. Он инкапсулируется только с дейтаграммой IP. Опцию порта вы найдете только на дейтаграммах UDP и TCP. Чтобы заблокировать эхо ICMP, вы бы явно заблокировали тип и код. djshortbus 13 лет назад 0

2 ответа на вопрос

1
Kenny Rasschaert

Это в случае, если ICMP заблокирован где-то по пути.

Например, вы можете использовать порт 80 (http), потому что почти любой брандмауэр разрешит ему проходить через него.

1
Slartibartfast

Traceroute (классический режим) работает, отправляя UDP-пакеты на высокий, теоретически неиспользуемый UDP-порт, изменяя время жизни (TTL) для каждого пакета, чтобы маршрутизаторы по пути замечали, что он истек, и возвращают ICMP-сообщения о превышении времени сообщения. Затем Traceroute печатает эти сообщения до тех пор, пока не получит сообщение от хоста назначения, запрещающее соединение.

Вы можете изменить порт в случае, если используется порт по умолчанию (таким образом, этот последний переход не будет работать, поскольку пакет принимается без вывода сообщений).

На странице руководства для traceroute в вашем стандартном дистрибутиве Linux имеется множество информации.