Netdiscover: Ανακάλυψη Hosts με ARP Discovery σε Penetration Testing
Στη φάση του network reconnaissance, ένα από τα πιο πρακτικά ερωτήματα είναι απλό: «ποιες συσκευές βρίσκονται στο τοπικό δίκτυο γύρω μου;». Το Netdiscover είναι ένα ελαφρύ, γρήγορο εργαλείο που απαντά ακριβώς σε αυτό μέσω ARP discovery, και αποτελεί βασικό μέρος της εργαλειοθήκης κάθε penetration tester σε internal network engagements ή σε εργαστηριακά (lab) σενάρια.
Νομικό & ηθικό πλαίσιο: Χρησιμοποιήστε το Netdiscover μόνο σε δίκτυα στα οποία έχετε γραπτή εξουσιοδότηση (authorized testing scope) ή σε εργαστηριακά περιβάλλοντα (lab/VM). Η σάρωση τρίτων δικτύων χωρίς άδεια συνιστά παράνομη πράξη βάσει του Ν. 4411/2016 και του GDPR.
Τι είναι το Netdiscover
Το Netdiscover είναι ένα open-source εργαλείο ενεργής και παθητικής αναγνώρισης hosts σε τοπικό δίκτυο. Είναι χτισμένο πάνω από τις βιβλιοθήκες libnet και libpcap και χρησιμοποιεί ARP requests για να ανακαλύψει live συσκευές σε ένα LAN segment. Σε passive mode περιορίζεται σε sniffing — δεν στέλνει πακέτα — οπότε είναι ιδανικό για διακριτική (stealthy) χαρτογράφηση δικτύου όταν δεν θέλουμε να εμφανιστούμε σε IDS/IPS logs με ενεργά ARP probes.
Επιπλέον, το Netdiscover διαβάζει τον πίνακα OUI (Organizationally Unique Identifier) για να αντιστοιχίσει κάθε MAC address με τον κατασκευαστή της — χρήσιμο για γρήγορο fingerprinting συσκευών (router, IoT, εκτυπωτής, εικονική μηχανή VMware/VirtualBox κ.ο.κ.).
Πού εντάσσεται στη μεθοδολογία του pentest
Το ARP discovery τοποθετείται στη φάση Active Reconnaissance και συγκεκριμένα στο Network Discovery ενός internal penetration test ή post-exploitation σεναρίου. Αντιστοιχεί στο MITRE ATT&CK T1018 — Remote System Discovery (τακτική: Discovery, TA0007) όταν εκτελείται μετά από αρχικό access σε εσωτερικό host.
- Πριν από το Netdiscover: έχετε αποκτήσει πρόσβαση σε εσωτερικό host (π.χ. σε εργαστηριακό VM ή authorized engagement).
- Μετά το Netdiscover: ακολουθεί στοχευμένο port scanning με Nmap, service enumeration και vulnerability assessment στους live hosts που εντοπίστηκαν.
Εγκατάσταση
Στο Kali Linux, Parrot OS και άλλες offensive-security διανομές το Netdiscover είναι συνήθως προεγκατεστημένο. Σε καθαρό Debian/Ubuntu lab VM:
sudo apt update
sudo apt install -y netdiscover
Επιβεβαιώστε την εγκατάσταση και την έκδοση:
netdiscover -v
# Netdiscover 0.10
Βασικές παράμετροι του Netdiscover
| Flag | Σημασία |
|---|---|
-i <iface> | Επιλογή network interface (π.χ. eth0, wlan0). |
-r <range> | Σάρωση συγκεκριμένου εύρους σε CIDR notation (π.χ. 192.168.56.0/24). |
-l <file> | Σάρωση λίστας ranges από αρχείο. |
-p | Passive mode — μόνο sniffing, χωρίς αποστολή ARP requests. |
-m <file> | Έλεγχος γνωστών MAC addresses από αρχείο. |
-F <filter> | Προσαρμογή pcap filter (default: arp). |
-s <time> | Καθυστέρηση (ms) μεταξύ ARP requests — χρήσιμο για αποφυγή flood. |
-c <count> | Πόσες φορές να σταλεί κάθε ARP request (για lossy networks). |
-f | Fast scan mode. |
-P | Parsable output — τερματίζει μετά το active scan. |
-L | Όπως το -P αλλά συνεχίζει το passive listening. |
-N | Παραλείπει το header (μόνο με -P ή -L). |
-S | «Hardcore» mode — καμία καθυστέρηση μεταξύ probes. |
Πρακτικά παραδείγματα (lab environment)
Όλα τα παρακάτω εκτελούνται σε τοπικό εργαστηριακό δίκτυο (π.χ. VirtualBox Host-Only στο 192.168.56.0/24 ή VMware Custom στο 10.10.10.0/24). Το Netdiscover απαιτεί δικαιώματα root για raw socket access.
1. Αυτόματη ανίχνευση (auto-scan)
sudo netdiscover
Χωρίς παραμέτρους, το Netdiscover ανακαλύπτει αυτόματα το active interface και σαρώνει κοινά private ranges (RFC1918). Αναμενόμενο output (lab):
Currently scanning: 192.168.56.0/24 | Screen View: Unique Hosts
4 Captured ARP Req/Rep packets, from 4 hosts. Total size: 240
_____________________________________________________________________________
IP At MAC Address Count Len MAC Vendor / Hostname
-----------------------------------------------------------------------------
192.168.56.1 0a:00:27:00:00:0e 1 60 Unknown vendor
192.168.56.100 08:00:27:1a:2b:3c 1 60 PCS Systemtechnik GmbH
192.168.56.101 08:00:27:4d:5e:6f 1 60 PCS Systemtechnik GmbH
192.168.56.254 08:00:27:7a:8b:9c 1 60 PCS Systemtechnik GmbH
2. Στοχευμένη σάρωση συγκεκριμένου range
sudo netdiscover -i eth0 -r 192.168.56.0/24
Καθορίζοντας ρητά interface και subnet αποφεύγουμε noisy probes σε δίκτυα που δεν ανήκουν στο scope του engagement.
3. Passive mode (stealth listening)
sudo netdiscover -i eth0 -p
Το -p δεν στέλνει τίποτα — μόνο ακούει υπάρχοντα ARP traffic. Είναι το πιο διακριτικό mode και ιδανικό για red team engagements όπου θέλουμε να αποφύγουμε ARP-based detection rules στο SIEM.
4. Parsable output για pipeline
sudo netdiscover -i eth0 -r 192.168.56.0/24 -P -N | tee hosts.txt
# Στη συνέχεια εξάγουμε μόνο IPs για χρήση σε Nmap:
awk '{print $1}' hosts.txt > live_hosts.lst
nmap -iL live_hosts.lst -sV -T3
Αυτό το pipeline είναι ένα τυπικό παράδειγμα του πώς συνδυάζουμε Netdiscover (discovery) με Nmap (service enumeration) σε ένα authorized internal assessment.
Συνηθισμένα λάθη και παγίδες
- Λάθος interface: Αν τρέξετε σε wireless interface χωρίς να είστε connected, δεν θα δείτε ARP traffic. Χρησιμοποιήστε
ip aήifconfigγια να επιβεβαιώσετε το σωστό iface. - Σάρωση εκτός scope: Το auto-scan μπορεί να αγγίξει subnets που δεν περιλαμβάνονται στο engagement. Πάντα χρησιμοποιείτε
-rμε ρητό range. - Δεν τρέχει χωρίς root: Raw sockets απαιτούν root ή capability
CAP_NET_RAW. Πάντα τρέχετε μεsudo. - ARP δεν περνά routers: Το Netdiscover λειτουργεί μόνο εντός του ίδιου layer-2 broadcast domain. Δεν θα δείτε hosts πίσω από router/firewall.
- VPN tunnels: Σε tap/tun interfaces ενδέχεται να μην υπάρχει ARP — προτιμήστε
nmap -snμε ICMP/TCP discovery.
Defensive / Blue-team perspective
Από την πλευρά της άμυνας, η ανίχνευση μαζικών ARP requests είναι σχετικά εύκολη:
- Network IDS: Suricata/Zeek κανόνες για ARP scans (π.χ.
arp.opcode == 1με υψηλό rate από ένα MAC). - Switch port security: Limit MAC count ανά port + DHCP snooping + Dynamic ARP Inspection (DAI) στα enterprise switches.
- Endpoint monitoring: Sysmon Event ID 22 για DNS lookups δεν εντοπίζει ARP, αλλά PowerShell/process-level monitoring εντοπίζει την εκτέλεση εργαλείων όπως το
netdiscover. - Honeypots: Conpot ή T-Pot με κενά IPs που τραβούν ARP requests από recon εργαλεία.
Best practices
- Πάντα να έχετε γραπτή εξουσιοδότηση (Rules of Engagement) πριν από οποιοδήποτε scan.
- Καθορίστε συγκεκριμένο range με
-rαντί για auto-scan. - Χρησιμοποιήστε passive mode (
-p) όταν το engagement απαιτεί χαμηλό noise. - Αρχειοθετήστε output με timestamps για τη συγγραφή του report (
-P+ redirect σε αρχείο). - Συνδυάστε με Nmap, arp-scan ή Responder για πιο πλήρη εικόνα του δικτύου.
Σύνοψη
Το Netdiscover είναι ένα από τα πιο πρακτικά εργαλεία για γρήγορο ARP-based host discovery σε τοπικά δίκτυα. Συνδυάζει ταχύτητα, ευκολία χρήσης και passive mode που μειώνει το detection footprint. Σε κάθε authorized internal pentest ή lab exercise, αξίζει να είναι μέρος του recon workflow σας — πάντα με σαφές scope και νομική κάλυψη.
Επόμενα βήματα
Αν θέλετε να εμβαθύνετε στο network reconnaissance και την επιθετική ασφάλεια, δείτε επίσης:
- Όλα τα άρθρα της κατηγορίας Information Gathering
- Subdomain enumeration με το Amass
- Εισαγωγή στο Recon-ng (Part 1)
- Εξωτερική αναφορά: MITRE ATT&CK — Discovery (TA0007)
Για ολοκληρωμένη εκπαίδευση σε penetration testing, δείτε τα μαθήματα της Audax Cybersecurity Academy.

