타사 유틸리티를 사용하는 것이 문제가되지 않으면 다음을 시도해보십시오.
arp-scan ( Homebrew 를 통해 사용 가능 )
brew install arp-scan
arp-scan --localnet
fing ( fing.com 또는 Homebrew를 통해 "Desktop Embedded CLI"패키지 다운로드 및 설치 brew cask install fing
)
sudo fing -r 1 -d true -o table,text
두 유틸리티에는 여러 가지 추가 모드와 기능이 있습니다. 설명서를 최대한 활용하려면 설명서를 완전히 읽으십시오.
타사 도구 를 사용하지 않으 려면 내장 명령으로 비슷한 작업을 수행하는 방법이 있습니다. 대화식으로 실행할 수 있지만 스크립트로 저장하는 것이 더 쉽습니다. NB 는 짧게 유지하기 위해이 스크립트는 오류 검사를 수행하지 않으며 / 24 서브넷에서만 작동합니다. 다른 크기의 서브넷에서 작동하도록 수정하는 것은 독자에게 연습으로 남습니다. :)
#!/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}}'
이것은 다음과 같이 출력되어야합니다 :
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)