Skip to content

A playground for implementing network protocols and utilities in Rust

Notifications You must be signed in to change notification settings

egithinji/pingu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pingu

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:

Screenshot

Why

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.

(Roughly) implemented so far

  • Arp
  • Ipv4
  • Ping
  • TCP handshake
  • TCP
  • UDP
  • ...

Contributions

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.

Todo

  • Add build instructions to Readme.

About

A playground for implementing network protocols and utilities in Rust

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages