mirror of
https://github.com/jokob-sk/NetAlertX.git
synced 2025-12-07 09:36:05 -08:00
82 lines
2.3 KiB
Markdown
Executable File
82 lines
2.3 KiB
Markdown
Executable File
## Overview
|
|
|
|
A plugin allowing for importing devices from DHCP.leases files.
|
|
|
|
### Usage
|
|
|
|
- Specify full paths of all `dhcp.leases` files you want to import and watch in the `DHCPLSS_paths_to_check`setting.
|
|
- Map the paths specified in the `DHCPLSS_paths_to_check`setting in your `docker-compose.yml` file.
|
|
- If you are using pihole or dnsmasq dhcp.leases, include `pihole` or `dnsmasq` into the mapping path respectively, check the below example for details
|
|
|
|
|
|
#### Example:
|
|
|
|
|
|
`docker-compose.yml` excerpt:
|
|
|
|
```yaml
|
|
volumes:
|
|
...
|
|
# mapping different dhcp.leases files
|
|
- /first/location/dhcp.leases:/mnt/dhcp1.leases
|
|
- /second/location/dhcp.leases:/mnt/dhcp2.leases
|
|
- /third/location/dhcp.leases:/etc/pihole/dhcp.leases # a pihole specific dhcp.leases file
|
|
- /fourth/location/dhcp.leases:/etc/dnsmasq/dhcp.leases # a dnsmasq specific dhcp.leases file
|
|
...
|
|
```
|
|
|
|
The `DHCPLSS_paths_to_check` setting should then contain the following:
|
|
|
|
```python
|
|
DHCPLSS_paths_to_check = ['/mnt/dhcp1.leases','/mnt/dhcp2.leases','/etc/pihole/dhcp.leases','/etc/dnsmasq/dhcp.leases']
|
|
```
|
|
|
|
### Notes
|
|
|
|
No specific configuration is needed. This plugin supports `dhcp.leases` file(s) in the following formats:
|
|
|
|
1. PiHole
|
|
2. Dnsmasq
|
|
3. Generic format
|
|
|
|
#### pihole format
|
|
|
|
Example File Format: _(not all lines are required)_
|
|
|
|
```
|
|
TBC
|
|
```
|
|
|
|
#### dnsmasq format
|
|
|
|
`[Lease expiry time] [mac address] [ip address] [hostname] [client id, if known]`
|
|
|
|
Example File Format: _(not all lines are required)_
|
|
|
|
```
|
|
1715932537 01:5c:5c:5c:5c:5c:5c 192.168.1.115 ryans-laptop 01:5c:5c:5c:5c:5c:5c
|
|
```
|
|
|
|
> Note, only `[mac address] [ip address] [hostname]` are captured
|
|
|
|
#### Generic format
|
|
|
|
[dhcpd.leases(5) - Linux man page]( https://linux.die.net/man/5/dhcpd.leases#:~:text=This%20database%20is%20a%20free,file%20is%20the%20current%20one.)
|
|
|
|
Example File Format: _(not all lines are required)_
|
|
|
|
```
|
|
lease 192.168.79.15 {
|
|
starts 0 2016/08/21 13:25:45;
|
|
ends 0 2016/08/21 19:25:45;
|
|
cltt 0 2016/08/21 13:25:45;
|
|
binding state active;
|
|
next binding state free;
|
|
rewind binding state free;
|
|
hardware ethernet 8c:1a:bf:11:00:ea;
|
|
uid "\001\214\032\277\021\000\352";
|
|
option agent.circuit-id 0:17;
|
|
option agent.remote-id c0:a8:9:5;
|
|
client-hostname "android-8182e21c852776e7";
|
|
}
|
|
``` |