您好,登錄后才能下訂單哦!
如上圖,PC1與PC2在同一個網段,PC2要與PC1通訊,由于以太網的通訊機制,PC2需要先知道PC1的mac地址,通過mac地址與PC1通訊。PC2會先通過自己的arp表查找192.168.20.11對應的mac,如下:
PC1的arp表:
PC2的arp表:
可以看到PC2沒有192.168.20.11的記錄,這時PC2通過arp廣播向全網詢問誰有ip 192.168.20.11,PC1收到這個廣播后發現是要請求192.168.20.11的mac,這個ip正是自己的ip,向PC2回應一個包告訴PC2 192.168.20.11的mac,由于PC2發送的arp廣播中已經攜帶了PC2的mac,PC1這時會將PC2的arp信息記錄在自己的arp表中,如下是在PC2中pingPC1后的arp表:
PC1的arp表:
PC2的arp表:
此時PC1和PC2就可以通訊了。
arp這個協議算個脆弱的協議了,只要PC2能收到arp應答包就會更新自己的arp表,PC2是沒法驗證這個arp應答包是否真的來自PC1。此時如果PC3不停的發送arp應答包給PC2,告訴PC2我就是192.168.20.11,PC2就會不停的更新自己的arp表,擁有一個錯誤的arp記錄。
可以在PC3上使用arpspoof命令不停的向PC2發送arp應答包。
arpspoof -i eth2 -t 192.168.20.12 192.168.20.11
此時查看PC2的arp表:
可以看到192.168.20.11對應的mac和192.168.20.9的mac相同,08-00-27-37-7b-cc這個mac是PC3的。
這樣當PC2向PC1發送數據時就會發送到PC3。此時在PC2上ping PC1是不通的
之所以ping不通,是因為PC3上就沒有192.168.20.11這個ip,PC2發送的包是給192.168.20.11的,PC3當然就會丟棄了。
在PC3的eth2上添加ip 192.168.20.11
ip add add dev eth2 192.168.20.11/24
再到PC3上ping 192.168.20.11就可以ping通了。
但這樣做,對于一個心懷惡意的人沒什么用。因為PC2是要訪問PC1的資源。PC3通常是提供不了這些的資源的,除非PC3非常清楚PC1的資源,并能成功克隆一份以至PC2不會懷疑。更為廉價的方式是,PC3把PC1到PC2的流量也劫持了。
arpspoof -i eth2 -t 192.168.20.11 192.168.20.12
執行上面的命令前需要用下面的命令取消PC3的eth2上綁定的192.168.20.11
ip add del dev eth2 192.168.20.11/24
這樣PC3把PC1到PC2的流量也支持了。但此進PC2還是不通ping能PC1。這是因為PC1、PC2的流量都到了PC3,但這些流量的目的地都不是PC3,PC3會丟棄。可以在PC3上開啟ip轉發來轉發雙方的流量,PC3開啟ip轉發后,PC3就相當于一臺路由了,可以轉發目的地址不是自己的流量。
echo 1 > /proc/sys/net/ipv4/ip_forward
此時PC2和PC1可以正常通訊了,而所有流量都會經過PC3,PC3就可以進行抓包之類的進行流量分析了。如果PC2與PC1的通訊包含明文用戶名、密碼,這些用戶名、密碼就會被PC3得知。
查詢網上,arp欺騙的防護沒有太多的辦法,有三種辦法。
arp -s ip mac
windows使用:
arp -s ip mac
這種方式法對主機很多的情況不適用。
arp欺騙的隱蔽性還是有點強
在linux中下可以使用arping檢測:
可以看到除了第一條,后面的都是PC3的mac,arping在檢測的時候也是不容易發現。但還是出現了兩個不同的mac,這時可以懷疑是有arp欺騙了。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。