Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/bkbilly/mqtt-network-scanner
☄️ Network scanner that discovers all connected devices.
https://github.com/bkbilly/mqtt-network-scanner
network-scanner presence-detection webapp
Last synced: 13 days ago
JSON representation
☄️ Network scanner that discovers all connected devices.
- Host: GitHub
- URL: https://github.com/bkbilly/mqtt-network-scanner
- Owner: bkbilly
- Created: 2021-03-06T23:45:25.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2021-12-19T16:42:47.000Z (almost 3 years ago)
- Last Synced: 2024-10-04T17:53:36.142Z (about 1 month ago)
- Topics: network-scanner, presence-detection, webapp
- Language: Python
- Homepage:
- Size: 20.5 KB
- Stars: 8
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# MQTT Network Scanner
Presence detection for your whole Network.
Helps to keep an eye for new devices through an interactive web interface.# Features
* Scans at a configurable interval or manually.
* Highlights the new unrecognized devices.
* Custom fields for personalise each device.
* Custom icons through [Google Fonts](https://fonts.google.com/icons).
* [TBD] Will send notifications on MQTT and Mail.# Tech details
Sends ARP requests to get the IP and MAC of each device through the `arp-scan` command and for each offline device, it checks if it is actually offline with ICMP (ping). There were more pythonic ways to run the arp scan like the `scapy`, but the results on Linux were not so accurate.Every ARP scan needs root permitions because it is using a promiscuous mode to monitor the network and create custom packages, so you need sudo to run this app.
# Installation
The installation process is still on development, but the basic installation is as follows:
```bash
git clone https://github.com/bkbilly/mqtt-network-scanner.git /opt/mqtt-network-scanner
cd /opt/mqtt-network-scanner
vi config.yamlsudo apt install arp-scan
sudo pip install -r requirements.txt
sudo cp networkscanner.service /etc/systemd/system/networkscanner.service
sudo systemctl enable networkscanner.service
sudo systemctl start networkscanner.service
```# Inspiration
I wanted a tool like `fing` which could scan my network, but it doesn't support linux systems and I couldn't find any other easy to use alternatives.