Si l'utilisation d'un utilitaire tiers n'est pas un problème pour vous, je vous recommande de les essayer :
arp-scan (disponible via Homebrew )
brew install arp-scan
arp-scan --localnet
fing (téléchargez et installez le paquet "Desktop Embedded CLI" à partir de l'adresse suivante fing.com ou via Homebrew brew cask install fing
)
sudo fing -r 1 -d true -o table,text
Les deux utilitaires disposent d'un certain nombre de modes et de fonctions supplémentaires. Je vous suggère de lire les manuels dans leur intégralité pour en tirer le meilleur parti.
Si vous devez éviter d'utiliser des outils tiers alors voici un moyen de faire quelque chose de similaire avec des commandes intégrées. Vous pouvez les exécuter de manière interactive, mais il est probablement plus facile de l'enregistrer comme un script. N.B. Pour faire court, ce script ne fait aucun contrôle d'erreur, et ne fonctionne que sur les sous-réseaux /24. Le modifier pour qu'il fonctionne sur des sous-réseaux d'autres tailles est laissé comme un exercice au lecteur :)
#!/usr/bin/env bash
tab=$'\t'
pIF=$(echo "show State:/Network/Global/IPv4" | scutil | awk -F: '/PrimaryInterface/{sub(/ /,"",$2); print $2}')
sn=$(ipconfig getifaddr $pIF | sed -En 's/^([0-9]+\.[0-9]+\.[0-9]+).*/\1/p')
for i in {1..254}; do ping -i0.1 -W100 -c1 $sn.$i | grep from; done
arp -a | grep $pIF | sed -e 's/^\?/unnamed/' -e "s/\ at\ /${tab}/g" -e "s/\ on\ /${tab}/g" -e 's/\ ifscope.*$//g' | awk 'BEGIN { FS="\t"; OFS="\t"; printf "%-17s\t%-15s\t%s\n", "MAC","INTERFACE","HOSTNAME (IP)" } { if($2!="(incomplete)") {printf "%-17s\t%-15s\t%s\n",$2,$3,$1}}'
Cela devrait donner quelque chose comme :
MAC INTERFACE HOSTNAME (IP)
0:90:b:7a:85:62 en0 r1.lan (192.168.20.1)
2c:36:f8:48:2b:47 en0 cisco-sg300-10p.lan (192.168.20.2)
84:78:ac:a6:95:a0 en0 cisco-sg300-20.lan (192.168.20.3)
b4:fb:e4:cb:93:85 en0 wap1.lan (192.168.20.10)
0:11:32:10:cd:c1 en0 nas.lan (192.168.20.20)
0:11:32:3d:99:c9 en0 nas2.lan (192.168.20.21)
0:11:32:10:cd:c1 en0 unnamed (192.168.20.23)
d4:4b:5e:fe:6a:75 en0 brwd44b5efe6a75.lan (192.168.20.90)
0 votes
Ce type d'information se trouve principalement sur le routeur.