Skip to content

Commit

Permalink
Merge pull request #896 from KayJay7/plugin/ipneigh
Browse files Browse the repository at this point in the history
Add IPNEIGH plugin for IPv4/6 discovery using the `ip neigh` command by @KayJay7 🙏
  • Loading branch information
jokob-sk authored Nov 28, 2024
2 parents 8492c7c + e342810 commit 148eb5a
Show file tree
Hide file tree
Showing 4 changed files with 596 additions and 0 deletions.
1 change: 1 addition & 0 deletions front/plugins/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,7 @@ Device-detecting plugins insert values into the `CurrentScan` database table. T
| `VNDRPDT` || Vendor database update | | | Script | [vendor_update](/front/plugins/vendor_update/) |
| `WEBHOOK` | ▶️ | Webhook notifications | | | Script | [_publisher_webhook](/front/plugins/_publisher_webhook/) |
| `WEBMON` || Website down monitoring | | | Script | [website_monitor](/front/plugins/website_monitor/) |
| `IPNEIGH` | 🔍 | Scan ARP (IPv4) and NDP (IPv6) tables | | | Script | [ipneigh](/front/plugins/ipneigh/) |


> \* The database cleanup plugin (`DBCLNP`) is not _required_ but the app will become unusable after a while if not executed.
Expand Down
22 changes: 22 additions & 0 deletions front/plugins/ipneigh/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
## Overview

This plugin reads from the ARP and NDP tables using the `ip neigh` command.

This differs from the `ARPSCAN` plugin because
* It does *not* send arp requests, it just reads the table
* It supports IPv6
* It sends an IPv6 multicast ping to solicit IPv6 neighbour discovery

### Quick setup guide

To set up the plugin correctly, make sure to add in the plugin settings the name of the interfaces you want to scan. This plugin doesn't use the global `SCAN_SUBNET` setting, this is because by design it is not aware of subnets, it just looks at all the IPs reachable from an interface.

### Usage

- Head to **Settings** > **IP Neigh** to add the interfaces you want to scan to the `IPNEIGH_interfaces` option
- The interface list must be formatted without whitespaces and comma separated e.g. `eth0,wl1,tap0`

### Notes

- `ARPSCAN` does a better job at discovering IPv4 devices because it explicitly sends arp requests
- IPv6 devices will often have multiple addresses, but the ping answer will contain only one. This means that in general this plugin will not discover every address but only those who answer
Loading

0 comments on commit 148eb5a

Please sign in to comment.