My Ip, My Mac을 받아서 변수에 저장
IP()
Mac()
⇒ 헤더 파일의 구조체 구조 확인해보기
vip, tip도 변수에 저장
vip(argv[2]) tip(argv(3))
vip, tip로 arp 패킷을 구성해서 보내기
smac: MyMAC
dMac: broadcat
sip: Myip
dip: vip, tip
arp 패킷을 받아서 각각의 mac을 저장
SMac: 각각의 MAC
DMac: MyMac
sip: vip, tip ⇒ 보내는 ip는 대상의 ip여야 함
dip: myip
이제 while 문으로 패킷을 잡으면서 대상의 ip를 검사
보내는 대상이 victim의 ip이면서 target의 mac을 묻고 있다면
내가 대신 전송
⇒ ARP는 신뢰기반이라서 request가 없어도 reply가 온다면 그거대로 arp table을 수정하게 된다!
그래서 그냥 보내도 됨…
packet
smac: Mymac
dman: victim mac
sip: target ip
dip: victim ip
⇒ 이런 패킷을 미리 만들어 놓고 조건에 맞으면 그냥 전송하도록 함