https://github.com/umbum/arp_spoof


패킷 만들어서 보내면 victim이 `` arp -d``같은거 수행 안해도 패킷 받자 마자 ARP table 업데이트가 일어나면서 MAC이 변경된다.


근데 공유기 같은거 끼고하면 안되는게, 공유기에 ARP spoofing 방지 기능이 있기 때문.

핫스팟 켜고 테스트해보면 잘 된다.


ARP spoofing 방지 기능 없는 경우, `` src - 공유기 - victim``이 유선으로 구성되어 있는 경우에도 잘 먹힌다.


* 저가형 공유기의 경우 자동 차단 기능은 없고, 몇 초 간격으로 공유기에서 다시 ARP를 보내는 수준의 기능만 있다.


Attacker

 spoofing 패킷을 시도하는 호스트.

Sender 

 spoofing을 당해 Attakcer에게 패킷을 전송하는 Victim.

Receiver 

 원래 Sender가 데이터를 보낼 대상.

 Sender에게 Attacker가 Receiver라고 속이게 된다.


Relay 할 때는 src_mac은 반드시 Attacker의 mac을 적어 보내야 한다.

패킷 그대로 포워딩해버리면 Victim의 mac이 적혀있는 패킷이 스위치를 지나가게 되면서 CAM Table이 갱신되어 이 포트의 mac은 victim의 mac이라고 생각하게 되기 때문이다.


보낸 패킷에 대한 응답이 돌아올 때, 라우터의 Table은 spoofing 안했기 때문에 이 단에서는 원래 Sender로 제대로 포워딩 해주는데 스위치 단에서 "이 mac은 Attacker의 port"라고 생각해 Attaker로 보내버린다.

따라서 응답 까지 잡고 싶은 것이 아니라면 src_mac을 변경해주어야 한다.