pentru ca doua calculatoae din o retea sa poata comunica trebuie sa-si cunoasca atat adresa ip cat si adresa MAC (adresa unica specifica fiecarei placi de retea)
sa zicem ca avem
calc A cu ip=10.0.0.1/24 MAC=00:50

F:2C:E1:77
si
calc B cu ip=10.0.0.2/24
MAC=00:50:AA:C4:Eb:79
daca tu dai ping de pe A catre 10.0.0.2 (calc B) atunci A stie ca trebuie sa trimita un pachet catre un calc cu ip=10.0.0.2 dar nu stie ce adresa MAC are acel calculator.Va trebui sa afle aceast adresa MAC printr-un protocol numit ARP (address resolution protocol).ARP presupune ca se trimite un broadcast in retea prin care se ca acel host cu adresa 10.0.0.2 sa spuna ce adresa MAC are.Acesta este un ARP request. Hostul B vede acest arp request si raspunde cu un ARP reply de genul "bai A, vezi ca adresa mea MAC este 00:50:AA:C4:Eb:79"
Deabea acum hostul A va putea trimite pingul tau catre B fiindca deabea acum stie atat adresa ip (specificata de tine chiar in comanda ping) cat si adresa MAC care a aflat-o prin intermediul protocolului ARP
Acum daca tu primesti ARP reply nesolicitate inseamna ca cineva incearca sa se pretinda drept altcineva
inchipuie-ti ca tu esti la calculatroul A si ai o comunicatie cu calculatorul B. Asta inseamna ca A stie deja MAC pentru B. Daca insa ai un jmecher in retea la calc C acesta poate trimite un ARP reply ca venind de la B si in care spune ca adresa MAC a lui B este de fapt adresa MAC a lui C.
In mod normal intr-o retea pe hub nu era nevoie de o asemenea smecherie. Orice calculator din retea putea "asculta" comunicatia altor 2 hosturi.Facea lucrul acesta intrand in modul promiscuous (adica intercepta si pachetele care nu aveau adresa lui MAC la destinatar)
In momentul cand ai o retea pe switch atunci switchul invata ce MAC are calculatorul atasat fiecarui port si astfel hostul C nu mai putea intercepta o eventuala comunictie intre A si B deoarece switch-ul nu forwarda frame-urile decat pe porturile pe care erau hosturile A si B
Daca insa C trimite un fals ARP reply pretinzand ca defapt adresa MAC a lui B este chiar adresa lui atunci A trimite pachete cu adresa ip a lui B si adresa MAC a lui C. Aceste pachete nu mai pot fi oprite de switch si astfel C poate intercepta traficul intre A si B
Pentru mai multe detalii incearca sa citesti documentatie pe net despre adrese de layer 2 (MAC) si adrese de layer 3 (ip)
P.S . ARP este un protocol neroutabil asadar nu ai cum sa primesti ARP reply din alta retea. Cel mai de departe poti primi chiar de la routerul care leaga reteaua ta cu alta.Probabil ca pachetul ala este manarit si in alte privinte si deruteaza firewall-ul. Instaleaza ethereal si vezi o analiza completa a respectivului pachet