Metodi di pagamento Abuse

Scansione ARP della rete locale Linux

08.06.2024, 15:00

Spesso è necessario sapere quali dispositivi sono connessi alla rete, ad esempio se si desidera connettersi a uno dei PC e non si ha un'idea precisa del suo indirizzo, oppure se si vuole semplicemente assicurarsi che la rete sia sicura o meno, o ancora se si desidera trovare tutti i dispositivi nascosti. È possibile trovare tutti i dispositivi connessi, compresi quelli nascosti, utilizzando la scansione ARP.

Che cos'è ARP

ARP (Address Resolution Protocol) è un protocollo utilizzato nelle reti di computer per la comunicazione tra i nodi di rete. Viene utilizzato per mappare gli indirizzi IP dei dispositivi di rete ai loro indirizzi MAC fisici. Quando un nodo di una rete vuole inviare dati a un altro nodo, utilizza ARP per determinare l'indirizzo MAC del destinatario in base al suo indirizzo IP.

In Linux, la tabella ARP è memorizzata nella RAM e contiene le corrispondenze tra gli indirizzi IP e gli indirizzi MAC di altri dispositivi della rete. È possibile visualizzare il contenuto della tabella ARP in Linux utilizzando il comando arp -a. Linux fornisce strumenti per eseguire operazioni ARP, come l'aggiunta di voci ARP statiche o la cancellazione della cache ARP. ARP è un elemento importante nel funzionamento delle reti TCP/IP e svolge un ruolo cruciale nella comunicazione tra i dispositivi di una rete locale.

Scansione con ARP

Ogni rete di computer ha un indirizzo IP: tutti lo sanno. Vi siete mai chiesti a quale computer è stato assegnato un indirizzo specifico? È noto che esistono diverse reti: cablate, wireless, ppp. In ogni rete, l'indirizzo hardware del computer ha un formato diverso, che dipende dalle caratteristiche di progettazione della rete locale.

Spieghiamo, in realtà è tutto molto semplice. Per convertire l'indirizzo fisico in IP è previsto l'ARP, in parole povere un protocollo di risoluzione degli indirizzi. Quando un computer entra nella rete, fa una richiesta agli altri PC e pone la domanda: "Chi ha l'indirizzo IP XXX.XXX.X.X.X". La risposta non viene ignorata, ma ha un aspetto leggermente diverso: "Io ce l'ho, il mio indirizzo è xx:xx:xx:xx:xx". In altre parole, viene inviato un indirizzo fisico come risposta. Questo indirizzo viene inserito in una tabella speciale.

Va detto che il formato dei messaggi ARP è estremamente semplice. Il messaggio nasconde una richiesta con un indirizzo IP o una risposta. La dimensione del messaggio dipende dal protocollo - IPv4 o IPv6, dal tipo di apparecchiatura di rete. L'intestazione del messaggio specifica i tipi e le dimensioni di questi messaggi. L'intestazione termina con un codice messaggio. Per una richiesta, il codice è 1 e per una risposta, il codice è 2. Il corpo del messaggio contiene i quattro indirizzi, hardware e di rete, del mittente e del destinatario.

Installazione dell'utilità

L'utility ARP Scan, chiamata anche MAC Scanner, è uno strumento pratico e funzionale per la scansione di una rete locale Linux tramite ARP. Il programma visualizza gli indirizzi Pv4 dei dispositivi di rete. La particolarità di ARP è che non coinvolge il routing. Questo tipo di scansione è adatto solo alle reti locali. Il programma rileva i dispositivi attivi, i computer non possono nascondersi da ARP. Se è necessario rilevare un computer al di fuori della rete locale, si utilizza la scansione ping.

Network Scanner è disponibile per i seguenti sistemi operativi:

  1. Debian;
  2. Ubuntu;
  3. Fedora;
  4. RedHat;
  5. Gentoo;
  6. ArchLinux.

Per l'installazione, eseguiremo:

$ sudo apt install arp-scan

Scansione

Con l'aiuto del programma sarete in grado di trovare tutti i computer attivi sia nelle reti Ethernet cablate che nelle reti Wifi senza fili. Le connessioni PPP e SLIP non sono previste, poiché non contengono ARP. È necessario lavorare con l'utility con i diritti di superutente.

All'inizio scopriamo l'interfaccia di rete utilizzando il programma ip:

$ ip addr list

APR сканирование

Qui vediamo enp24s0. Il modo più semplice per farlo con ARP, scansionando e uscendo da ogni PC collegato alla rete, è eseguire il programma impostando i parametri:

$ sudo arp-scan --interface=enp24s0 --localnet

APR сканирование

Vediamo il parametro --interface, che specifica l'interfaccia di scansione, e --localnet, che indica di applicare tutti gli indirizzi IP possibili per la rete corrente.

Se si tralascia il primo parametro, il programma cercherà tutti i nodi per l'interfaccia con il numero più basso nel sistema. Nel nostro caso si tratta di enp24s0.

Al posto del parametro --localnet, è possibile specificare la maschera di rete:

$ sudo arp-scan --interface=enp24s0 10.0.1.0/24

ARP è adatto anche se l'interfaccia non ha un proprio indirizzo IP. In questo caso, l'indirizzo in uscita è 0.0.0.0.0. Ma non tutti i sistemi risponderanno a questa richiesta.

Perché ARP non funziona

Ci sono diversi motivi per cui ARP può non funzionare correttamente su una rete. Alcuni dei problemi più comuni sono:

  1. Conflitto di indirizzi IP: se due dispositivi sulla rete utilizzano lo stesso indirizzo IP, ciò può causare un conflitto ARP.
  2. Configurazione di rete errata: un'impostazione errata dell'indirizzamento IP, delle sottoreti o del gateway può causare il malfunzionamento di ARP.
  3. Problemi hardware di rete: switch, router o NIC difettosi possono causare il malfunzionamento di ARP.
  4. Le impostazioni di sicurezza o di filtraggio dei dispositivi di rete possono bloccare i pacchetti ARP.
  5. Gli aggressori possono utilizzare attacchi come ARP poisoning o ARP flooding, che possono anche causare problemi ARP sulla rete.

Per diagnosticare e risolvere i problemi ARP, si consiglia di controllare le impostazioni dell'hardware di rete, analizzare la configurazione dell'indirizzamento IP e utilizzare strumenti per monitorare e analizzare il traffico di rete.