Questo è il comando arp-scan che può essere eseguito nel provider di hosting gratuito OnWorks utilizzando una delle nostre molteplici workstation online gratuite come Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS
PROGRAMMA:
NOME
arp-scan - Lo scanner ARP
SINOSSI
scansione arp [Opzioni] [padroni di casa...]
Gli host di destinazione devono essere specificati nella riga di comando a meno che non sia --file l'opzione è data, in
nel qual caso le destinazioni vengono invece lette dal file specificato, oppure dal --rete locale opzione
viene utilizzato, nel qual caso i target vengono generati dall'indirizzo IP dell'interfaccia di rete e
maschera di rete.
Dovrai essere root, oppure scansione arp deve essere SUID root, per poter funzionare scansione arp, perché
le funzioni che usa per leggere e scrivere i pacchetti richiedono il privilegio di root.
Gli host di destinazione possono essere specificati come indirizzi IP o nomi host. Puoi anche specificare il
bersaglio come Rete IP/bit (es. 192.168.1.0/24) per specificare tutti gli host nella rete data
(indirizzi di rete e broadcast inclusi), IPinizio-IPend (es. 192.168.1.3-192.168.1.27)
per specificare tutti gli host nell'intervallo inclusivo, oppure Rete IP: NetMask (per esempio
192.168.1.0:255.255.255.0) per specificare tutti gli host nella rete e nella maschera specificate.
DESCRIZIONE
scansione arp invia pacchetti ARP agli host sulla rete locale e visualizza tutte le risposte che
sono ricevuti. L'interfaccia di rete da utilizzare può essere specificata con il tasto --interfaccia opzione.
Se questa opzione non è presente, scansione arp cercherà nell'elenco dell'interfaccia di sistema il
interfaccia configurata con il numero più basso (escluso il loopback). Per impostazione predefinita, l'ARP
i pacchetti vengono inviati all'indirizzo di trasmissione Ethernet, ff:ff:ff:ff:ff:ff, ma può essere
cambiato con il --destadr opzione.
Gli host di destinazione da scansionare possono essere specificati in uno dei tre modi seguenti: specificando i target
sulla riga di comando; specificando un file contenente i target con il --file opzione;
o specificando il --rete locale opzione che causa tutti i possibili host sulla rete
collegato all'interfaccia (come definito dall'indirizzo e dalla maschera dell'interfaccia) da scansionare.
Per gli host specificati sulla riga di comando o con il --file opzione, puoi usare entrambi gli IP
indirizzi o nomi host. Puoi anche utilizzare le specifiche di rete Rete IP/bit, IPstart-
IPend, o Rete IP: NetMask.
L'elenco degli host di destinazione è archiviato in memoria. Ogni host in questo elenco utilizza 28 byte di
memoria, quindi la scansione di una rete di classe B (65,536 host) richiede circa 1.75 MB di memoria per
l'elenco e la scansione di una classe A (16,777,216 host) richiede circa 448 MB.
scansione arp supporta le reti wireless Ethernet e 802.11. Potrebbe anche supportare il token ring
e FDDI, ma non sono stati testati. Non supporta collegamenti seriali come PPP o
SLIP, perché ARP non è supportato su di essi.
Il protocollo ARP è un protocollo di livello 2 (livello di collegamento dati) utilizzato per determinare l'host
indirizzo di livello 2 dato il suo indirizzo di livello 3 (livello di rete). ARP è stato progettato per funzionare con
qualsiasi formato di indirizzo di livello 2 e livello 3, ma l'uso più comune è mappare gli indirizzi IP su
Indirizzi hardware Ethernet, ed ecco cosa scansione arp supporti. ARP opera solo sul
rete locale e non può essere instradato. Sebbene il protocollo ARP utilizzi indirizzi IP,
non è un protocollo basato su IP e scansione arp può essere utilizzato su un'interfaccia che non lo è
configurato per IP.
ARP è utilizzato solo dagli host IPv4. IPv6 utilizza invece NDP (protocollo di rilevamento vicino),
che è un protocollo diverso e non è supportato da scansione arp.
Viene inviato un pacchetto ARP per ciascuno per ciascun host di destinazione, con l'indirizzo del protocollo di destinazione
(il campo ar$tpa) impostato sull'indirizzo IP di questo host. Se un host non risponde, allora
il pacchetto ARP verrà inviato nuovamente. Il numero massimo di tentativi può essere modificato
con la --riprova opzione. Riducendo il numero di tentativi si ridurrà il tempo di scansione a
il possibile rischio di perdere alcuni risultati a causa della perdita di pacchetti.
È possibile specificare la larghezza di banda che scansione arp utilizzerà per i pacchetti ARP in uscita con il
--larghezza di banda opzione. Per impostazione predefinita, utilizza una larghezza di banda di 256000 bit al secondo. Crescente
la larghezza di banda ridurrà il tempo di scansione, ma l'impostazione della larghezza di banda troppo alta potrebbe risultare
in una tempesta ARP che può interrompere il funzionamento della rete. Inoltre, impostando la larghezza di banda troppo alta
può inviare pacchetti più velocemente di quanto l'interfaccia di rete possa trasmetterli, il che lo farà
eventualmente riempire il buffer di trasmissione del kernel risultando nel messaggio di errore: Non bufferizzare
spazio disponibile. Un altro modo per specificare la velocità dei pacchetti ARP in uscita è con
--intervallo opzione, che è un modo alternativo per modificare lo stesso parametro sottostante.
Il tempo impiegato per eseguire una scansione a passaggio singolo (cioè con --riprova=1) è dato da:
tempo = n*i + t + o
Dove n è il numero di host nell'elenco, i è l'intervallo di tempo tra i pacchetti
(specificato con --intervallo, o calcolato da --larghezza di banda), t è il valore di timeout
(specificato con --tempo scaduto) e o è il tempo di overhead impiegato per caricare i target nel
list e leggere i file di mappatura MAC/Vendor. Per piccoli elenchi di host, il valore di timeout
dominerà, ma per gli elenchi di grandi dimensioni l'intervallo di pacchetti è il valore più importante.
Con 65,536 host, la larghezza di banda predefinita di 256,000 bit/secondo (che si traduce in un pacchetto
intervallo di 2 ms), il timeout predefinito di 100 ms e un singolo passaggio ( --riprova=1), E
supponendo un sovraccarico di 1 secondo, la scansione richiederebbe 65536*0.002 + 0.1 + 1 = 132.172
secondi, o circa 2 minuti 12 secondi.
Qualsiasi parte del pacchetto ARP in uscita può essere modificata mediante l'uso dei vari
--arpXXX opzioni. L'uso di alcune di queste opzioni può rendere il pacchetto ARP in uscita non
Conforme a RFC. Diversi sistemi operativi gestiscono i vari pacchetti ARP non standard in
modi diversi e questo può essere utilizzato per rilevare le impronte digitali di questi sistemi. Vedere arp-impronta digitale(1)
per informazioni su uno script che utilizza queste opzioni per eseguire l'impronta digitale del bersaglio
sistema operativo.
La tabella seguente riassume le opzioni che modificano il pacchetto ARP in uscita. In questa tabella,
, il Settore La colonna fornisce il nome del campo del pacchetto ARP da RFC 826, Bits specifica il numero
di bit nel campo, Opzione mostra scansione arp opzione per modificare questo campo e Note
fornisce il valore predefinito e qualsiasi altra nota.
? ?
│ Uscente ARP Pacchetto Opzioni │
? ?
│Settore │ Bits │ Opzione │ Note │
? ?
│ar$hrd │ 16 │ --arphrd │ Il valore predefinito è 1 (ARPHRD_ETHER) │
ar$pro 16 │ --arppro │ Il valore predefinito è 0x0800 │
│ar$hln │ 8 │ --arphln │ Il valore predefinito è 6 (ETH_ALEN) │
ar$pln │ 8 │ --arppln │ Il valore predefinito è 4 (IPv4) │
│ar$op │ 16 │ --arpop │ Il valore predefinito è 1 (ARPOP_REQUEST) │
│ar$sha │ 48 │ --arpsha │ L'impostazione predefinita è l'indirizzo h/w dell'interfaccia │
│ar$spa │ 32 │ --arpspa │ L'impostazione predefinita è l'indirizzo IP dell'interfaccia │
│ar$tha │ 48 │ --arptha │ Il valore predefinito è zero (00:00:00:00:00:00) │
│ar$tpa │ 32 │ Nessuno │ Imposta l'indirizzo IP dell'host di destinazione │
? ?
L'opzione del pacchetto ARP in uscita più comunemente usata è --arspa, che imposta l'IP di origine
indirizzo nel pacchetto ARP. Questa opzione consente al pacchetto ARP in uscita di utilizzare un diverso
indirizzo IP di origine dall'indirizzo dell'interfaccia in uscita. Con questa opzione è possibile
uso scansione arp su un'interfaccia senza indirizzo IP configurato, che può essere utile se tu
desidera assicurarsi che l'host di test non interagisca con la rete in fase di test.
Attenzione: Configurazione ar$ terme a , il destinazione IP indirizzo può disgregare alcuni operativo sistemi,
as di assumere ci is an IP indirizzo scontro if di ricevere an ARP richiesta da loro proprio
indirizzo.
È anche possibile modificare i valori nell'intestazione del frame Ethernet che precede il
pacchetto ARP nei pacchetti in uscita. La tabella seguente riassume le opzioni che cambiano
valori nell'intestazione del frame Ethernet.
? ?
│ Uscente Ethernet Telaio Opzioni │
? ?
│Settore │ Bits │ Opzione │ Note │
? ?
│Indirizzo destinazione │ 48 │ --destaddr │ L'impostazione predefinita è ff:ff:ff:ff:ff:ff │
│Indirizzo sorgente │ 48 │ --srcaddr │ L'indirizzo predefinito è l'interfaccia │
│Tipo di protocollo │ 16 │ --prototype │ Il valore predefinito è 0x0806 │
? ?
L'opzione frame Ethernet in uscita più comunemente usata è --destadr, che imposta l'estensione
indirizzo Ethernet di destinazione per il pacchetto ARP. --prototipo non è spesso usato, perché
farà sì che il pacchetto venga interpretato come un diverso protocollo Ethernet.
Tutte le risposte ARP ricevute vengono visualizzate nel seguente formato:
Dove IP Indirizzo è l'indirizzo IP del target di risposta, Hardware Indirizzo è la sua
Indirizzo hardware Ethernet (noto anche come indirizzo MAC) e Venditore Dettagli sono la
dettagli del fornitore, decodificati dall'indirizzo hardware. I campi di output sono separati da a
carattere di tabulazione singola.
Le risposte vengono visualizzate nell'ordine in cui vengono ricevute, che non è sempre lo stesso
ordine in quanto le richieste sono state inviate perché alcuni host potrebbero rispondere più velocemente di altri.
La decodifica del fornitore utilizza i file ieee-oui.txt, ieee-iab.txt e mac-vendor.txt, quale
sono forniti con scansione arp. ieee-oui.txt e ieee-iab.txt i file sono generati da
i dati OUI e IAB sul sito web IEEE all'indirizzo http://standards.ieee.org/regauth/oui/ieee-
oui.txt e http://standards.ieee.org/regauth/oui/iab.txt. Gli script Perl prendi-oui e
get-iab, che sono inclusi in scansione arp pacchetto, può essere utilizzato per aggiornare questi file
con gli ultimi dati dal sito web IEEE. Il mac-vendor.txt il file contiene altri MAC a
Mappature del fornitore che non sono coperte dai file IEEE OUI e IAB e possono essere utilizzate per aggiungere
mappature personalizzate.
Quasi tutti gli host che supportano l'IP risponderanno a scansione arp se ricevono un pacchetto ARP
con l'indirizzo del protocollo di destinazione (ar$tpa) impostato sul loro indirizzo IP. Ciò comprende
firewall e altri host con filtro IP che eliminano tutto il traffico IP dal test
sistema. Per questa ragione, scansione arp è uno strumento utile per determinare rapidamente tutti gli IP attivi
host su un dato segmento di rete Ethernet.
VERSIONI
Laddove un'opzione assume un valore, tale valore viene specificato come una lettera tra parentesi angolari. Il
la lettera indica il tipo di dati che ci si aspetta:
Una stringa di caratteri, ad esempio --file=hostlist.txt.
Un numero intero, che può essere specificato come numero decimale o come numero esadecimale
se preceduto da 0x, ad esempio --arppro=2048 o --arpro=0x0800.
Un numero decimale in virgola mobile, ad esempio --backoff=1.5.
Un indirizzo MAC Ethernet, che può essere specificato sia nel formato
01:23:45:67:89:ab, o come 01-23-45-67-89-ab. I caratteri esadecimali alfabetici possono essere
maiuscolo o minuscolo. Ad esempio --arpsha=01:23:45:67:89:ab.
Un indirizzo IPv4, ad esempio --arpspa=10.0.0.1
Dati binari specificati come una stringa esadecimale, che non deve includere un'iniziale
0x. I caratteri esadecimali alfabetici possono essere maiuscoli o minuscoli. Per esempio
--padding=aaaaaaaaaaaa
Qualcos'altro. Vedere la descrizione dell'opzione per i dettagli.
--Aiuto or -h
Visualizza questo messaggio di utilizzo ed esci.
--file= or -f
Leggi i nomi host o gli indirizzi dal file specificato invece che dal comando
linea. Un nome o indirizzo IP per riga. Utilizzare "-" per l'input standard.
--rete locale or -l
Genera indirizzi dalla configurazione dell'interfaccia di rete. Usa l'interfaccia di rete
Indirizzo IP e maschera di rete per generare l'elenco degli indirizzi host di destinazione. Il
elenco includerà gli indirizzi di rete e di trasmissione, quindi un indirizzo di interfaccia di
10.0.0.1 con netmask 255.255.255.0 genererebbe 256 host di destinazione da 10.0.0.0
a 10.0.0.255 compreso. Se usi questa opzione, non puoi specificare il --file
opzione o specificare eventuali host di destinazione sulla riga di comando. L'interfaccia
le specifiche sono prese dall'interfaccia che utilizzerà arp-scan, che può essere
modificato con l'opzione --interface.
--retry= or -r
Imposta il numero totale di tentativi per host su
--timeout= or -t
Imposta il timeout iniziale per host su
pacchetto inviato a ciascun host. i timeout successivi vengono moltiplicati per il fattore di backoff
che è impostato con --backoff.
--intervallo= or -i
Imposta l'intervallo minimo del pacchetto su . Questo controlla l'utilizzo della larghezza di banda in uscita da
limitare la velocità di invio dei pacchetti. L'intervallo del pacchetto sarà no
inferiore a questo numero. Se vuoi utilizzare fino a una determinata larghezza di banda, allora lo è
è invece più facile usare l'opzione --bandwidth. L'intervallo specificato è in
millisecondi per impostazione predefinita o in microsecondi se "u" viene aggiunto al valore.
--larghezza di banda= or -B
Imposta la larghezza di banda in uscita desiderata su , predefinito=256000. Il valore è in bit per
secondo per impostazione predefinita. Se aggiungi "K" al valore, le unità sono kilobit per
secondo; e se aggiungi "M" al valore, le unità sono megabit al secondo. Il
I suffissi "K" e "M" rappresentano i multipli decimali, non binari. Quindi 64K è 64000,
non 65536. Non puoi specificare sia --interval che --bandwidth perché lo sono
solo modi diversi per modificare lo stesso parametro sottostante.
--backoff= or -b
Imposta il fattore di backoff timeout su , predefinito=1.50. Il timeout per host è
moltiplicato per questo fattore dopo ogni timeout. Quindi, se il numero di tentativi è 3,
il timeout iniziale per host è di 500 ms e il fattore di backoff è 1.5, quindi il primo
il timeout sarà di 500 ms, il secondo di 750 ms e il terzo di 1125 ms.
--verboso or -v
Visualizza messaggi di avanzamento dettagliati. Utilizzare più di una volta per un effetto maggiore:
1 - Visualizza l'indirizzo di rete e la maschera utilizzati quando l'opzione --localnet è
specificato, visualizza eventuali padding di pacchetti diversi da zero, visualizza i pacchetti ricevuti da
host sconosciuti e mostra quando ogni passaggio dell'elenco viene completato.
2 - Mostra ogni pacchetto inviato e ricevuto, quando le voci vengono rimosse dall'elenco, il
Stringa di filtro pcap e conteggi delle voci di mapping MAC/Vendor.
3 - Visualizza l'elenco degli host prima dell'inizio della scansione.
--versione or -V
Visualizza la versione del programma ed esci.
--a caso or -R
Randomizza l'elenco degli host. Questa opzione rende casuale l'ordine degli host nell'host
list, quindi i pacchetti ARP vengono inviati agli host in ordine casuale. Usa il Knuth
algoritmo casuale.
--numerico or -N
Solo indirizzi IP, nessun nome host. Con questa opzione, tutti gli host devono essere specificati come
Indirizzi IP. I nomi host non sono consentiti. Non verranno eseguite ricerche DNS.
--scatto= or -n
Imposta la lunghezza dello snap pcap su
lunghezza. Questa lunghezza include l'intestazione del collegamento dati. L'impostazione predefinita è normalmente
sufficiente.
--interfaccia= or -I
Usa l'interfaccia di rete . Se questa opzione non è specificata, arp-scan cercherà
l'elenco delle interfacce di sistema per l'interfaccia configurata con il numero più basso
(escluso loopback). L'interfaccia specificata deve supportare ARP.
--silenzioso or -q
Visualizza solo l'output minimo. Se questa opzione è specificata, allora solo il minimo
vengono visualizzate le informazioni. Con questa opzione, i file OUI non vengono utilizzati.
--ignoredups or -g
Non visualizzare pacchetti duplicati. Per impostazione predefinita, vengono visualizzati i pacchetti duplicati e
sono contrassegnati con "(DUP: n)".
--ouifile= or -O
Usa file OUI , default=/usr/local/share/arp-scan/ieee-oui.txt Questo file fornisce
l'IEEE Ethernet OUI alla mappatura delle stringhe del fornitore.
--iabfile= or -F
Usa file IAB , default=/usr/local/share/arp-scan/ieee-iab.txt Questo file fornisce
l'IEEE Ethernet IAB alla mappatura delle stringhe del fornitore.
--macfile= or -m
Usa file MAC/Vendor , default=/usr/local/share/arp-scan/mac-vendor.txt Questo file
fornisce il MAC Ethernet personalizzato alla mappatura delle stringhe del fornitore.
--srcaddr= or -S
Impostare l'indirizzo MAC Ethernet di origine su . Questo imposta l'indirizzo hardware a 48 bit
nell'intestazione del frame Ethernet per i pacchetti ARP in uscita. Non cambia il
indirizzo hardware nel pacchetto ARP, vedere --arpsha per i dettagli su come cambiarlo
indirizzo. L'impostazione predefinita è l'indirizzo Ethernet dell'interfaccia in uscita.
--destaddr= or -T
Invia i pacchetti all'indirizzo MAC Ethernet Questo imposta la destinazione a 48 bit
indirizzo nell'intestazione del frame Ethernet. L'impostazione predefinita è l'indirizzo di trasmissione
ff:ff:ff:ff:ff:ff. La maggior parte dei sistemi operativi risponderà anche se la richiesta ARP è
inviato al loro indirizzo MAC oa un indirizzo multicast su cui stanno ascoltando.
--arpsha= or -u
Utilizzo come indirizzo Ethernet della sorgente ARP Imposta il campo ar$sha a 48 bit nel
Pacchetto ARP Non cambia l'indirizzo hardware nell'intestazione del frame, vedi
--srcaddr per i dettagli su come modificare quell'indirizzo. L'impostazione predefinita è Ethernet
indirizzo dell'interfaccia in uscita.
--arptha= or -w
Utilizzo come indirizzo Ethernet di destinazione ARP Imposta il campo ar$tha a 48 bit nel
Pacchetto ARP Il valore predefinito è zero, perché questo campo non viene utilizzato per la richiesta ARP
pacchetti.
--prototype= or -y
Imposta il tipo di protocollo Ethernet su
campo del tipo di protocollo nell'intestazione del frame Ethernet. Impostandolo su un valore non predefinito
valore farà sì che il pacchetto venga ignorato dal target o inviato al sbagliato
pila di protocollo.
--arphrd= or -H
Utilizzare
il pacchetto ARP. Il valore normale è 1 (ARPHRD_ETHER). La maggior parte, ma non tutti, operanti
i sistemi risponderanno anche a 6 (ARPHRD_IEEE802). Alcuni sistemi rispondono a qualsiasi
valore.
--arpro= or -p
Utilizzare
campo nel pacchetto ARP. La maggior parte dei sistemi operativi risponde solo a 0x0800 (IPv4) ma
alcuni risponderanno anche ad altri valori.
--arphln= or -a
Imposta la lunghezza dell'indirizzo hardware su
campo nel pacchetto ARP. Imposta la lunghezza dichiarata dell'indirizzo hardware nel
Pacchetto ARP. Impostarlo su un valore diverso da quello predefinito renderà il pacchetto non
Conforme a RFC. Tuttavia, alcuni sistemi operativi potrebbero ancora rispondere ad esso. Notare che
le lunghezze effettive dei campi ar$sha e ar$tha nel pacchetto ARP non lo sono
modificato da questa opzione; cambia solo il campo ar$hln.
--arppln= or -P
Imposta la lunghezza dell'indirizzo del protocollo su
campo nel pacchetto ARP. Imposta la lunghezza dichiarata dell'indirizzo di protocollo nel
Pacchetto ARP. Impostarlo su un valore diverso da quello predefinito renderà il pacchetto non
Conforme a RFC. Tuttavia, alcuni sistemi operativi potrebbero ancora rispondere ad esso. Notare che
le lunghezze effettive dei campi ar$spa e ar$tpa nel pacchetto ARP non lo sono
modificato da questa opzione; cambia solo il campo ar$pln.
--arpop= or -o
Utilizzare
Pacchetto ARP. La maggior parte dei sistemi operativi risponderà solo al valore 1
(ARPOP_REQUEST). Tuttavia, alcuni sistemi risponderanno anche ad altri valori.
--arpspa= or -s
Utilizzare come indirizzo IP di origine. L'indirizzo deve essere specificato in quad punteggiato
formato; o la stringa letterale "dest", che imposta l'indirizzo di origine in modo che sia lo stesso
come indirizzo dell'host di destinazione. Questo imposta il campo ar$spa a 32 bit nel pacchetto ARP.
Alcuni sistemi operativi lo verificano e rispondono solo se l'indirizzo di origine è
all'interno della rete dell'interfaccia ricevente. Agli altri non interessa e risponderanno
a qualsiasi indirizzo di origine. Per impostazione predefinita, viene utilizzato l'indirizzo dell'interfaccia in uscita.
ATTENZIONE: l'impostazione di ar$spa sull'indirizzo IP di destinazione può disturbare alcune operazioni
sistemi, poiché presumono che ci sia uno scontro di indirizzi IP se ricevono una richiesta ARP
per il proprio indirizzo.
--padding= or -A
Specificare il riempimento dopo i dati del pacchetto. Imposta i dati di riempimento sul valore esadecimale . Questo
i dati vengono aggiunti alla fine del pacchetto ARP, dopo i dati. La maggior parte, se non tutti,
i sistemi operativi ignoreranno qualsiasi riempimento. L'impostazione predefinita è nessun riempimento, anche se il
Il driver Ethernet sul sistema di invio può riempire il pacchetto al minimo Ethernet
lunghezza del telaio.
--llc or -L
Usa l'inquadratura RFC 1042 LLC con SNAP. Questa opzione fa sì che i pacchetti ARP in uscita
utilizzare il framing IEEE 802.2 con un'intestazione SNAP come descritto in RFC 1042. L'impostazione predefinita è
per utilizzare l'inquadratura Ethernet-II. arp-scan decodificherà e visualizzerà i pacchetti ARP ricevuti
nei formati Ethernet-II o IEEE 802.2 indipendentemente da questa opzione.
--vlan= or -Q
Usa la codifica 802.1Q con l'ID VLAN
per utilizzare il tagging VLAN 802.1Q con un ID VLAN di
4095 compreso. arp-scan decodificherà e visualizzerà sempre i pacchetti ARP ricevuti in
802.1Q indipendentemente da questa opzione.
--pcapsavefile= or -W
Scrive i pacchetti ricevuti su pcap savefile . Questa opzione causa l'ARP ricevuto
risposte da scrivere nel file di salvataggio pcap specificato oltre ad essere decodificate e
visualizzato. Questo file di salvataggio può essere analizzato con programmi che comprendono il pcap
formato di file, come "tcpdump" e "wireshark".
Usa arp-scan online utilizzando i servizi onworks.net