Skip to content

Lightweight, a simple yet, Presence Detection Tool written in Rust, based on nmap, built for UNIX, made with <3

License

Notifications You must be signed in to change notification settings

Dentrax/Netlyser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

License: MIT Open Source Love Build Status FOSSA Status Sourcegraph

Lightweight, a simple yet, Presence Detection Tool written in Rust, based on nmap, built for UNIX, made with <3

What It Is

Features

How To Use

Installation

Requirements

Dependencies

About

Collaborators

Branches

Copyright & Licensing

Contributing

Contact

What It Is

Netlyser is a Rust tool for Presence Detection in your private network.

Screenshots

Notification

Notification Notification

Database

Database

Features

  • 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

How To Use

Usage

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'

Config

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

Installation

  1. 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/
  1. Build the all project using this command
$ cargo build --release
  1. Run the Netlyser with following command
$ ./target/release/netlyser

Known Issues

  • 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)

TO-DO

  • Add unit tests

  • Support for Windows

  • Customizable notification structure

Requirements

  • 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

Dependencies

  • Please see the Cargo.toml file for dependency informations

About

Netlyser was created to serve three purposes:

Netlyser is your painless and lovely network presence observer tool

  1. To act as a painless Presence Detection Tool

  2. To provide a simplest and easiest way to observing the home network

  3. There is a source for you to develop your own nmap based tools

Collaborators

Project Manager - Furkan Türkal (GitHub: Dentrax)

Branches

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.

Copyright & Licensing

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.

FOSSA Status

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.

Contributing

Please check the CONTRIBUTING.MD file for contribution instructions and naming guidelines.

Contact

Netlyser was created by Furkan 'Dentrax' Türkal

You can contact by URL: CONTACT

Best Regards