Post Thumbnail

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

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

Похожее

Post Thumbnail

zedis

Нативный Redis GUI, написанный на Rust с использованием GPUI. Тот же движок ренд...

Post Thumbnail

Робоутка

Microduck от Pollen Robotics - это открытый репозиторий "мозга" крошечного двуно...