If you’re curious about what passes through your network card throughout the day and want to monitor it in real-time, there are various tools available, including Sniffnet. Sniffnet is completely open source, developed in Rust, and works seamlessly on Linux, macOS, and Windows. Once you’ve selected the network adapter, you’ll see real-time graphs displaying the amount of packets and bytes passing through per second.
You can categorize this information by the quantity of packets, bytes, or the freshness of the connection :-).
Sniffnet’s interface allows you to monitor your network traffic in real time (see screenshot). The packets can be filtered by protocol (HTTP, DNS, HTTPS, DHCP, etc.), and when launching the application, you can precisely choose the protocol you want to observe. Unlike Wireshark, Sniffnet doesn’t display the contents of these packets; instead, it generates statistics. You can even export a report in TXT format containing:
- Source and destination IP addresses
- Source and destination ports
- Transported protocols
- Number of packets and bytes exchanged
- Initial and final timestamps of the information exchange
If, like me, you struggle to find the export button, it’s located at the bottom right. To see it, you’ll need to enlarge the window as much as possible.
Are you interested?
To get started, you need to install Rust on macOS and Linux (for Windows, click here):
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
Then open a new terminal to reload your shell and enter the following command to install Sniffnet:
cargo install sniffnet
The tool will install itself, allowing you to monitor all your network traffic at a glance (see screenshot).
I particularly enjoyed the ‘light display’/’dark display’ function, which is essentially a color inversion. Very clever (and not so ugly after all).