Lightweight, a simple yet, Presence Detection Tool written in Rust, based on nmap
, built for UNIX, made with <3
Netlyser is a Rust tool for Presence Detection in your private network.
-
Notify the device behaviour (connect / disconnect) using
dbus
-
Store the all of network behaviours (name, type, ip, mac, status) in
sqlite
database log file -
Mapping of the MAC addresses to labels to host devices
netlyser 0.1.0
Network observing tool for your sweet home
USAGE:
netlyser [FLAGS] [OPTIONS] --config-file <config-file> --network <network> --output-path <output-path>
FLAGS:
-h, --help Prints help information
-q, --quiet Quiet mode (Overrides verbose mode)
-V, --version Prints version information
-v, --verbose Verbose mode (Warn: -v, Info: -vv, Debug: -vvv, Trace: -vvvv)
OPTIONS:
-c, --config-file <config-file> Input filepath for the config file, e.g '~/.config/netlyser.conf
-n, --network <network> CIDR notation of the network you want to scan, e.g.'192.168.1.0/24'
-o, --output-path <output-path> Output filepath for the SQLite database file, e.g. '/var/log/sweet-home.db'
general:
interval: 60000
round: 5
notify_on_connect: true
notify_on_disconnect: true
hosts:
- mac: "01:23:45:67:89:AB"
name: "Furkan"
device: "iPhone"
- mac: "BA:98:76:54:32:10"
name: "Burak"
device: "iPad"
Interval: nmap
check delay in ms
Round: nmap
round count to get more accurate results
- Clone the project to your computer and navigate to folder by executing the following command:
$ git clone https://github.com/Dentrax/Netlyser.git && cd ./Netlyser/
- Build the all project using this command
$ cargo build --release
- Run the Netlyser with following command
$ ./target/release/netlyser
-
dbus
won't send notifications to current user session in privileged mode -
In
unprivileged
mode, it will not work as you expect (see here) in every situation -
nmap
runs several rounds to get better and more accurate results -
Not works in Windows (hard-coded binding stuffs)
-
Add unit tests
-
Support for Windows
-
Customizable notification structure
-
nmap
: is used to discover hosts and services on a computer network by sending packets and analyzing the responses. Learn More -
You will need a computer on which you have the rights to compile files
- Please see the Cargo.toml file for dependency informations
Netlyser was created to serve three purposes:
Netlyser is your painless and lovely network presence observer tool
-
To act as a painless Presence Detection Tool
-
To provide a simplest and easiest way to observing the home network
-
There is a source for you to develop your own
nmap
based tools
Project Manager - Furkan Türkal (GitHub: Dentrax)
We publish source for the [Netlyser] in single rolling branch:
The master branch is extensively tested and makes a great starting point. Also tracks live changes by commits.
The base project code is copyrighted by Furkan 'Dentrax' Türkal and is covered by single licence.
All program code (i.e. .rs) is licensed under MIT License unless otherwise specified. Please see the LICENSE.md file for more information.
References
While this repository is being prepared, it may have been quoted from some sources that already mentioned on specific files.
If there is an unspecified source or if you think that I made a copyright infringement, please contact with me.
Please check the CONTRIBUTING.MD file for contribution instructions and naming guidelines.
Netlyser was created by Furkan 'Dentrax' Türkal
You can contact by URL: CONTACT
Best Regards