ARP(地址解析協議)的工作原理
1.我們知道每台主機都有一個ARP緩存表,以表示 IP 地址和 MAC 地址之間的對應關系。
2.當源主機要發送數據時,首先檢查 ARP 列表中是否有對應 IP 地址的目的主機的 MAC 地址,如果有,則直接發送數據,如果沒有,就向本網段的所有主機發送 ARP 廣播包。
3.當源主機要去往外網時,網關會將自己的 MAC 地址寫入 ARP 響應包中,以單播的形式告訴源主機自己是它想要找的MAC 地址
4.源主機收到 ARP 響應包后。將目的主機的 IP 和 MAC 地址寫入 ARP緩存表,並利用此信息發送數據。
ARP欺騙/中間人攻擊原理
1.當用戶發送 ARP 廣播請求時,hacker主機會欺騙用戶說自己才是網關,然后將自己的 MAC 地址寫入 ARP 響應包中回給用戶。
2.同時hacker主機也欺騙網關說自己才是用戶,網關把ARP響應包發給hacker主機。
3.hacker主機充當一個中間人的角色,用戶所有流量會先經過hacker主機再轉發出去。
ARP欺騙/中間人攻擊實例

攻擊者:
使用cain等工具進行欺騙

用戶PC:

可以看到網關的MAC並不是路由器的MAC,而是攻擊者PC的MAC
攻擊者PC:

用戶PC正常情況與ARP欺騙時的情況對比:

在攻擊者PC上開啟抓包可以看到192.168.3.4這台電腦在使用QQ郵箱

ARP欺騙/中間人攻擊防范
臨時處理方法:在PC端靜態綁定ARP
靜態綁定ARP:arp -s 192.168.3.1 78-6A-89-3B-1A-F1
高級一點的處理方法:DHCP Snooping + DAI
DHCP Snooping + DAI原理
1.交換機開戶dhcp snooping后會維護一個IP地址與MAC地址的綁定信息表。
2.DAI基於dhcp snooping工作,DAI可以利用dhcp snooping的binding表來檢查所有信任端口的ARP請求和響應,確保應答來自真正的MAC所有者。如果是虛擬的MAC則丟棄。
舉例:

即假如DAI的數據表記錄着PC1的mac是a.a.a.a 10.1.1.1 fa0/1的信息
如果交換機fa0/1收到一個ARP的信息說 是 b.b.b.b 10.1.1.3的話就會把這個arp包丟棄
DHCP Snooping + DAI實例
1.開啟DHCP Snooping
5.測試
修改前:
修改后:
交換機日志:
可以看到有drop
