# sniffnet **Repository Path**: xp-admin/sniffnet ## Basic Information - **Project Name**: sniffnet - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-01-03 - **Last Updated**: 2024-05-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

 

Application to comfortably monitor your Internet traffic
Multithreaded, cross-platform, reliable
🌐 www.sniffnet.net

Graphical interface translated in:
🇬🇧  🇩🇪  🇬🇷  🇪🇦  🇫🇮  🇫🇷  🇮🇹  🇰🇷  🇵🇱  🇵🇹  🇷🇴  🇷🇺  🇸🇪  🇹🇷  🇺🇦  🇨🇳

## _Help fund 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 and 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   Cthulu201   Tiansheng Li   ZEROF   Jan Walter

## Installation You can install Sniffnet in one of the following ways:
from GitHub releases  You can download the latest version of Sniffnet through the installers available **below**.
_Choose from a Windows Installer, an Apple Disk Image, a DEB package, or an RPM package (depending on your operating system)._ > **Note** > > If you are unsure which package to download, you should probably choose the first from your operating system list. ### Windows - [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) ### macOS - [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) ### Linux - deb: [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) - rpm: [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)
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 ```
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 ```
## Required dependencies Depending on your operating system, you may need to install some dependencies to run Sniffnet:
Windows dependencies  In order to correctly build and run Sniffnet on Windows systems you need to: - Install [Npcap](https://npcap.com/#download), making sure to check the box `Install Npcap in WinPcap API-compatible Mode` during the installation. - Download the [Npcap SDK](https://npcap.com/#download). - Add the SDK's ```/Lib/x64``` (or ```/Lib```) folder to your ```LIB``` environment variable. > **Note** > > If you just need to run the app, perform only the first step (second and third steps are required only for the build).
Linux dependencies  - On [Debian-based](https://en.wikipedia.org/wiki/List_of_Linux_distributions#Debian-based) distributions: - `libpcap-dev` - `libasound2-dev` - `libfontconfig1-dev` - On [RPM-based](https://en.wikipedia.org/wiki/List_of_Linux_distributions#RPM-based) distributions: - `libpcap-devel` - `alsa-lib-devel` - `fontconfig-devel` > **Note** > > If you just need to run the app, the `-dev` / `-devel` part of the dependencies is not needed (it's required only for the build). Note that if you are not running as root, you need to set capabilities to inspect a network adapter: ```sh sudo setcap cap_net_raw,cap_net_admin=eip ``` Alternatively you can run the app with sudo privileges: ```sh sudo sniffnet ```
MacOS dependencies  MacOS natively has all the dependencies you need to build and run Sniffnet!
However, remember to run the app with administrator privileges: this is needed to analyse the activity of your network device.
## 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 (bytes and packets per second, incoming and outgoing) - 🌐 get details about domain names and network providers of the hosts you are exchanging traffic with - 🏠 identify connections in your local network - 🌍 get information about the country of the remote hosts (IP geolocation) - ⭐ save your favorite network hosts - 🔉 set custom notifications to inform you when defined network events occur - 🎨 choose the style that fits you the most from 12 different available themes, plus custom theme support - 🕵️ inspect each of your network connections in real time - 📁 save complete textual reports with detailed information for each network connection: * source and destination IP addresses * source and destination ports * carried protocols * amount of exchanged packets and bytes * initial and final timestamp of information exchange - ... and more! ## IP geolocation and network providers (ASN)
See details
Geolocation and network providers (ASN) refer to the remote IP address of each connection. They are retrieved performing lookups against [MMDB files](https://maxmind.github.io/MaxMind-DB/): > **Note** > > The MMDB (MaxMind database) format has been developed especially for IP lookup.
> It is optimized to perform lookups on data indexed by IP network ranges quickly and efficiently.
> It permits the best performance on IP lookups, and it's suitable for use in a production environment. > > This product includes GeoLite2 data created by MaxMind, available from https://www.maxmind.com This file format potentially allows Sniffnet to execute hundreds of different IP lookups in a matter of a few milliseconds.
## Supported application layer protocols
See details
Application layer protocols are inferred from the transport port numbers, following the convention maintained by [IANA](https://www.iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml). Please, remember that this is just a convention: > **Warning** > > The Internet Assigned Numbers Authority (IANA) is responsible for maintaining > the official assignments of port numbers for specific uses.
> However, many unofficial uses of well-known port numbers occur in practice. The following table reports the port-to-service mappings used by Sniffnet, chosen from the most common assignments by IANA.
|Port number(s)|Application protocol | Description | |--|--|--| | 20, 21 | FTP |File Transfer Protocol | |22|SSH |Secure Shell | |23|Telnet |Telnet | |25|SMTP |Simple Mail Transfer Protocol | |49|TACACS |Terminal Access Controller Access-Control System | |53|DNS |Domain Name System | |67, 68|DHCP |Dynamic Host Configuration Protocol | |69|TFTP |Trivial File Transfer Protocol | |80, 8080|HTTP |Hypertext Transfer Protocol | |109, 110|POP |Post Office Protocol | |123|NTP |Network Time Protocol | |137, 138, 139|NetBIOS |NetBIOS | |143, 220|IMAP |Internet Message Access Protocol | |161, 162, 199|SNMP |Simple Network Management Protocol | |179|BGP |Border Gateway Protocol | |389|LDAP |Lightweight Directory Access Protocol | |443|HTTPS |Hypertext Transfer Protocol over SSL/TLS | |636|LDAPS |Lightweight Directory Access Protocol over TLS/SSL | |989, 990|FTPS |File Transfer Protocol over TLS/SSL | |993|IMAPS |Internet Message Access Protocol over TLS/SSL | |995|POP3S |Post Office Protocol 3 over TLS/SSL | |1900|SSDP |Simple Service Discovery Protocol | |5222|XMPP |Extensible Messaging and Presence Protocol | |5353|mDNS |Multicast DNS |
## Keyboard shortcuts
See details
Some keyboard shortcuts are available to improve the efficiency of use and the overall user experience. If you want to suggest a different key combination for one of the existing shortcuts or if you want to propose a new shortcut, have a look at [this](https://github.com/GyulyVGC/sniffnet/issues/97) issue. The currently usable hotkeys are reported in the following. > **Note** > > On macOS, use the `cmd` key instead of `ctrl`
| Event | Shortcut keys | |--|--| | Quit the application | `ctrl+Q` | | Open full report | `ctrl+O` | | Open settings | `ctrl+,` | | Clear all notifications | `ctrl+D` | | Interrupt the ongoing analysis | `ctrl+backspace` | | Start the analysis and confirm modal actions | `enter` | | Close settings and modal popups | `esc` | | Switch from a tab to the next (or previous) one | `tab` (or `shift+tab`) | | Change inspect connections page to the next (or previous) one | `ctrl+rightArrow` (or `ctrl+leftArrow`) |
## Custom themes
See details Custom themes are specified as a TOML file. The TOML must follow this format: ```toml # all colors are in RGB/RGBA hexadecimal. primary = "#303446" # background color secondary = "#a6d189" # header, footer, and incoming connections color outgoing = "#f4b8e4" # outgoing connections color text_body = "#c6d0f5" # body text color text_headers = "#232634" # header and footer text color starred = "#e5c890aa" # favorites' star color ``` The example theme above uses colors from [Catppuccin](https://github.com/catppuccin/catppuccin). You can also check the [`resources/themes`](https://github.com/GyulyVGC/sniffnet/tree/main/resources/themes) folder, which contains sample TOML files with additional themes. To use a custom theme for your instance of Sniffnet, specify the path of your TOML file in the application's settings (at the bottom of the style tab).
## Troubleshooting
See details ### Missing dependencies Most of the errors that can occur are likely due to your system missing required `pcap` dependencies, necessary to correctly analyze a network adapter.
Check the [required dependencies](#required-dependencies) section 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 up-to-date, the `wgpu` default renderer used by [iced](https://github.com/iced-rs/iced) may cause problems (country icons are completely black, or the interface glitches).
In these cases you can download an alternative version of the application, which is based on `tiny-skia`, a CPU-only software renderer that should work properly on every environment:
[Windows](https://github.com/GyulyVGC/sniffnet/suites/18338999542/artifacts/1061225849) | [macOS](https://github.com/GyulyVGC/sniffnet/suites/18338999542/artifacts/1061225848) | [Linux DEB](https://github.com/GyulyVGC/sniffnet/suites/18338999542/artifacts/1061225847) | [Linux RPM](https://github.com/GyulyVGC/sniffnet/suites/18338999542/artifacts/1061225850) ### ***In any case don't hesitate to [open an issue](https://github.com/GyulyVGC/sniffnet/issues), 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!