I wrote a new blog post where we go thru a simple Network Time Protocol server implementation in #elixir. While the end product is not production ready we learn a lot about UDP, sniffing traffic, #GenServers, bitstrings, sigils, and other cool tricks.

https://0x7f.dev/post/ntp-implementation-in-elixir

NTP Implementation in Elixir

The idea So everything started off with the idea that I can somehow fake uptime of a machine by updating the time against a “corrupted” NTP that will lie about the time. Since there isn’t such a thing as a lying NTP server I decided to create one. This will be an exercise in reverse engineering a protocol, some Linux command line tricks, bitstring manipulation in Elixir, and some various other tricks.