Post Thumbnail

Автор показывает, как написать упрощённый аналог traceroute на Rust примерно на 80 строк кода, используя UDP-сокеты с нарастающим TTL и raw-сокет для перехвата ICMP-ответов.

Подробно объясняется принцип работы утилиты traceroute, который основан на "хитрости с TTL": каждый IP-пакет имеет поле Time To Live, уменьшаемое каждым маршрутизатором, и когда оно достигает нуля, маршрутизатор отбрасывает пакет и отправляет отправителю ICMP-сообщение "Time Exceeded" со своим IP-адресом.

Похожее

Post Thumbnail

Awesome axum

axum - это библиотека для маршрутизации HTTP и обработки запросов, написанная на...

Post Thumbnail

pgrust

Почему бы не переписать на Rust все? Не, ну прям реально все, даже если оно норм...