Devo scrivere uno script bash in cui devo creare un file che contiene i dettagli degli indirizzi IP degli host e la loro mappatura con gli indirizzi MAC corrispondenti.

Esiste un modo possibile con cui posso scoprire lindirizzo MAC di qualsiasi host (remoto) quando lindirizzo IP dellhost è disponibile?

Risposta

Se vuoi solo scoprire lindirizzo MAC di un dato indirizzo IP puoi usare il comando arp per cercarlo, una volta che hai eseguito il ping del sistema 1 volta.

Esempio

$ ping skinner -c 1 PING skinner.bubba.net (192.168.1.3) 56(84) bytes of data. 64 bytes from skinner.bubba.net (192.168.1.3): icmp_seq=1 ttl=64 time=3.09 ms --- skinner.bubba.net ping statistics --- 1 packets transmitted, 1 received, 0% packet loss, time 0ms rtt min/avg/max/mdev = 3.097/3.097/3.097/0.000 ms 

Ora cerca nel Tabella ARP:

$ arp -a skinner.bubba.net (192.168.1.3) at 00:19:d1:e8:4c:95 [ether] on wlp3s0 

fing

Se desideri eseguire lo sweep dellintera LAN per indirizzi MAC, puoi utilizzare lo strumento della riga di comando fing per farlo. In genere non è installato, quindi dovrai scaricarlo e installarlo manualmente.

$ sudo fing 10.9.8.0/24 

    esempio di fing

Uso di ip

Se trovi che non sono disponibili i comandi arp o fing, potresti utilizza invece il comando iproute2 “s ip neigh per vedere la tabella ARP del tuo sistema:

$ ip neigh 192.168.1.61 dev eth0 lladdr b8:27:eb:87:74:11 REACHABLE 192.168.1.70 dev eth0 lladdr 30:b5:c2:3d:6c:37 STALE 192.168.1.95 dev eth0 lladdr f0:18:98:1d:26:e2 REACHABLE 192.168.1.2 dev eth0 lladdr 14:cc:20:d4:56:2a STALE 192.168.1.10 dev eth0 lladdr 00:22:15:91:c1:2d REACHABLE 

Riferimenti

Commenti

  • So che questa è una vecchia risposta, ma hai qualche idea su come viene implementato Fing? Sto cercando di imparare a conoscere questo livello di rete e gli strumenti per monitorarlo.
  • @akaphenom Se hai nuove domande per favore, fallo apertamente, i commenti sono ‘ t pensato per questo.
  • ma ‘ t arp è deprecato? Come posso farlo con ip?
  • @ math2001 – non era ‘ 5 anni fa, ho aggiunto un esempio che mostra come utilizzare ip.
  • ip neigh funziona la maggior parte delle volte senza dover installare pacchetti aggiuntivi. Pertanto penso che ‘ sia la risposta migliore.

Risposta

Puoi usare il comando arp:

arp -an 

Ma puoi usare questo comando solo in LAN, se vuoi scoprire lindirizzo MAC di qualsiasi host remoto, forse devi usare qualche strumento per catturare il pacchetto come tcpdump e analizzare il risultato.

Commenti

  • tcpdump(8) ti mostrerà solo i MAC locali (cioè il MAC dellultimo router). Le intestazioni del livello MAC dei pacchetti di input vengono eliminate dal router e quelle nuove vengono aggiunte al pacchetto in uscita.

Answer

Questo è tratto dalla mia domanda e risposta in askubuntu .

Puoi utilizzare il comando

 sudo nmap -sP -PE -PA21,23,80,3389 192.168.1.* 

nmap: Strumento di esplorazione della rete e security / port scanner. Dal manuale:

-sP (Skip port scan). Questa opzione dice a Nmap di non eseguire una scansione delle porte dopo il rilevamento degli host e di stampare solo gli host disponibili che hanno risposto alla scansione. Questo è spesso noto come “scansione ping”, ma è anche possibile richiedere lesecuzione di script host traceroute e NSE. Questo è per impostazione predefinita un passaggio più intrusivo rispetto alla scansione dellelenco e spesso può essere utilizzato per gli stessi scopi. Consente la ricognizione leggera di una rete di destinazione senza attirare molta attenzione. Sapere quanti host sono attivi è più prezioso per gli aggressori rispetto allelenco fornito dalla scansione dellelenco di ogni singolo IP e nome host.

-PE; -PP; -PM ( Tipi di ping ICMP). Oltre agli insoliti tipi di rilevamento host TCP, UDP e SCTP discussi in precedenza, Nmap può inviare i pacchetti standard inviati dallonnipresente programma ping. Nmap invia un pacchetto ICMP di tipo 8 (richiesta di eco) agli indirizzi IP di destinazione, aspettandosi un tipo 0 (risposta di eco) in cambio dagli host disponibili .. Sfortunatamente per gli esploratori di rete, molti host e firewall ora bloccano questi pacchetti, piuttosto richiesto da RFC 1122 [2]. Per questo motivo, le scansioni solo ICMP sono raramente sufficientemente affidabili contro obiettivi sconosciuti su Internet. Ma per gli amministratori di sistema che monitorano una rete interna, possono essere un approccio pratico ed efficiente. Usa lopzione -PE per abilitare questo comportamento di richiesta di eco.

-A (opzioni di scansione aggressiva). Questa opzione abilita ulteriori opzioni avanzate e aggressive.

21,23,80,3389 Porte in cui cercare

192.168.1.* Intervallo di IP. sostituisci con il tuo.

Commenti

  • -sP è per ” scanPing “, sembra anche -sn in nessuna versione di nmap.

Answer

arping

arping -I <interface> -c 1 <host> 

Il comando dovrebbe restituire lindirizzo MAC nella risposta. Qualcosa del tipo

$ arping -I eth0 -c1 192.168.1.2 ARPING 192.168.1.2 from 192.168.1.5 eth0 Unicast reply from 192.168.1.2 [08:01:27:38:EF:32] 0.746ms Sent 1 probes (1 broadcast(s)) Received 1 response(s) 

arping è fornito dal pacchetto iputils-arping su Debian.

Commenti

  • arping deve anche essere detto quale interfaccia usare, con il -I opzione.
  • Puoi usare arping -f per uscire dopo la prima risposta.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *