Skip to content

Latest commit

 

History

History
132 lines (102 loc) · 4.54 KB

README.md

File metadata and controls

132 lines (102 loc) · 4.54 KB

Pi.Alert

WIFI / LAN intruder detector.

Scan the devices connected to your WIFI / LAN and alert you the connection of unknown devices. It also warns the disconnection of "always connected" devices.

Main screen

(Apologies for my English and my limited knowledge of Python, php and JavaScript)

How it works

The system continuously scans the network for:

  • New devices
  • New connections (re-connections)
  • Disconnections
  • "Always Connected" devices down
  • Devices IP changes
  • Internet IP address changes

Scan Methods

Up to three scanning methods are used:

  • Method 1: arp-scan. The arp-scan system utility is used to search for devices on the network using arp frames.
  • Method 2: Pi-hole. This method is optional and complementary to method 1. If the Pi-hole DNS server is active, Pi.Alert examines its activity looking for active devices using DNS that have not been detected by method 1.
  • Method 3. dnsmasq. This method is optional and complementary to the previous methods. If the DHCP server dnsmasq is active, Pi.Alert examines the DHCP leases (addresses assigned) to find active devices that were not discovered by the other methods.

Components

The system consists of two parts:

Back

In charge of:

  • Scan the network searching connected devices using the scanning methods described
  • Store the information in the DB
  • Report the changes detected by e-mail
Report 1 Report 2

Front

A web frontal that allows:

  • Manage the devices inventory and the characteristics
  • Display in a visual way all the information collected by the back
    • Sessions
    • Connected devices
    • Favorites
    • Events
    • Presence
    • Concurrent devices
    • Down alerts
    • IP's
    • ...
Screen 1 Screen 2
Screen 3 Screen 4

Installation

Initially designed to run on a Raspberry Pi, probably it can run on many other Linux distributions.

Update

  • One-step Automated Update:

    curl -sSL https://github.com/pucherot/Pi.Alert/raw/main/install/pialert_update.sh | bash

Uninstall process

Device Management

Other useful info

Powered by:

Product Objetive
Python Programming language for the Back
PHP Programming language for the Front-end
JavaScript Programming language for the Front-end
Bootstrap Front-end framework
Admin.LTE Bootstrap template
FullCalendar Calendar component
Sqlite DB engine
Lighttpd Webserver
arp-scan Scan network using arp commands
Pi.hole DNS Server with Ad-block
dnsmasq DHCP Server

License

GPL 3.0 Read more here

Contact

[email protected]

Suggestions and comments are welcome