J'ai besoin d'écrire un script bash dans lequel je dois créer un fichier contenant les détails des adresses IP des hôtes et leur mappage avec les adresses MAC correspondantes.
Existe-t-il un moyen possible de connaître l'adresse MAC de n'importe quel hôte (distant) lorsque l'adresse IP de l'hôte est disponible ?
Réponse acceptée :
Si vous souhaitez simplement connaître l'adresse MAC d'une adresse IP donnée, vous pouvez utiliser la commande arp
pour le rechercher, une fois que vous avez cinglé le système 1 fois.
Exemple
$ 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
Cherchez maintenant dans la table ARP :
$ arp -a
skinner.bubba.net (192.168.1.3) at 00:19:d1:e8:4c:95 [ether] on wlp3s0
finir
Si vous souhaitez balayer l'ensemble du LAN pour les adresses MAC, vous pouvez utiliser l'outil de ligne de commande fing
faire cela. Il n'est généralement pas installé, vous devrez donc le télécharger et l'installer manuellement.
$ sudo fing 10.9.8.0/24
Utiliser IP
Si vous trouvez que vous n'avez pas le arp
ou fing
commandes disponibles, vous pouvez utiliser la commande ip neigh
d'iproute2 pour voir à la place la table ARP de votre système :
$ 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
Références
- Équivalent de iwlist pour voir qui est dans le coin ?