네트워크에서 컴퓨터의 MAC 주소를 어떻게 검색합니까?
BIOS 만 설치하고 (운영 체제 없음) 사용 가능한 시스템을 검색해야합니다.
그리고 가동중인 시스템의 MAC 주소를 찾아야합니다.
네트워크에서 컴퓨터의 MAC 주소를 어떻게 검색합니까?
BIOS 만 설치하고 (운영 체제 없음) 사용 가능한 시스템을 검색해야합니다.
그리고 가동중인 시스템의 MAC 주소를 찾아야합니다.
답변:
관리되는 스위치에서 사용 가능한 정보에 액세스해야합니다. 관리되지 않는 네트워크가 있다면 그렇게 할 방법이 없습니다.
이는 대상 컴퓨터가 WoL ( Wake-on-LAN)을 수행 할 수 있다고 가정합니다 . 이 경우 서버에 대한 링크가 설정되고 (플래시 링크 LED를 찾으십시오) 네트워크 카드가 WoL 브로드 캐스트를 청취하고 있습니다. AFAIK, 카드는이 상태의 어떤 것에도 응답하지 않습니다. WoL이 없으면 카드가 꺼져있는 것 (링크 LED 없음) 일 수 있으며 전혀 작동하지 않습니다.
기계의 전원이 켜지지 않으면 불가능합니다.
전원이 공급되면 ARP 쿼리 등과 같은 것에 응답하기 위해 최소한의 네트워크 스택이 필요하므로 OS가 설치되어 있지 않으면 작동하지 않는 것 같습니다.
작동 할 수있는 것은 (알지 못하고 현재 테스트 할 수 없음) NIC가 연결되거나 전원이 켜졌을 때 NIC와 스위치가 통신하고 스위치 가이 방법으로 MAC 주소를 인식한다는 것입니다. 이 경우 관리 가능한 스위치가 필요하며 연결된 mac 주소를 쿼리하십시오.
Nmap 을 사용하여 다음 구문을 사용하여 매우 빠른 ARP 스캔을 수행 할 수 있습니다 .
nmap -sn -PR -oX nmap.xml 192.168.1.0/24
ARP 핑 (ARP 요청 만, ICMP, UDP 또는 TCP, 포트 스캔 없음)을 사용하여 지정된 IP 주소 범위를 스캔하고 IP 주소 / MAC 주소 / 호스트 이름 응답을 XML 파일 (nmap.xml)에 기록합니다.
XML 파일을 축소하고 CSV 파일 을 추출 하는 PowerShell 스크립트를 작성했습니다 . 또한 다운 호스트를 필터링합니다. XML 파일보다 Excel에서 사용하기가 더 쉽다는 것을 알았습니다. 관심있는 사람이라면 여기 스크립트가 있습니다.
# Define nmap input file
$NmapXMLFile = ".\nmap.xml"
# Initialize object array
$HostItems = @()
# Initialize index
$x = 0
# Load XML
[xml]$NmapXML = Get-Content $NmapXMLFile
# Loop through XML
ForEach ($HostNode in $NmapXML.nmaprun.host) {
# Check host status
If ($HostNode.status.state -eq "up") {
# Create host object
$HostObj = "" | Select-Object ID, Hostname, 'IP Address', 'MAC Address', Vendor
# Store ID and increment index
$HostObj.ID = $x += 1
# Store hostname
$HostObj.Hostname = $HostNode.hostnames.hostname.name
# Loop through addresses
foreach ($HostAddress in $HostNode.address) {
# Check IP address
If ($HostAddress.addrtype -eq "ipv4") {
# Store IP address
$HostObj.'IP Address' = $HostAddress.addr
}
# Check MAC address
If ($HostAddress.addrtype -eq "mac") {
# Store MAC address
$HostObj.'MAC Address' = $HostAddress.addr
# Store vendor
$HostObj.Vendor = $HostAddress.vendor
}
}
# Append host object to array
$HostItems += $HostObj
}
}
# Print host items
$HostItems
# Export host items to CSV
$HostItems | Export-CSV -NoType .\nmap.csv
Scantype n not supported
. 분명히 플래그 -sn
는 Nmap 4.x에서 지원되지 않습니다.
여기서 기본적인 문제는 이것이 레이어 2 정보이므로 스위치 만 볼 수 있다는 것입니다. 일부 스위치는이 정보를 엿볼 수있는 인터페이스를 제공하지만 스위치를 얻는 유일한 방법이 아닌 경우 스위치 사이에 허브를 설치하여 물리적 계층에서 가로채는 것입니다.
관리되는 스위치를 사용하는 경우이 정보가 스위치에서 제공 될 수 있습니다. 일부 최종 사용자 통합 라우터 / 스위치 (예 : ADSL 모뎀을 종종 패키지하는 종류)는 때때로 MAC 주소를 포함하는 DHCP 클라이언트 목록을 갖습니다.
비 관리 형 스위치를 사용하고 있고이 정보를 알고 싶다면 허브 를 구입 하고 스위치를 일시적으로 교체하는 것이 좋습니다 . 그런 다음 wireshark를 실행하는 컴퓨터를 허브에 연결하고 ARP 패킷을 캡처하여 MAC 주소를 기록 할 수 있습니다. 또는 Echolot을 사용하여 ARP 패킷을 선택적으로 추적하고 MAC 주소 데이터베이스를 구축 할 수 있습니다.
나를 위해 일한 해결책은 다음과 같습니다.
2 초 안에 할 수있는 아주 쉬운 방법은 운영 체제가 상호 작용하는 모든 장치의 mac 및 IP 주소로 테이블을 작성한다는 사실입니다. 이것을 ARP TABLE이라고합니다. 문제는 모든 장치와 상호 작용하는 방법입니다. 브로드 캐스트 IP 주소를 간단히 핑할 수 있습니다. 일부 장치 또는 방화벽은 ICMP 핑 요청을 차단할 수 있기 때문에 완벽하지는 않지만 많은 시나리오에서 작동합니다.
명령은 다음과 같습니다 (ipv4 192.168.0.255 브로드 캐스트 주소).
ping 192.168.0.255
리눅스에서 사용 :
ping -b 192.168.0.255
장치가 응답 할 때까지 몇 초 기다린 후 다음을 수행하십시오.
arp -a
IPV6 핑에 대해서는 Giedrius Rekasius 코멘트를 참조하십시오
완벽하지는 않지만 도구, 연구, 시간 낭비, 모든 주요 운영 체제에서 작동하며 빠릅니다.
ping6 -c2 -n ff02::1%wlan0
. 사용할 네트워크 인터페이스의 이름 만 업데이트하면됩니다. 해당 용도로 사용할 IP 주소는 항상 사용 ff02::1
중인 네트워크에 관계없이 있습니다.
다른 사람들이 말했듯이 관리되지 않는 스위치 또는 BootP / PXE가 있으면 OS가없는 시스템의 MAC을 쉽게 얻을 수있는 방법이 없습니다.
실행중인 컴퓨터에서 창을 실행중인 경우 스크립팅하기 쉽습니다 (일반적으로 WMI를 통해)
여기에 많은 예제가 있습니다 : http://gallery.technet.microsoft.com/ScriptCenter/en-us/site/search?f[0].Type=SearchText&f[0].Value=MAC+address&x=0&y= 0
스위치 MAC 주소 테이블을 제안하려고했지만 누군가 이미 위의 내용을 다뤘습니다.
OS를 실행하고 있고 IP 주소가있는 컴퓨터 가 있다면 동일한 LAN에 연결할 수 있으며 http://nmap.org/ 에서 NMAP (또는 Zenmap과 같은 GUI 버전)을 사용할 수 있습니다. 동일한 LAN에서 응답하는 모든 시스템의 MAC 주소 정보를 가져와야합니다.
동일한 결과를 얻는 더 좋은 방법이있는 경우 MAC 주소를 가져와야하는 이유를 더 잘 이해하면 도움이됩니다.
예를 들어 연속 실행중인 arpalert를 사용하여 ARP 정보를 수집 할 수 있습니다. 이를 통해 시작 후 ARP 주소 세트를 볼 수 있습니다.
전원이 꺼진 기기는 ARP 응답을 보내지 않습니다.
프로세스 속도를 높이기 위해 arpalert를 실행중인 서버에서 네트워크의 nmap ping 스캔 (nmap -sP)을 사용하여 가능한 모든 (활성 및 실행중인) 호스트가 arp 쿼리에 응답하도록 트리거 할 수 있습니다. 나중에 정기적으로 nmap ping 스캔을 실행하면 짧은 호스트를 잡을 가능성이 높아집니다.
arpalert의 스 니펫 :
MAC이 목록에 없으면 arpalert는 MAC 주소와 IP 주소를 매개 변수로 사용하여 사전 정의 된 사용자 스크립트를 시작합니다.
nmap의 스 니펫 :
Nmap ( "Network Mapper")은 네트워크 탐색 또는 보안 감사를위한 무료 및 오픈 소스 (라이센스) 유틸리티입니다.
여기를 둘러보세요 :
나는 사용한다 : nmap -sP 192.168.1.1/24
(192.168.1.1/24를 IP 범위로 교체하십시오)
그것은 당신에게 가동중인 기계만을 보여줄 것이고 당신에게 다음과 같은 것을 줄 것입니다 :
[root@x ~]# nmap -sP 192.168.1.1/24
Starting Nmap 6.40 ( http://nmap.org ) at 2014-11-22 14:20 EST
Nmap scan report for 192.168.1.1
Host is up (0.0019s latency).
MAC Address: ZZ:ZZ:54:2E:E9:B4 (Unknown)
Nmap scan report for 192.168.1.33
Host is up (0.035s latency).
MAC Address: ZZ:ZZ:FA:2D:D7:D8 (Intel Corporate)
Nmap scan report for 192.168.1.254
Host is up (0.0020s latency).
MAC Address: ZZ:ZZ:31:02:98:19 (Asustek Computer)
Nmap scan report for 192.168.1.34
Host is up.
Nmap done: 256 IP addresses (4 hosts up) scanned in 1.88 seconds
OS가 설치되어 있지 않으면 리눅스 라이브 CD를 사용할 수 있습니다 .nmap은 아마도 대부분에서 사용할 수 있습니다.