In qualità di amministratore di rete, probabilmente conosci già molto il protocollo ARP.
ARP è comunemente utilizzato dai dispositivi di livello due per scoprire e comunicare facilmente tra loro.
Quando hai a che fare con una piccola rete di uffici, potresti essere tentato di pingare gli host per verificarne la disponibilità.
Se stai utilizzando il protocollo ICMP, potresti essere consapevole che stai effettivamente eseguendo richieste ARP per sondare i dispositivi sulla tua rete.
Se stai cercando un modo più semplice per creare ping ARP , potresti essere interessato al comando arping.
In questo tutorial, ci concentreremo sul comando arping :come installarlo e come utilizzarlo in modo efficace.
Prerequisiti
Per installare il comando arping sul tuo sistema, avrai ovviamente bisogno dei privilegi sudo sul tuo server.
Per verificare se sei sudo o meno, puoi semplicemente eseguire il seguente comando
$ groups
user sudo
In caso contrario, puoi leggere la nostra guida su come ottenere i privilegi sudo per gli host Debian o CentOS.
Installazione di arping su Linux
Per installare il comando arping sul tuo server, esegui il comando “apt-get install ” e specificare il pacchetto “arping”.
$ sudo apt-get install arping
Ora che il comando è installato, puoi eseguire il comando "arping" per verificare la versione corrente utilizzata.
$ arping -v
ARPing 2.19, by Thomas Habets <[email protected]>
Fantastico!
Il comando arpeggiando è ora installato sul tuo server.
Per impostazione predefinita, il comando arping invierà una richiesta ARP (o ICMP) ogni secondo, ma ovviamente può essere configurato.
Utilizzare arping per scoprire host
Innanzitutto, come qualsiasi dispositivo che comunica tramite Ethernet, il tuo dispositivo ha una tabella ARP interna utilizzata per comunicare in rete.
Per vedere le tue voci ARP attuali, puoi semplicemente eseguire il comando "arp" con l'opzione "-a" per tutti i dispositivi.
$ arp -a
Quando si utilizza il comando ARP, viene visualizzato un elenco di nomi host, seguito da IP e indirizzi MAC.
In questo caso, mi viene presentata l'unica voce nella mia tabella ARP:un router accessibile tramite l'indirizzo IP 192.168.178.1.
Tuttavia, potrei essere interessato a trovare altri host sulla mia rete locale:per ottenerlo, utilizzerai il comando arping.
Ping host utilizzando indirizzi IP
Per eseguire il ping degli host sulla rete, puoi semplicemente utilizzare il comando "arping" e specificare l'indirizzo IP di cui eseguire il ping.
Inoltre, puoi specificare il numero di ping da inviare utilizzando l'opzione "-c" per "count".
$ arping -c 2 <ip_address>
Nota :se non sei sicuro del modo in cui trovare il tuo indirizzo IP su Linux, abbiamo una guida completa sull'argomento.
Ad esempio, utilizzando l'indirizzo IP "192.168.178.27" sulla rete locale, eseguiresti il seguente comando
Come puoi vedere, se ricevi ping di risposta, ti viene presentato l'indirizzo MAC del dispositivo corrispondente.
Nota che l'uso del comando arping non aggiornerà automaticamente la tua tabella ARP:dovresti usare un comando come ping per aggiornarlo.
$ arp -a
Fantastico, hai utilizzato con successo il comando arping per inviare richieste ARP sulla rete!
Timeout ARP utilizzando l'arping
Se il comando arping non è in grado di risolvere l'indirizzo IP del target definito, otterrai un timeout ARP.
Ad esempio, l'esecuzione di una richiesta ARP su un host sconosciuto ti darebbe il seguente output
$ arping -c 5 <ip_address>
Come puoi vedere, in alcuni casi, ti verrà presentato un avviso se non specifichi alcuna interfaccia di rete.
Questo è abbastanza normale perché il comando arping si aspetta che venga specificata un'interfaccia di rete .
Se dovessi avere a che fare con un router, o se scegli di installare il tuo server Linux come router, è possibile installare due schede di interfaccia di rete per instradare due reti diverse.
In questo caso, l'arping deve conoscere l'interfaccia di rete che deve utilizzare per inviare il ping ARP.
Come puoi vedere, il comando arping proverà a "indovinare ” l'interfaccia di rete se non ne è dotata.
Specifica dell'interfaccia di rete
Se hai più interfacce di rete sul tuo server, l'arping non sarà in grado di "indovinare" la scheda di interfaccia di rete da utilizzare.
Di conseguenza, potresti ricevere un messaggio di errore che indica che l'arping non è stato in grado di indovinare quello corretto.
Per specificare l'interfaccia di rete da utilizzare, dovrai utilizzare l'opzione “-I” seguito dal nome dell'interfaccia di rete.
Se hai bisogno di aiuto su come enumerare le interfacce di rete, puoi usare questa guida per trovare il tuo indirizzo IP su Linux.
$ arping -I <interface_name> <ip_address>
Se la nostra interfaccia si chiama "enp0s3", il comando sarebbe il seguente:
$ arping -I enp0s3 192.168.178.22
Fantastico, hai eseguito il ping del tuo server distante e hai specificato l'interfaccia di rete da utilizzare!
Invio di ping ARP dal MAC di origine
In alcuni casi, potresti voler specificare l'indirizzo MAC di origine da cui stai inviando i pacchetti.
Per ottenere ciò, è necessario eseguire il comando "arping" con l'opzione "-s" per "source" seguita dall'indirizzo MAC di cui si desidera eseguire il ping.
$ arping -c 2 -s 00:60:70:12:34:56 <ip_address>
In questo caso, hai due possibilità:
- Sei il proprietario dell'indirizzo MAC e puoi semplicemente usare l'opzione "-s".
- Non sei il proprietario dell'indirizzo MAC e stai cercando di falsificare l'indirizzo MAC. In questo caso, è necessario utilizzare la modalità promiscua. Come breve promemoria, la modalità promiscua è impostata per trasmettere tutti i frame ricevuti dalla scheda di rete anziché quelli che doveva ricevere.
Per abilitare la modalità promiscua con "arping ”, è necessario utilizzare l'opzione “-p”.
Utilizzando le opzioni che abbiamo utilizzato in precedenza, questo ci porterebbe al comando seguente.
$ arping -c 2 -s 00:60:70:12:34:56 -p <ip_address>
Conclusione
In questo tutorial, hai imparato come utilizzare facilmente l'arping per eseguire il ping degli indirizzi IP sulla tua rete locale.
Usando arping, puoi popolare la tua cache ARP locale con l'indirizzo MAC corrispondente.
Hai anche appreso che puoi "spoofing" il tuo indirizzo MAC utilizzando la modalità promiscua.
Se sei interessato all'amministrazione del sistema Linux, abbiamo una sezione completa ad essa dedicata sul sito Web, quindi assicurati di dargli un'occhiata!