Pingu is a playground for implementing network protocols and utilities in Rust. For any utility, the aim is to successfully communicate with a real world host. For example it contains an implementation of ping, that aims to satisfy pages 14 and 15 of RFC 792:
The idea is to learn-by-doing with regards to network protocols and writing Rust code. An implementation is complete when tested against a real host on a network.
- Arp
- Ipv4
- Ping
- TCP handshake
- TCP
- UDP
- ...
Contributions of code/feedback/ideas to the playground are very welcome. E.g. if you want to practice implementing a network tool/protocol in Rust.
- Add build instructions to Readme.