Giter VIP home page Giter VIP logo

netlyser's Introduction

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

netlyser's People

Contributors

dentrax avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

netlyser's Issues

error: linking with `cc` failed: exit status: 1

error: linking with cc failed: exit status: 1
|
= note: "cc" "-m64" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps/netlyser-9d51f537f9007d5c.netlyser.fcd5516b-cgu.0.rcgu.o" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps/netlyser-9d51f537f9007d5c.netlyser.fcd5516b-cgu.1.rcgu.o" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps/netlyser-9d51f537f9007d5c.netlyser.fcd5516b-cgu.2.rcgu.o" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps/netlyser-9d51f537f9007d5c.netlyser.fcd5516b-cgu.3.rcgu.o" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps/netlyser-9d51f537f9007d5c.netlyser.fcd5516b-cgu.4.rcgu.o" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps/netlyser-9d51f537f9007d5c.netlyser.fcd5516b-cgu.5.rcgu.o" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps/netlyser-9d51f537f9007d5c.netlyser.fcd5516b-cgu.6.rcgu.o" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps/netlyser-9d51f537f9007d5c.netlyser.fcd5516b-cgu.7.rcgu.o" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps/netlyser-9d51f537f9007d5c.netlyser.fcd5516b-cgu.8.rcgu.o" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps/netlyser-9d51f537f9007d5c.ozdkrs4rv8wg4wk.rcgu.o" "-Wl,--as-needed" "-L" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps" "-L" "/usr/lib/x86_64-linux-gnu" "-L" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps/libnetlyser-6def5e4d70c1de8f.rlib" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps/libnotify_rust-74b330774934d41e.rlib" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps/libdbus-88c574657d6a1785.rlib" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps/liblibdbus_sys-222bb26156f347e6.rlib" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps/libpnet-34f6d47edf81fd6f.rlib" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps/libpnet_transport-c811482464e058f9.rlib" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps/libpnet_packet-84c9e88df5a66f17.rlib" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps/libpnet_macros_support-d574354db29c74cf.rlib" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps/libpnet_datalink-98a4f4b36cd6d204.rlib" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps/libpnet_sys-e0b0e309bf675f18.rlib" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps/libpnet_base-0a426e75d78e1f69.rlib" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps/libipnetwork-a3127db4942ee4a2.rlib" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps/libchrono-417c78f0ae204757.rlib" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps/libnum_integer-a735b5961f3e17ce.rlib" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps/libnum_traits-7511d42551c0573f.rlib" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps/libtempfile-6ec55e664fa6530b.rlib" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps/libfastrand-e980e705b4b830d3.rlib" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps/libremove_dir_all-0b483eee924eb3da.rlib" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps/libserde_xml_rs-d07d9d9b3810d4ba.rlib" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps/libxml-3145dc982421480e.rlib" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps/liberror_chain-a6f3a07a2d7132bf.rlib" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps/libbacktrace-b09de533af514e8d.rlib" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps/libminiz_oxide-fc81ccb53349531e.rlib" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps/libadler-8c0484f54962533d.rlib" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps/libobject-08ddef18f1f25fcd.rlib" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps/libaddr2line-09ac52fbff270c93.rlib" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps/libgimli-53d6104151df1b4a.rlib" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps/librustc_demangle-a83013cabd77c9d9.rlib" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps/libserde_yaml-f43abcac7eb26c89.rlib" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps/libryu-48e39c66c05b30cb.rlib" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps/libindexmap-285335224e1d9bbc.rlib" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps/libhashbrown-9fecec426605bed1.rlib" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps/libyaml_rust-176b9c782134aa71.rlib" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps/libserde-fab5a4afa01dfe32.rlib" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps/librusqlite-874fe2b005361e40.rlib" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps/libtime-2e56645a99150a1a.rlib" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps/libfallible_streaming_iterator-b772f9c47a20f6f5.rlib" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps/libfallible_iterator-c7106752e44b912e.rlib" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps/liblru_cache-0e8e7443f14866af.rlib" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps/liblinked_hash_map-23f1ac548cf09777.rlib" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps/liblibsqlite3_sys-6543b9e1d9bbf6ca.rlib" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps/liblazy_static-344ffea6dbf1de0a.rlib" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps/libenv_logger-e1e4ed99e695ea47.rlib" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps/libregex-d307278cb5f859f7.rlib" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps/libaho_corasick-a1594957da8a8459.rlib" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps/libmemchr-86b4a27016f9ff3f.rlib" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps/libregex_syntax-23af1c8b15b8aa96.rlib" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps/libatty-6ffebff8c1119e69.rlib" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps/libhumantime-9b05ecec5c91f87a.rlib" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps/libquick_error-1b96caa8646bce2e.rlib" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps/libtermcolor-d93b521b81ab3f3d.rlib" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps/libclap-d818313f8137d5bd.rlib" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps/libtextwrap-7b74604a73d2e001.rlib" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps/libunicode_width-8d3f6a8b4dcae187.rlib" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps/libterm_size-e31c70c12a5b4805.rlib" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps/liblibc-a28f5069dd6c8503.rlib" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps/libbitflags-32a2c4a16da85e35.rlib" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps/liblog-920bd85fa2eed8a5.rlib" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps/libcfg_if-2ef9077c732ff00a.rlib" "-Wl,--start-group" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-100ac2470628c6dd.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-c1bfa75723acdb95.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-4325ed96453a7920.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-ce403c3b88c5fe91.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-994cfd751839ddab.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libmemchr-368bc4861fa02d5e.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-e286255bdaaed232.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-4f437febf8fdb0d6.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd_detect-7d787b6d20f2a600.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-05cee9a4d1e4d845.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-794f61e541e3aed1.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-70e9970f1d13ad4d.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-f5d61e66f1b23964.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-f0c8b4df2268c02f.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-318b026a90bd6c2a.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-2a486725be38b87e.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-0e4ec469cb368638.rlib" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-f0b6809579669f49.rlib" "-Wl,--end-group" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-de69d754321a9c93.rlib" "-Wl,-Bdynamic" "-ldbus-1" "-lsqlite3" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-znoexecstack" "-L" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/home/vedge/dentrax_netlyser/Netlyser/target/release/deps/netlyser-9d51f537f9007d5c" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro" "-Wl,-znow" "-Wl,-O1" "-nodefaultlibs"
= note: /usr/bin/ld: cannot find -lsqlite3
collect2: error: ld returned 1 exit status

error: could not compile netlyser due to previous error

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.