로컬 네트워크에서 모든 장치 (IP 주소, 호스트 이름, MAC 주소)를 찾는 방법은 무엇입니까?


14

나는 이것과 관련된 거의 모든 스레드를 읽었지만 아무도 다음과 같은 테이블에 쉽게 액세스 할 수 없었습니다.

  IP Address     Hostname        MAC Address
  192.168.1.10 | myAppleTV     | 02:78:42:9b:bb:12
  192.168.1.10 | myiPhone      | b2:18:4a:3a:42:22
  192.168.1.10 | myiMac        | 09:17:a2:95:c4:00
  192.168.1.10 | myCanonPrinter| a0:ea:72:77:b4:aa

내가 사용하는 대부분의 시간 arp -adns-sb있지만, IP 주소, 호스트 이름 및 MAC 주소와 같이 네트워크에서 엉망이 될 때마다 3 가지 주요 정보를 쉽게 찾을 수는 없습니다. 이것을 달성하는 유틸리티가 없다는 것에 놀랐습니다!


이런 종류의 정보는 주로 라우터에있을 것입니다
user151019

답변:


12

타사 유틸리티를 사용하는 것이 문제가되지 않으면 다음을 시도해보십시오.

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)
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.