2011-05-04 2 views
2

Windows XP Embedded SP1을 실행하는 제품이 있습니다. ARP 테이블에서 가짜 IP에 대한 가짜 MAC 주소를 구성합니다. 통신이 발생하면 Windows는 가짜 MAC 및 fakeIP에 패킷을 보내고 나중에 드라이버에서 실제 패킷으로 변경합니다. 이것은 소프트웨어 설계 방법입니다.Windows에 캐시 (ARP 테이블)에 항목이있는 경우에도 ARP 요청이 전송됩니다.

문제는 가끔 ARP 테이블에 항목이 있어도 Windows에서 가짜 IP에 대한 ARP 요청을 보내기 시작하기 때문입니다. 왜 이런 일이 발생했는지 전혀 알지 못했고 문제를 재현하려는 맹목적인 시도로 ARP 항목을 삭제하는 스크립트를 작성한 다음 몇 초 후에 다시 추가합니다. 몇몇 시도 후에, 나는 문제가 일어나는 것을 보았다.

어떤 사항을 확인하고 변경해야합니까?

+0

** 정적 ** ARP 캐시 항목을 추가 하시겠습니까? 이 링크를 참조하십시오 : http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/arp.mspx?mfr=true – James

+0

예 정적 ARP 항목을 추가하고 있지만 Iphlpapi (MIB_IPNETROW)를 사용하고 있습니다. 및 SetIpNetEntry). 또한 arp -a를 사용하여 ARP 항목이 있는지 확인할 수 있습니다. 그러면 ARP 요청을 보내는 창도 있습니다. –

+0

나는 창문 상자에서 과도한 arping을 보았다. –

답변

0

항목이있는 경우와 arp 캐시에 항목이없는 경우 모두 이더넷 프레임 MAC 주소를 확인할 수 있습니까? 또한 코드를 확인해보십시오. 코드 내에 FAKE IP 주소에 대한 참조가 있습니다 (변경하는 것을 잊었을 수도 있음) 통신하기 전에 ARP를 사용해야하는 많은 응용 프로그램 계층 프로토콜이 있으므로 아마도 여러분은 여러분의 코드에서이 프로토콜 중 하나를 사용하고 있고 위조 된 IP 주소와 통신하도록 코드를 지시했을 것입니다. 이것이이 프로토콜을 호출 할 때 arp를 사용하여 위조 된 IP의 MAC 주소를 찾는 이유입니다. 이 질문에 대한 답변을 알려주십시오.

관련 문제