Автор показывает, как написать упрощённый аналог traceroute на Rust примерно на 80 строк кода, используя UDP-сокеты с нарастающим TTL и raw-сокет для перехвата ICMP-ответов.
Подробно объясняется принцип работы утилиты traceroute, который основан на "хитрости с TTL": каждый IP-пакет имеет поле Time To Live, уменьшаемое каждым маршрутизатором, и когда оно достигает нуля, маршрутизатор отбрасывает пакет и отправляет отправителю ICMP-сообщение "Time Exceeded" со своим IP-адресом.
15.04.2026
Похожее
27.08.2026
На Rust после Go
Автор, пять лет писавший на Go, сначала скептически отнесся к появлению Rust в е...
25.08.2026
Вкуc zig после Rust
Автор, семь лет писавший на Rust, переписал свой проект jsonpath-rust на Zig и д...
19.08.2026
Конкурентный сервер на Rust
Седьмая часть серии о конкурентных сетевых серверах. Тут автор рассматривает, ка...
19.08.2026
Сервисы на Rust
Автор объясняет, почему Rust - отличный выбор для средних по размеру backend-сер...