網路學習 ARP協議
阿新 • • 發佈:2020-07-05
協議
ARP = Address Resolution Protocol = 查下ipv4地址的mac地址的協議
L2層協議.
協議格式: (https://tools.ietf.org/html/rfc826)
Ipv4(PLN=4byte)+MAC地址(HLN=6byte)的格式如下
operation 0x0100 = arp request
operation 0x0200 = arp response
通過raw socket, 可以構建上述格式包傳送.
環境
機器 | IP | MAC |
---|---|---|
路由器 | 192.168.0.1 | MAC1 |
PC | 192.168.0.101 | MAC2 |
PHONE | 192.168.0.102 | MAC3 |
攻擊PHONE
$ arp srcip[192.168.0.102] srcmac[MAC2] dstip[192.168.0.1] dstmac[MAC2] reply # 向路由器傳送arp reply包. 192.168.0.102的MAC地址是MAC1
路由器會更新192.168.0.102的MAC地址是MAC2. 後續路由器會將IP包交給PC. PHONE也就無法正常通訊. 測試成功
為PC申請多個IP地址
既然可以告訴路由器某個ip地址的mac是什麼. 那麼也應該可以告訴路由器一個新的IP地址也是自己
arp srcip[192.168.0.103] srcmac[MAC2] dstip[192.168.0.1] dstmac[MAC2] reply
可以檢視路由器"IP與MAC對映表", 發現新增了一個 104 -> MAC2的記錄. 此時ping104, PC機會收到ICMP echo request請求. 但是無法ping通. 因為PC機並不會傳送echo reply. 這個需要實現icmp協議後才能完成