GyulyVGC / sniffnet

Comfortably monitor your Internet traffic 🕵️‍♂️
https://sniffnet.net
Apache License 2.0
17.94k stars 548 forks source link
application gui iced linux macos network network-analysis network-monitoring networking packet-analyser packet-capture packet-sniffer pcap rust rust-crate security tool utility windows
Application to comfortably monitor your Internet traffic
Cross-platform, Intuitive, Reliable Translated in:
🇨🇳 🇩🇪 🇫🇷 🇷🇺 🇵🇹 🇪🇦 🇮🇹 🇵🇱 [+ 12 more languages](https://github.com/GyulyVGC/sniffnet/issues/60)

## _Support Sniffnet's development_ 💖 Sniffnet is completely free, open-source software which needs lots of effort and time to develop and maintain. If you appreciate Sniffnet, [consider sponsoring](https://github.com/sponsors/GyulyVGC): your support will allow me to dedicate more time to this project, constantly expanding it including [new features and functionalities](https://github.com/GyulyVGC/sniffnet/blob/main/ROADMAP.md). A special mention goes to these awesome organizations and folks who are sponsoring Sniffnet:

GitHub   IPinfo   Cthulu201   Tiansheng Li   ZEROF   Jan Walter

## Download | Windows | macOS | Linux (.deb) | Linux (.rpm) | |:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|:--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:| |         [64‑bit](https://github.com/GyulyVGC/sniffnet/releases/latest/download/Sniffnet_Windows_64-bit.msi) \| [32‑bit](https://github.com/GyulyVGC/sniffnet/releases/latest/download/Sniffnet_Windows_32-bit.msi)         | [Intel](https://github.com/GyulyVGC/sniffnet/releases/latest/download/Sniffnet_macOS_Intel.dmg) \| [Apple silicon](https://github.com/GyulyVGC/sniffnet/releases/latest/download/Sniffnet_macOS_AppleSilicon.dmg) | [amd64](https://github.com/GyulyVGC/sniffnet/releases/latest/download/Sniffnet_LinuxDEB_amd64.deb) \| [arm64](https://github.com/GyulyVGC/sniffnet/releases/latest/download/Sniffnet_LinuxDEB_arm64.deb) \| [i386](https://github.com/GyulyVGC/sniffnet/releases/latest/download/Sniffnet_LinuxDEB_i386.deb) \| [armhf](https://github.com/GyulyVGC/sniffnet/releases/latest/download/Sniffnet_LinuxDEB_armhf.deb) |         [x86_64](https://github.com/GyulyVGC/sniffnet/releases/latest/download/Sniffnet_LinuxRPM_x86_64.rpm) \| [aarch64](https://github.com/GyulyVGC/sniffnet/releases/latest/download/Sniffnet_LinuxRPM_aarch64.rpm)         | Links in the table above will download the latest version of Sniffnet directly from [GitHub releases](https://github.com/GyulyVGC/sniffnet/releases).
> [!NOTE] > > Remember to also install the [required dependencies](https://github.com/GyulyVGC/sniffnet/wiki/Required-dependencies) for your operating system. **Alternative installation methods** are reported in the following:
from Crates.io Follow this method only if you have [Rust installed](https://www.rust-lang.org/tools/install) on your machine.
In this case, the application binary can be built and installed with: ```sh cargo install sniffnet --locked ```
from Homebrew You can install [Sniffnet Homebrew package](https://github.com/Homebrew/homebrew-core/pkgs/container/core%2Fsniffnet) with: ```sh brew install sniffnet ```
from Nixpkgs You can install [Sniffnet Nix package](https://search.nixos.org/packages?channel=23.05&show=sniffnet&from=0&size=50&sort=relevance&type=packages&query=sniffnet) adding the following Nix code to your NixOS Configuration, usually located in `/etc/nixos/configuration.nix`: ```nix environment.systemPackages = [ pkgs.sniffnet ]; ``` Alternatively, you can install it in your home using [Home Manager](https://github.com/nix-community/home-manager) with: ```nix home.packages = [ pkgs.sniffnet ]; ``` Alternatively, you can try it in a shell with: ```sh nix-shell -p sniffnet ```
on Arch Linux You can install Sniffnet community package via [pacman](https://wiki.archlinux.org/title/Pacman): ```sh pacman -S sniffnet ```
on FreeBSD You can install Sniffnet port with: ```sh pkg install sniffnet ```
on NetBSD You can install Sniffnet from the official repositories via [pkgin](https://pkgin.net): ```sh pkgin install sniffnet ```
on Tiny Core Linux You can install Sniffnet from the official repository with: ``` tce-load -wi sniffnet ```
## Features - 💻 choose a **network adapter** of your PC to inspect - 🏷️ select a set of **filters** to apply to the observed traffic - 📖 view overall **statistics** about your Internet traffic - 📈 view **real-time charts** about traffic intensity - 📌 keep an eye on your network even when the application is **minimized** - 📁 **export** comprehensive capture reports as **PCAP files** - 🔎 identify **6000+ upper layer services**, protocols, trojans, and worms - 🌐 find out **domain name** and **ASN** of the hosts you are exchanging traffic with - 🏠 identify connections in your **local network** - 🌍 get information about the country of remote hosts (**IP geolocation**) - ⭐ save your **favorite** network hosts - 🕵️‍♂️ search and **inspect** each of your network connections in real time - 🔉 set **custom notifications** to inform you when defined network events occur - 🎨 choose the **style** that fits you the most, including custom themes support - ...and more! ## User manual Do you want to **learn more**?
Check out the [**Sniffnet Wiki**](https://github.com/GyulyVGC/sniffnet/wiki), a comprehensive manual to help you thoroughly master the application from a basic setup to the most advanced functionalities.
The Wiki includes step-by-step guides, tips, examples of usage, and answers to frequent questions.

## Troubleshooting
See details ### Missing dependencies Most of the errors that may arise are likely due to your system missing dependencies required to correctly analyze a network adapter.
Check the [required dependencies page](https://github.com/GyulyVGC/sniffnet/wiki/Required-dependencies) for instructions on how to proceed depending on your operating system. ### Rendering problems In some circumstances, especially if you are running on an old architecture or your graphical drivers are not updated, the `wgpu` default renderer used by [iced](https://github.com/iced-rs/iced) may manifest bugs (the interface glitches, color gradients are unsupported, or some icons are completely black).
In these cases you can set an environment variable to switch to the `tiny-skia` renderer, a CPU-only software renderer that should work properly on every environment: ```sh ICED_BACKEND=tiny-skia ``` ### ***In any case, don't hesitate to [open an issue](https://github.com/GyulyVGC/sniffnet/issues/new/choose), and I will do my best to help you!***
## Acknowledgements - A big shout-out to [all the contributors](https://github.com/GyulyVGC/sniffnet/blob/main/CONTRIBUTORS.md) of Sniffnet! - The graphical user interface has been realized with [iced](https://github.com/iced-rs/iced), a cross-platform GUI library for Rust focused on simplicity and type-safety

- Last but not least, thanks to [every single stargazer](https://github.com/GyulyVGC/sniffnet/stargazers): all forms of support made it possible to keep improving Sniffnet!