|
1 | 1 | # Scanning Remote or Inaccessible Networks |
2 | 2 |
|
3 | | -By design, local network scanners such as `arp-scan` use ARP (Address Resolution Protocol) to map IP addresses to MAC addresses on the local network. Since ARP operates at Layer 2 (Data Link Layer), it typically works only within a single broadcast domain, usually limited to a single router or network segment. |
| 3 | +> [!TIP] |
| 4 | +> If a device responds to `ping` but does not appear in NetAlertX, the most common cause is that the device is located on a different Layer-2 segment, behind a Wi-Fi extender, VPN, VLAN, or router. In these cases, `arp-scan` may not be able to discover it even though IP connectivity exists. |
| 5 | +
|
| 6 | +By design, local network scanners such as `arp-scan` use ARP (Address Resolution Protocol) to map IP addresses to MAC addresses on the local network. Since ARP operates at Layer 2 (Data Link Layer), it **typically works only within a single broadcast domain**, usually limited to a single router or network segment. |
4 | 7 |
|
5 | 8 | > [!NOTE] |
6 | | -> Ping and `ARPSCAN` use different protocols so even if you can ping devices it doesn't mean `ARPSCAN` can detect them. |
| 9 | +> `ping` and `arp-scan` use different protocols so even if you can ping devices it doesn't mean the `ARPSCAN` plugin can detect them. |
7 | 10 |
|
8 | | -To scan multiple locally accessible network segments, add them as subnets according to the [subnets](./SUBNETS.md) documentation. If `ARPSCAN` is not suitable for your setup, read on. |
| 11 | +To scan multiple **locally accessible network segments**, add them as subnets according to the [subnets](./SUBNETS.md) documentation. If `ARPSCAN` is not suitable for your setup, read on. |
9 | 12 |
|
10 | 13 | ## Complex Use Cases |
11 | 14 |
|
12 | | -The following network setups might make some devices undetectable with `ARPSCAN`. Check the specific setup to understand the cause and find potential workarounds to report on these devices. |
| 15 | +The following network setups can prevent the `ARPSCAN` plugin from discovering some devices. Review the relevant section below to understand the limitations and available workarounds. |
13 | 16 |
|
14 | 17 | ### Wi-Fi Extenders |
15 | 18 |
|
16 | 19 | Wi-Fi extenders often **block or proxy Layer-2 broadcast traffic**, which can prevent network scanning tools like `arp-scan` from detecting devices behind the extender. This can happen **even when the extender uses the same SSID and the same IP subnet** as the main network. |
17 | 20 |
|
18 | | -Please note that being able to `ping` a device does **not** mean it is discoverable via `arp-scan`. |
| 21 | +> [!IMPORTANT] |
| 22 | +> Please note that being able to `ping` a device does **not** mean it is discoverable via `arp-scan`. |
| 23 | +> |
| 24 | +> * `arp-scan` relies on **Layer 2 (ARP broadcast)** |
| 25 | +> * ICMP (`ping`) operates at **Layer 3 (routed traffic)** |
19 | 26 |
|
20 | | -* `arp-scan` relies on **Layer 2 (ARP broadcast)** |
21 | | -* ICMP (`ping`) operates at **Layer 3 (routed traffic)** |
| 27 | +Devices behind extenders may respond to ping but remain undiscoverable via `arp-scan`. |
22 | 28 |
|
23 | | -That’s why devices behind extenders may respond to ping but remain undiscoverable via `arp-scan`. |
| 29 | +#### Workaround: Wi-Fi Extenders |
24 | 30 |
|
25 | | -> **Possible workaround**: |
26 | | -> If the extender uses a separate subnet, scan that subnet directly. Otherwise, use DHCP-based discovery plugins or router integration instead of ARP. See the **Other Workarounds** section below for more details. |
| 31 | +If the extender uses a separate subnet, scan that subnet directly. See the [subnets](./SUBNETS.md) documentation for details. Otherwise, use DHCP-based discovery plugins or router integration instead of relying only on the `ARPSCAN` plugin. See the **Other Workarounds** section below for more details. |
27 | 32 |
|
28 | 33 | ### VPNs |
29 | 34 |
|
30 | | -ARP operates at Layer 2 (Data Link Layer) and works only within a local area network (LAN). VPNs, which operate at Layer 3 (Network Layer), route traffic between networks, preventing ARP requests from discovering devices outside the local network. |
| 35 | +The `arp-scan` utility operates at Layer 2 (Data Link Layer) and works only within a local area network (LAN). VPNs, which operate at Layer 3 (Network Layer), route traffic between networks, preventing ARP requests from discovering devices outside the local network. |
31 | 36 |
|
32 | 37 | VPNs use virtual interfaces (e.g., `tun0`, `tap0`) to encapsulate traffic, bypassing ARP-based discovery. Additionally, many VPNs use NAT, which masks individual devices behind a shared IP address. |
33 | 38 |
|
34 | | -> **Possible workaround**: Configure the VPN to bridge networks instead of routing to enable ARP, though this depends on the VPN setup and security requirements. |
| 39 | +#### Workaround: VPNs |
| 40 | + |
| 41 | +In some cases, configuring the VPN in bridge mode instead of routed mode can allow ARP traffic to pass. Whether this is possible depends on the VPN technology and your security requirements. |
| 42 | + |
| 43 | +### VLANs |
| 44 | + |
| 45 | +VLANs create separate Layer-2 broadcast domains. Devices on a different VLAN may be reachable via routing and respond to `ping`, but they typically cannot be discovered by `arp-scan`. |
| 46 | + |
| 47 | +#### Workaround: VLANs |
| 48 | + |
| 49 | +Configure the VLAN subnet in the [subnets](./SUBNETS.md) settings if the network is locally accessible, or use one of the alternative discovery methods described below. |
35 | 50 |
|
36 | 51 | ## Other Workarounds |
37 | 52 |
|
38 | 53 | The following workarounds should work for most complex network setups. |
39 | 54 |
|
40 | | -### Supplementing Plugins |
| 55 | +### Workaround: Supplementing Plugins |
41 | 56 |
|
42 | | -You can use supplementary plugins that employ alternate methods. Protocols used by the `SNMPDSC` or `DHCPLSS` plugins are widely supported on different routers and can be effective as workarounds. Check the [plugins list](./PLUGINS.md) to find a plugin that works with your router and network setup. |
| 57 | +Using supplementing plugins that employ alternate discovery methods is one of the easiest ways to extend your scan coverage. Protocols used by the `SNMPDSC` or `DHCPLSS` plugins are widely supported on different routers and can be effective as workarounds. Check the [plugins list](./PLUGINS.md) to find a plugin that works with your router and network setup. |
43 | 58 |
|
44 | | -### Multiple NetAlertX Instances |
| 59 | +### Workaround: Multiple NetAlertX Instances if you have servers in all networks |
45 | 60 |
|
46 | 61 | If you have servers in different networks, you can set up separate NetAlertX instances on those subnets and synchronize the results into one instance using the [`SYNC` plugin](https://github.com/netalertx/NetAlertX/tree/main/front/plugins/sync). |
47 | 62 |
|
48 | 63 | > [!TIP] |
49 | | -> The [`SYNC_BEHAVIOR`](https://github.com/netalertx/NetAlertX/tree/main/front/plugins/sync/README.md#hub-device-write-behavior-sync_behavior) setting controls how the hub handles newly discovered devices from nodes - whether it inherits node config, overwrites on every sync, or applies its own NEWDEV defaults. |
| 64 | +> The [`SYNC_BEHAVIOR`](https://github.com/netalertx/NetAlertX/tree/main/front/plugins/sync/README.md#hub-device-write-behavior-sync_behavior) setting controls how the hub handles newly discovered devices from nodes - whether it inherits node config, overwrites on every sync, or applies its own `NEWDEV` defaults. |
50 | 65 |
|
51 | | -### Manual Entry |
| 66 | +### Workaround: Manual Entry for devices you can `ping` |
52 | 67 |
|
53 | | -If you don't need to discover new devices and only need to report on their status (`online`, `offline`, `down`), you can manually enter devices and check their status using the [`ICMP` plugin](https://github.com/netalertx/NetAlertX/blob/main/front/plugins/icmp_scan/), which uses the `ping` command internally. |
| 68 | +If you don't need to discover new devices in unreachable networks, and only need to report on their status (`online`, `offline`, `down`), you can manually enter devices, with their actual IP address, and check their status using the [`ICMP` plugin](https://github.com/netalertx/NetAlertX/blob/main/front/plugins/icmp_scan/), which uses the `ping` command internally. |
| 69 | + |
| 70 | +> [!TIP] |
| 71 | +> For more information on how to add devices manually (or dummy devices), refer to the [Device Management](./DEVICE_MANAGEMENT.md) documentation. |
54 | 72 |
|
55 | | -For more information on how to add devices manually (or dummy devices), refer to the [Device Management](./DEVICE_MANAGEMENT.md) documentation. |
| 73 | +Dummy devices can also be used to segment your network topology, or to represent an unmanaged device. These devices usually can't be scanned, but you can still make them appear online by using the `Force Status` field on the device to force a specific status. |
56 | 74 |
|
57 | | -To create truly dummy devices, you can use a loopback IP address (e.g., `0.0.0.0` or `127.0.0.1`) or the `Force Status` field so they appear online. |
| 75 | +### Workaround: NMAP and Fake MAC Addresses for devices with a static IP |
58 | 76 |
|
59 | | -### NMAP and Fake MAC Addresses |
| 77 | +Scanning remote networks with NMAP is possible (via the `NMAPDEV` plugin), but since it cannot retrieve the MAC address, you need to enable the `NMAPDEV_FAKE_MAC` setting. This will generate a fake MAC address based on the IP address, allowing you to track devices. |
60 | 78 |
|
61 | | -Scanning remote networks with NMAP is possible (via the `NMAPDEV` plugin), but since it cannot retrieve the MAC address, you need to enable the `NMAPDEV_FAKE_MAC` setting. This will generate a fake MAC address based on the IP address, allowing you to track devices. However, this can lead to inconsistencies, especially if the IP address changes or a previously logged device is rediscovered. If this setting is disabled, only the IP address will be discovered, and devices with missing MAC addresses will be skipped. |
| 79 | +Because the generated MAC address is derived from the IP address, changing the IP can cause the device to appear as a new device or create duplicate records. If this setting is disabled, only the IP address will be discovered, and devices with missing MAC addresses will be skipped. |
62 | 80 |
|
63 | | -Check the [NMAPDEV plugin](https://github.com/netalertx/NetAlertX/tree/main/front/plugins/nmap_dev_scan) for details |
| 81 | +Check the [NMAPDEV plugin](https://github.com/netalertx/NetAlertX/tree/main/front/plugins/nmap_dev_scan) for details. |
0 commit comments