ARP 요청과 관련된 개인 프로젝트를 진행 중입니다.구체적인/알려진IP 0.0.0.0의 MAC: Who has 0.0.0.0? Tell x.x.x.x
.내가 아는 한어느수신 호스트는 이에 응답해야 하지만 일부 운영 체제(특히 *nix 버전)는 이를 제대로 따르지 않는 것 같습니다. 내 Android 휴대폰은 잘 응답하지만 내 OS X/Debian 상자는 응답하지 않습니다. 내가 구체적으로 자신의 IP를 요청했을 때 그들은 응답했으므로 유니캐스트 요청을 완전히 무시하는 것은 아닙니다. 아직 Windows를 테스트하지 않았습니다.
알려진 원인 및/또는 이 문제를 수정/수정하는 방법은 무엇입니까? 기본적으로 MAC 주소로 LAN의 호스트를 검색하고 호스트가 여전히 있는지 확인해야 합니다(즉, 검색에 응답). ARP 외에 이 작업을 수행하는 더 좋은 방법이 있다면 어떤 제안이라도 환영합니다. 하지만 LAN의 가능한 모든 IP에 대해 특정 MAC에 요청을 보내지는 않습니다.
답변1
이것을 받아 들일 수 있도록 별도의 답변으로 게시하십시오. =]
결국 ICMP를 사용하도록 전체 ARP를 변경하게 되었습니다. 왜냐하면 이는 Who has 0.0.0.0?
결국 불법이기 때문입니다.
224.0.0.1
내 프로그램은 이제 IP 대상(계층 3, 모든 호스트에 멀티캐스트)이 포함된 ICMP 에코 요청(ping) 패킷을 보냅니다.하지만대상 MAC(계층 2)를 내가 모니터링하는 특정 MAC으로 설정합니다. 이제는 눈에 띄는 오버헤드가 발생하지만 그 정도는 감수해야 할 것 같습니다.