Üçüncü taraf bir yardımcı program kullanmak sizin için sorun değilse, bunları denemenizi öneririz:
arp-scan ( Homebrew aracılığıyla edinilebilir )
brew install arp-scan
arp-scan --localnet
fing ( fing.com veya Homebrew üzerinden "Desktop Embedded CLI" paketini indirin ve yükleyin brew cask install fing
)
sudo fing -r 1 -d true -o table,text
Her iki yardımcı program da bir dizi ek mod ve özelliğe sahiptir. Bunlardan en iyi şekilde yararlanmak için kılavuzları tamamen okumanızı öneririm.
Üçüncü taraf araçlarını kullanmaktan kaçınmanız gerekiyorsa, burada yerleşik komutlarla benzer bir şey yapmanın bir yolu vardır. Bunları etkileşimli olarak çalıştırabilirsiniz, ancak muhtemelen bir komut dosyası olarak kaydetmek daha kolaydır. Not: kısa tutmak için, bu komut dosyası hata denetimi yapmaz ve sadece / 24 alt ağlarda çalışır. Diğer boyutlardaki alt ağlarda çalışacak şekilde değiştirmek, okuyucuya bir alıştırma olarak bırakılır :)
#!/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}}'
Bu, şöyle bir çıktı vermelidir:
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)