2016-11-04 3 views
0

esp8266을 사용하여 동일한 서브넷에 등록 된 IP 주소와 홈 자동화 프로젝트의 MAC 주소를 찾으려고합니다. 핑 응답에 장치의 MAC 주소가 포함되어 있거나 로컬 네트워크를 통해 요청할 수 있습니다.핑 응답에 MAC 주소가 포함되어 있습니까?

+1

RARP 메시지를 사용하려고합니다. 편집 : 오류, 단지 ARP 메시지. RARP는 반대 방향입니다. –

+0

http://security.stackexchange.com/questions/64281/how-to-get-mac-address-via-ip 두 번째 대답으로 스크롤하십시오. 주소 확인 프로토콜 또는 ARP를 사용해야합니다. – wbrugato

+0

@ ThomasM.DuBuisson, RARP는 실제로 게이트웨이와 같은 다른 호스트에서 자신의 IP 주소를 반환합니다. 실제로 ARP의 반대가 아니라 ARP의 반대입니다. –

답변

0

Ping은 MAC 주소를 표시하지 않습니다. 서버가 온라인 상태인지 여부를 알려줍니다. Windows에서 "nbtstat -a ip"명령을 사용하여이를 수행 할 수 있습니다.

0

주어진 IP 주소 (계층 3)의 MAC 주소 (계층 2)를 얻으려면 RARP를 사용할 수 있습니다. 그렇지 않으면 ping을 사용하는 경우 레이어 3에서 핑 응답의 MAC 주소에 액세스 할 수 없습니다. 그러나 pcap을 사용하여 네트워크를 스니핑하고, 적절한 pcap 필터로 핑 응답을 읽고, 도달하는 이더넷 프레임에서 MAC 주소를 얻을 수 있습니다. 패킷 소켓을 사용하여 레이어 2 프레임을 가져올 수도 있습니다. pcap이 유용 할 것입니다.

1

* nix 시스템에서는 arping <some-ip>을 실행하여 같은 네트워크에있는 컴퓨터의 MAC 주소를 얻을 수 있습니다 (물론 네트워크를 통해 라우팅되지 않고 패킷을 수신 할 수있는 컴퓨터 만 해당).

rodolk이 제안했듯이 pcap을 실행하고 이더넷 프레임도 볼 수 있습니다. 이더넷 프레임은 원본 MAC 및 대상 MAC 및 이더넷 유형을 포함합니다. 이 같은 뭔가 :

uint8_t ether_dhost[ETHER_ADDR_LEN]; /* destination MAC address */ 
uint8_t ether_shost[ETHER_ADDR_LEN]; /* source MAC address */ 
uint16_t ether_type;      /* packet type ID */ 

당신은 패킷을 스니핑 및 이더넷 헤더를 구문 분석, 또는 당신이 arping를 실행할 수 있었다, 나는 당신의 목적을 제공한다고 생각합니다.

관련 문제