About Rshark

Rshark is a network packet monitoring tool that runs from your terminal.

It is written in Rust.

Rshark

If you want to jump right in to make contributions, have a look at the issues page on GitHub.

To those of you unfamiliar with Rust and its related ideas such as ownership and borrowing, the rich features of the language, and the concurrency model, we have provided a learning path for you to get you up to speed.

Do note that you do not need to understand everything to start contributing – the issues labeled first-timers-only will help those of you get familiar with Git and the open source workflow without having to worry about understanding the codebase in detail.

Remember the #rshark-help channel is your friend, and we will address any question related to the project, Rust in general, or even the contribution process.

Learning path for Rshark

The knowledge of the following will greatly aid you in contributing to rshark:

  • Learn Rust and its concept of ownership, borrowing and lifetimes
  • The various data types of Rust – structs, unions and enums, as well as pattern matching
  • Concurrency features in Rust – threads, locks, smart pointers, atomic reference counters etc.
  • Computer Networking
    • Various protocols involved like IPv4, IPv6, ARP, TCP, UDP, etc.
    • Packet formats based on the protocol.
  • Basic understanding of the libraries used
  • Asking questions at #rshark-help
    • This is super effective at filling gaps in your understanding, and someone may help you by pointing to the right place to learn something as well

In general we recommend looking at the actual issues in the repo while you are learning, so you can see how the above ideas are put into practice.

Making your first contribution

You can contribute to Rshark by:

  • Actually using Rshark, and reporting any issues you face, or features you want on the GitHub repo.
  • Seeing the issues currently present and coming up with a fix/contribution
    • The README file will help you on building the application from source
    • Refer to the contribution guidelines given in CONTRIBUTING.md
  • Just talking about it – spread the word about our community and what we are doing with your friends and on social media! More exposure helps us.