{"id":19099496,"url":"https://github.com/dentrax/netlyser","last_synced_at":"2025-04-30T16:17:17.837Z","repository":{"id":103621580,"uuid":"185087518","full_name":"Dentrax/Netlyser","owner":"Dentrax","description":"Lightweight, a simple yet, Presence Detection Tool written in Rust, based on nmap, built for UNIX, made with \u003c3","archived":false,"fork":false,"pushed_at":"2019-05-14T21:03:49.000Z","size":86,"stargazers_count":62,"open_issues_count":1,"forks_count":2,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-04-30T16:16:58.131Z","etag":null,"topics":["arp-scan","arp-scanner","based-on-nmap","cli","command-line-tool","home-assistant","homeassistant","network-analysis","network-monitoring","nmap","nmap-analyzer","nmap-parser","nmap-results-analyse","notification","notifier","presence","presence-detection","rust","scanner","unix"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Dentrax.png","metadata":{"files":{"readme":"README.MD","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2019-05-05T22:11:20.000Z","updated_at":"2024-11-03T05:28:09.000Z","dependencies_parsed_at":"2023-05-24T00:30:43.885Z","dependency_job_id":null,"html_url":"https://github.com/Dentrax/Netlyser","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dentrax%2FNetlyser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dentrax%2FNetlyser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dentrax%2FNetlyser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Dentrax%2FNetlyser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Dentrax","download_url":"https://codeload.github.com/Dentrax/Netlyser/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251739677,"owners_count":21635893,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arp-scan","arp-scanner","based-on-nmap","cli","command-line-tool","home-assistant","homeassistant","network-analysis","network-monitoring","nmap","nmap-analyzer","nmap-parser","nmap-results-analyse","notification","notifier","presence","presence-detection","rust","scanner","unix"],"created_at":"2024-11-09T03:50:59.406Z","updated_at":"2025-04-30T16:17:17.818Z","avatar_url":"https://github.com/Dentrax.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# [Netlyser](https://github.com/Dentrax/Netlyser)\n\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n[![Open Source Love](https://badges.frapsoft.com/os/v1/open-source.png?v=103)](https://github.com/ellerbrock/open-source-badges/)\n[![Build Status](https://travis-ci.org/Dentrax/Netlyser.svg?branch=master)](https://travis-ci.org/Dentrax/Netlyser)\n[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2FDentrax%2FNetlyser.svg?type=shield)](https://app.fossa.com/projects/git%2Bgithub.com%2FDentrax%2FNetlyser?ref=badge_shield)\n[![Sourcegraph](https://img.shields.io/badge/view%20on-Sourcegraph-brightgreen.svg)](https://sourcegraph.com/github.com/Dentrax/Netlyser)\n\n**Lightweight, a simple yet, Presence Detection Tool written in Rust, based on `nmap`, built for UNIX, made with \u003c3**\n\n[What It Is](#what-it-is)\n\n[Features](#features)\n\n[How To Use](#how-to-use)\n\n[Installation](#installation)\n\n[Requirements](#requirements)\n\n[Dependencies](#dependencies)\n\n[About](#about)\n\n[Collaborators](#collaborators)\n\n[Branches](#branches) \n\n[Copyright \u0026 Licensing](#copyright--licensing)\n\n[Contributing](#contributing)\n\n[Contact](#contact)\n\n## What It Is\n\n**Netlyser is a Rust tool for Presence Detection in your private network.**\n\n### Screenshots\n\nNotification\n--------------------------\n\n![Notification](https://raw.githubusercontent.com/Dentrax/Netlyser/master/screenshots/ss_0.png)\n![Notification](https://raw.githubusercontent.com/Dentrax/Netlyser/master/screenshots/ss_1.png)\n\nDatabase\n--------------------------\n\n![Database](https://raw.githubusercontent.com/Dentrax/Netlyser/master/screenshots/ss_2.png)\n\n## Features\n\n* Notify the device behaviour (connect / disconnect) using `dbus`\n\n* Store the all of network behaviours (name, type, ip, mac, status) in `sqlite` database log file\n\n* Mapping of the MAC addresses to labels to host devices\n\n## How To Use\n\n### Usage\n\n```txt\nnetlyser 0.1.0\nNetwork observing tool for your sweet home\n\nUSAGE:\n    netlyser [FLAGS] [OPTIONS] --config-file \u003cconfig-file\u003e --network \u003cnetwork\u003e --output-path \u003coutput-path\u003e\n\nFLAGS:\n    -h, --help       Prints help information\n    -q, --quiet      Quiet mode (Overrides verbose mode)\n    -V, --version    Prints version information\n    -v, --verbose    Verbose mode (Warn: -v, Info: -vv, Debug: -vvv, Trace: -vvvv)\n\nOPTIONS:\n    -c, --config-file \u003cconfig-file\u003e    Input filepath for the config file, e.g '~/.config/netlyser.conf\n    -n, --network \u003cnetwork\u003e            CIDR notation of the network you want to scan, e.g.'192.168.1.0/24'\n    -o, --output-path \u003coutput-path\u003e    Output filepath for the SQLite database file, e.g. '/var/log/sweet-home.db'\n```\n\n### Config\n\n```yaml\ngeneral:\n  interval: 60000\n  round: 5\n  \n  notify_on_connect: true\n  notify_on_disconnect: true\n\nhosts:\n  - mac: \"01:23:45:67:89:AB\"\n    name: \"Furkan\"\n    device: \"iPhone\"\n\n  - mac: \"BA:98:76:54:32:10\"\n    name: \"Burak\"\n    device: \"iPad\"\n```\n\n**Interval:** `nmap` check delay in ms\n**Round:** `nmap` round count to get more accurate results\n\n## Installation\n\n1. Clone the project to your computer and navigate to folder by executing the following command:\n```\n$ git clone https://github.com/Dentrax/Netlyser.git \u0026\u0026 cd ./Netlyser/\n```\n\n2. Build the all project using this command\n```\n$ cargo build --release\n```\n\n3. Run the Netlyser with following command\n```\n$ ./target/release/netlyser\n```\n\n## Known Issues\n\n* `dbus` won't send notifications to current user session in privileged mode\n\n* In `unprivileged` mode, it will not work as you expect (see [here](https://superuser.com/questions/887887/different-behavior-sudo-nmap-vs-just-nmap)) in every situation\n\n* `nmap` runs several rounds to get better and more accurate results \n\n* Not works in Windows (hard-coded binding stuffs)\n\n## TO-DO\n\n- [ ] Add unit tests\n\n- [ ] Support for Windows\n\n- [ ] Customizable notification structure\n\n## Requirements\n\n* `nmap`: is used to discover hosts and services on a computer network by sending packets and analyzing the responses. [Learn More](https://nmap.org/)\n\n* You will need a computer on which you have the rights to compile files\n\n## Dependencies\n\n* Please see the **[Cargo.toml](https://github.com/Dentrax/Netlyser/blob/master/Cargo.toml)** file for dependency informations\n\n## About\n\nNetlyser was created to serve three purposes:\n\n**Netlyser is your painless and lovely network presence observer tool**\n\n1. To act as a painless Presence Detection Tool\n\n2. To provide a simplest and easiest way to observing the home network\n\n3. There is a source for you to develop your own `nmap` based tools\n\n## Collaborators\n\n**Project Manager** - Furkan Türkal (GitHub: **[Dentrax](https://github.com/dentrax)**)\n\n## Branches\n\nWe publish source for the **[Netlyser]** in single rolling branch:\n\nThe **[master branch](https://github.com/dentrax/Netlyser/tree/master)** is extensively tested and makes a great starting point. Also tracks [live changes](https://github.com/dentrax/Netlyser/commits/master) by commits.\n\n## Copyright \u0026 Licensing\n\nThe base project code is copyrighted by Furkan 'Dentrax' Türkal and is covered by single licence.\n\nAll program code (i.e. .rs) is licensed under MIT License unless otherwise specified. Please see the **[LICENSE.md](https://github.com/Dentrax/Netlyser/blob/master/LICENSE)** file for more information.\n\n[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2FDentrax%2FNetlyser.svg?type=large)](https://app.fossa.com/projects/git%2Bgithub.com%2FDentrax%2FNetlyser?ref=badge_large)\n\n**References**\n\nWhile this repository is being prepared, it may have been quoted from some sources that already mentioned on specific files.\n\nIf there is an unspecified source or if you think that I made a copyright infringement, please contact with me.\n\n## Contributing\n\nPlease check the [CONTRIBUTING.MD](CONTRIBUTING.MD) file for contribution instructions and naming guidelines.\n\n## Contact\n\nNetlyser was created by Furkan 'Dentrax' Türkal\n\n * \u003chttps://www.furkanturkal.com\u003e\n \nYou can contact by URL:\n    **[CONTACT](https://github.com/dentrax)**\n\n\u003ckbd\u003eBest Regards\u003c/kbd\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdentrax%2Fnetlyser","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdentrax%2Fnetlyser","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdentrax%2Fnetlyser/lists"}