Potřebuji napsat bash skript, ve kterém musím vytvořit soubor, který obsahuje podrobnosti o IP adresách hostitelů a jejich mapování s odpovídajícími MAC adresami.
Existuje nějaký možný způsob, jak zjistit MAC adresu libovolného (vzdáleného) hostitele, když je k dispozici IP adresa hostitele?
Přijatá odpověď:
Pokud chcete pouze zjistit MAC adresu dané IP adresy, můžete použít příkaz arp
můžete to vyhledat, jakmile jednou pingnete systém.
Příklad
$ 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
Nyní vyhledejte v tabulce ARP:
$ arp -a
skinner.bubba.net (192.168.1.3) at 00:19:d1:e8:4c:95 [ether] on wlp3s0
prst
Pokud chcete vyčistit celou LAN pro MAC adresy, můžete použít nástroj příkazového řádku fing
udělat to tak. Obvykle se neinstaluje, takže si jej budete muset stáhnout a nainstalovat ručně.
$ sudo fing 10.9.8.0/24
Pomocí IP
Pokud zjistíte, že nemáte arp
nebo fing
dostupné příkazy, můžete použít příkaz iproute2 ip neigh
chcete-li místo toho zobrazit tabulku ARP vašeho systému:
$ 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
Odkazy
- Ekvivalent seznamu iwlist, abyste viděli, kdo je v okolí?