https://github.com/GyulyVGC/sniffnet Skip to content Toggle navigation Sign up * Product + Actions Automate any workflow + Packages Host and manage packages + Security Find and fix vulnerabilities + Codespaces Instant dev environments + Copilot Write better code with AI + Code review Manage code changes + Issues Plan and track work + Discussions Collaborate outside of code Explore + All features + Documentation + GitHub Skills + Blog * Solutions For + Enterprise + Teams + Startups + Education By Solution + CI/CD & Automation + DevOps + DevSecOps Case Studies + Customer Stories + Resources * Open Source + GitHub Sponsors Fund open source developers + The ReadME Project GitHub community articles Repositories + Topics + Trending + Collections * Pricing [ ] * # In this repository All GitHub | Jump to | * No suggested jump to results * # In this repository All GitHub | Jump to | * # In this user All GitHub | Jump to | * # In this repository All GitHub | Jump to | Sign in Sign up {{ message }} GyulyVGC / sniffnet Public * * Notifications * Fork 134 * Star 5.2k Application to comfortably monitor your network traffic License Apache-2.0, MIT licenses found Licenses found Apache-2.0 LICENSE-APACHE MIT LICENSE-MIT 5.2k stars 134 forks Star Notifications * Code * Issues 17 * Pull requests 3 * Discussions * Actions * Security * Insights More * Code * Issues * Pull requests * Discussions * Actions * Security * Insights GyulyVGC/sniffnet This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository. main Switch branches/tags [ ] Branches Tags Could not load branches Nothing to show {{ refName }} default View all branches Could not load tags Nothing to show {{ refName }} default View all tags Name already in use A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch? Cancel Create 2 branches 8 tags Code * Local * Codespaces * Clone HTTPS GitHub CLI [https://github.com/G] Use Git or checkout with SVN using the web URL. [gh repo clone GyulyV] Work fast with our official CLI. Learn more about the CLI. * Open with GitHub Desktop * Download ZIP Sign In Required Please sign in to use Codespaces. Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Launching GitHub Desktop If nothing happens, download GitHub Desktop and try again. Launching Xcode If nothing happens, download Xcode and try again. Launching Visual Studio Code Your codespace will open once ready. There was a problem preparing your codespace, please try again. Latest commit @allcontributors allcontributors[bot] docs: add orhun as a contributor for doc, and platform (#190) ... eeda31a May 18, 2023 docs: add orhun as a contributor for doc, and platform (#190) * docs: update CONTRIBUTORS.md [skip ci] * docs: update .all-contributorsrc [skip ci] --------- Co-authored-by: allcontributors[bot] <46447321+allcontributors[bot]@users.noreply.github.com> eeda31a Git stats * 787 commits Files Permalink Failed to load latest commit information. Type Name Latest commit message Commit time .design updated pictures links February 28, 2023 11:12 .github nocapture May 17, 2023 11:24 resources updated images to v1.2.0 May 18, 2023 13:55 src improved translations structure May 14, 2023 17:36 wix removed npcap installation from main.wxs May 17, 2023 15:10 .all-contributorsrc docs: add orhun as a contributor for doc, and platform (#190) May 18, 2023 18:43 .editorconfig Automated build and packaging May 5, 2023 13:40 .gitattributes Automated build and packaging May 5, 2023 13:40 .gitignore created wix folder May 17, 2023 11:02 CHANGELOG.md update README May 18, 2023 13:10 CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md September 10, 2022 22:25 CONTRIBUTING.md updated pictures links February 28, 2023 11:12 CONTRIBUTORS.md docs: add orhun as a contributor for doc, and platform (#190) May 18, 2023 18:43 Cargo.lock updated dependencies before release May 18, 2023 10:53 Cargo.toml updated dependencies before release May 18, 2023 10:53 LICENSE-APACHE Create LICENSE-APACHE August 22, 2022 15:19 LICENSE-MIT added footer, added bordered containers, fixed output report write af... October 28, 2022 18:09 README.md add installation instructions for Arch Linux May 18, 2023 18:50 View code [ ] Help fund Sniffnet's Development Installation Required dependencies Features IP geolocation and network providers (ASN) Supported application layer protocols Keyboard shortcuts Troubleshooting Missing dependencies Installers incompatibilities Rendering problems In any case don't hesitate to open an issue, and I will do my best to help you! Acknowledgements README.md [header_repository] [6874747073] [6874747073] Application to comfortably monitor your network traffic Multithreaded, cross-platform, reliable Graphical interface translated in: [hr] [overview_page] [inspect_page] [notifications_page] [hr] Help fund Sniffnet's Development Sniffnet is a fully free, open-source software which needs your support to be maintained on a regular basis. If you appreciate Sniffnet, please consider donating: this is the only way for me to keep working on this project, constantly improving and expanding it. A special mention goes to these awesome organizations and folks who are sponsoring Sniffnet: github tiansheng li Installation You can install Sniffnet in one of the following ways: from GitHub releases [6874747073] You can install Sniffnet through the installers available in the latest release. Choose from a Windows installer, a macOS disk image, or a DEB package (depending on your operating system). Here for your convenience you can find the direct link to the downloads: * Windows (13.1 MB) * macOS (12.4 MB) * Linux (.deb) (9.2 MB) * Linux (.rpm) (11.4 MB) from Crates.io [6874747073] Follow this method only if you have Rust installed on your machine. In this case, the application binary can be installed with: cargo install sniffnet from Homebrew You can install Sniffnet Homebrew package with: brew install sniffnet on Arch Linux You can install Sniffnet community package via pacman: pacman -S sniffnet Required dependencies Depending on your operating system, you may need to install some dependencies to run Sniffnet: Windows dependencies [193] In order to correctly run Sniffnet on Windows systems you need to: * Install Npcap. * Download the Npcap SDK. * Add the SDK's /Lib or /Lib/x64 folder to your LIB environment variable. Linux dependencies [193] In order to correctly run Sniffnet on Linux systems, install the libraries and header files for the libpcap library: sudo apt-get install libpcap-dev Note that if you are not running as root, you need to set capabilities to inspect a network adapter: sudo setcap cap_net_raw,cap_net_admin=eip Most Linux system also need this dependency (required to build the library used to play sounds): sudo apt-get install libasound2-dev Depending on your Linux environment you may also need libfontconfig: sudo apt-get install libfontconfig libfontconfig1-dev MacOS dependencies [193] MacOS natively has all the dependencies you need to build and run 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 (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 4 different available themes * [?] inspect each of your network connections in real time * save complete textual report 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, and they are retrieved performing lookups against MMDB files: 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 different hundreds of 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. 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 Application Description (s) protocol 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, NetBIOS NetBIOS 139 143, 220 IMAP Internet Message Access Protocol 161, 162, SNMP Simple Network Management Protocol 199 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, give a look at this 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 enter actions Close settings and modal popups esc Switch from a tab to the next (or previous) tab (or shift+tab) one Change inspect connections page to the next ctrl+rightArrow (or (or previous) one ctrl+leftArrow) 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 section for instructions on how to proceed. For a Windows reference, you can check issue #1. Note that most Linux system also need this dependency (required to build the library used to play sounds): sudo apt-get install libasound2-dev Some Linux systems also need libfontconfig, see issue #18 for a reference. Installers incompatibilities If you have problems after having installed Sniffnet through the provided installers, it could be due to your OS not being compatible with the pre-built binaries I generated for you. Reach me out, and I'll try to generate an installer for your specific operating system. Rendering problems In some cases, especially if you are running on an old architecture, the wgpu default renderer used by iced may cause some problems that could prevent you from running Sniffnet. In this case, you can try building the application from the glow-renderer branch, which uses the glow renderer. In any case don't hesitate to open an issue, and I will do my best to help you! Acknowledgements * A big shout-out to all the contributors of Sniffnet! * The graphical user interface has been realized with iced, a cross-platform GUI library for Rust focused on simplicity and type-safety [219339409-0a44722b-416d-410b-93a4] * Last but not least, thanks to every single stargazer: all forms of support made it possible to keep improving Sniffnet! [6874747073] About Application to comfortably monitor your network traffic Topics windows macos linux rust security networking data-visualization gui-application packet-sniffer network-analysis network-programming packet-capture rust-crate Resources Readme License Apache-2.0, MIT licenses found Licenses found Apache-2.0 LICENSE-APACHE MIT LICENSE-MIT Code of conduct Code of conduct Stars 5.2k stars Watchers 24 watching Forks 134 forks Report repository Releases 8 v1.2.0 Latest May 18, 2023 + 7 releases Sponsor this project Sponsor Learn more about GitHub Sponsors Used by 2 * @sarvex @sarvex / sniffnet * @GyulyVGC @GyulyVGC / sniffnet Contributors 21 * @GyulyVGC * @dependabot[bot] * @allcontributors[bot] * @Crirock * @colin99d * @4r7if3x * @abousis * @ImgBotApp * @DocRAID * @amarao * @acolombier + 10 contributors Languages * Rust 98.0% * Rich Text Format 2.0% Footer (c) 2023 GitHub, Inc. Footer navigation * Terms * Privacy * Security * Status * Docs * Contact GitHub * Pricing * API * Training * Blog * About You can't perform that action at this time. You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.