2012-09-03 2 views
0

이것은 이전 질문 인 : ARP reply packet does not update ARP cache on Ubuntu의 후속 조치입니다. 내 문제는 (즉, 내 네트워크에 존재하지 않는 aa : bb : cc : dd : ee : ff와 같은) 소스 MAC으로 임의의 MAC 주소를 사용하고 있다는 것이 밝혀졌습니다. 내 원본 MAC가 내 NIC의 MAC과 일치하는 한 만큼 내 캐시에 독극물에 ARP 응답을 보낼 수 있습니다.. 수동으로 NIC에 임의의 MAC 주소를 설정 한 다음 ARP 패킷의 원본 MAC으로 사용하여 ARP 응답을 보냈습니다.임의의 소스 MAC을 사용하여 ARP 응답 보내기

아무도 내면 동작을 알고 있는지 궁금합니다. 일치하지 않는 소스 MAC이있는 패킷이 전송되지 않도록하는 검사가 있습니까? 이더넷 프레임의 소스 MAC 대 ARP 패킷의 소스 MAC 사이의 체크였습니까? 그리고 내가 실행중인 실험의 목적을 위해이 제한을 우회 할 수있는 방법이 있습니까?

JY

답변

0

다양한 최적화 ARP보다 효율적으로 작동하는 것이 가능하다. 먼저 기계가 ARP를 실행하면 에 결과를 캐시하고 곧 동일한 기계에 연결할 필요가 있습니다. 다음 번에 매핑을 찾아서 자체 캐시로 지정하므로 두 번째 브로드 캐스트가 필요하지 않습니다. 대부분의 경우 호스트 2 (수신자)는 답장을 보내야합니다. ARP를 실행하여 발신자의 이더넷 주소를 확인해야합니다. 이 ARP 브로드 캐스트는 발신자가 ARP 패킷에 IP- 이더넷 매핑을 포함하도록함으로써 피할 수 있습니다. 수신기가 송신자의 MAC를 해결하는 데 실패처럼 타넨 바움의 컴퓨터 네트워크에서 인용

, 제 5 판은 p486-487

그래서 그것은 본다. 그리고 Tanenbaum은이 실패를 피하기 위해 해결책을 제시했습니다.

+0

답장을 보내 주셔서 감사합니다. 내가 올바르게 이해했는지 확신 할 수 없다. ARP ** 요청 **을 받으면받는 사람 만 대답한다는 인상을 받았기 때문이다. 제 경우에는 발신자가 항상 ARP ** 답장 **을 직접 보내고 있습니다 (예 : 원치 않는 ARP 답장). 또한 ARP 패킷에 보낸 사람의 IP 대 이더넷 매핑을 포함시키는 방법에 대해 약간 혼란 스럽습니다. 단지 보낸 사람 IP 및 보낸 사람 MAC이 아니겠습니까? 그러나 보낸 사람 IP와 MAC은 스푸핑을 제어하는 ​​것이므로 변경할 수 없습니다. 나는 여기서 매우 중요한 것을 놓치고 있다고 생각한다 : P – user1589408

0

원본 MAC이 일치하지 않는 패킷이 전송되지 않도록하는 검사가 있습니까? 의 원본 MAC과 ARP 패킷의 원본 MAC 사이의 확인 이었습니까?

당신은 우분투를 언급합니다. 리눅스에서는 모든 이더넷 프레임 (seeexamples)을 전송할 수 있으므로 내부적으로 그런 종류의 검사는 없습니다. 하지만 당신은 스푸핑 된 ARP 메시지를 어떻게 보내려고하는지 말하지 않았습니다. 어쩌면 은 소스 MAC 주소에 대한 옵션을 제한하고 있습니다.

관련 문제