Risposte:
Gli indirizzi MAC non vengono trasmessi dai router. Devi guardare la tabella ARP del router.
Modificare:
A meno che tu non abbia qualche altra forma di accesso alla macchina, sì, è impossibile. Se riesci ad accedere alla rete che è attiva (VNC, RDP, SSH), puoi farlo, ma altrimenti no.
Se il tuo router non ti fornisce la tabella ARP sulla sua interfaccia web, potresti vedere se riesci a telnetare: molti router domestici hanno funzioni più avanzate che nascondono dall'interfaccia web.
Non è possibile garantire che sia possibile visualizzare l'indirizzo MAC delle macchine dietro un router. Ma ci sono alcuni protocolli che possono aiutarti a trovare l'indirizzo MAC da qualsiasi punto della rete. Ad esempio, per trovare l'indirizzo MAC di un PC Windows su un'altra rete quando si conosce il suo indirizzo IP, è possibile utilizzare il comando
nbtstat -A <IP Address>
Per fare la stessa cosa dalla macchina Linux (con samba installata) usa il comando
nmblookup -R -S -A <IP Address>
Se la macchina in questione non è una macchina Windows e non è possibile entrare a far parte di un'altra sottorete. Quindi le uniche opzioni sono visualizzare la tabella degli indirizzi MAC nel router o se esiste un server DHCP comune a livello di rete, è possibile visualizzare l'indirizzo MAC nei registri DHCP. Ma suppongo che devi essere amministratore per accedere al router o al server DHCP.
Quindi, se ci sono molte macchine Windows sulla tua rete, puoi trovare l'indirizzo MAC per loro anche quando non sono nella loro sottorete. Ma se la rete ha molte macchine Linux, non esiste un buon modo molto comune per trovare MAC da altre reti.
La tecnica sopra non funzionerà su server samba Linux. Restituiranno sempre l'indirizzo MAC come 00-00-00-00-00-00-00.
Se l'IP in questione non si trova su una subnet direttamente connessa del router, il MAC non si troverà nella tabella ARP del router.
ARP è visibile / rilevante solo per l'ultimo hop di una connessione IP (livello 2). Tutto tra la prima entità di routing e l'ultima entità di routing è il layer 3, che non utilizza l'ARP dell'entità di origine o di destinazione, ma piuttosto l'ARP della successiva entità di routing direttamente connessa.
Penso che quello che vuoi sapere è -
Come puoi trovare il MAC per un particolare IP (macchina) che non fa parte della tua sottorete?
Per tutti i computer / IP della tua sottorete, la tabella IP-MAC è memorizzata nella cache ARP, localmente sul tuo computer. Questa è la stessa cache che fornisce "conflitti di risoluzione IP". fare un semplice
$ arp -a | grep particularIP
Ora per la macchina al di fuori della tua sottorete - non esiste uno standard dell'applicazione shelf che lo faccia, ho provato a pensare se un messaggio ICMP può farlo, ma per ora penso che non ce ne sia. Bene, il modo in cui è progettato il networking, piuttosto la stratificazione, questo è un comportamento deliberatamente indesiderato. Per sfuggire o rimuovere le informazioni che sono rilevanti per i livelli sottostanti al presente e quando si utilizza l'IP della rete, non viene utilizzato MAC.
Vedi se hai una cooperazione con l'altra macchina, puoi scrivere una piccola app, che incapsula l'intestazione del mac e ti manda ... ovviamente se hai una cooperazione con l'altra macchina, perché questo sforzo richiede un semplice ifconfig -a fa il lavoro, quello per tutte le interfacce su quella macchina.
Puoi solo "vedere" gli indirizzi mac degli host che si trovano nella stessa sottorete. Quindi, puoi elencare tutti gli indirizzi mac usando il comando arp:
arp -a
o per un singolo indirizzo IP:
arp -a 192.168.0.1
Se hai accesso al PC remoto o a qualsiasi PC sulla rete remota, puoi utilizzare WMI o eseguire varie app per fornirti l'indirizzo MAC. Non riesco a pensare ad altro modo in cui otterresti l'indirizzo MAC.
JR
Conosci il produttore del dispositivo? In tal caso, potresti essere in grado di ottenere parte del MAC.
L'unica altra cosa che mi viene in mente è vxlan, ma sono sicuro che sarebbe più difficile configurarlo che ottenere l'accesso al router che avrebbe direttamente il MAC.
Inoltre, come detto dalla gente nell'altra risposta, ARP è un protocollo di livello due e non è instradabile, quindi la scansione con metodi convenzionali non ti restituirà indirizzi MAC. esempio
nmap -sn target
fornirà solo gli indirizzi MAC dei dispositivi che si trovano sullo stesso segmento di rete. Esistono due script nmap che utilizzano helper come nbtstat e snmp
NBTSTAT richiede che la porta UDP 137 sia aperta sulla destinazione del comando nmap
nmap -sU --script nbtstat.nse -p 137 target
SNMP questo protocollo deve funzionare, la porta è aperta, per darci qualsiasi informazione sul MAC del target. Anche la porta UDP 161
nmap -sU -p 161 --script=snmp-interfaces target
Gli indirizzi IPV6 funzionano su come recuperare MAC da indirizzi IPv6 o simili (teredo, da 6 a 4, ecc.). L'ho provato solo sull'indirizzo IPv6 che ha una parte del mac su di essi
nmap -sV -sC target
(questo è il comando da nmap https://nmap.org/nsedoc/scripts/address-info.html ) ma durante il test (su host fe80 interni), è richiesto un -6 quindi
nmap -sV -sC -6 target
Prova namp Intense Scan: nmap -T4 -A -v IP-address
non so del router ma se hai un indirizzo IP puoi usare nmap per ottenere l'indirizzo mac anche nel tuo host locale, puoi farlo anche tu, quindi perché diavolo vuoi farlo dal router o qualcosa del genere? se il tuo sistema operativo è Linux, puoi usare il macchanger o molte altre app, quindi non ho idea del perché tu voglia farlo in questo modo.