Arp協議和Arp欺騙
今天更深入瞭解網絡的傳輸的原理。如兩臺計算機建立連接的過程:兩臺計算機之間通信,在數據鏈路層轉發靠MAC地址,在網絡傳輸則靠IP地址。但是在兩臺計算機建立連接之前,只知道對方的IP地址,那麼要怎麼樣獲取對方的MAC地址呢?
這時就要先發一個ARP數據包,來獲取對方的MAC地址。
地址解析協議,
即ARP(Addre***esolution Protocol),是根據IP地址獲取物理地址的一個TCP/IP協議。主機發送信息時將包含目標IP地址的ARP請求廣播到網絡上的所有主機,並接收返回消息,以此確定目標的物理地址;
***者就可以向某一主機發送僞ARP應答報文,使其發送的信息無法到達預期的主機或到達錯誤的主機,這就構成了一個ARP欺騙。
1、假冒ARP reply包(單播)
XXX,Ihave IP YYY and my MAC is ZZZ!
2、假冒ARPreply包(廣播)
Helloeveryone! I have IP YYY and my MAC is ZZZ!
向所有人散佈虛假的IP/MAC
3、假冒ARPrequest(廣播)
I have IP XXX and my MAC is YYY.
Who hasIP ZZZ? tell me please!
表面爲找IP ZZZ的MAC,實際是廣播虛假的IP、MAC映射(XXX,YYY)
4、假冒ARPrequest(單播)
已知IP ZZZ的MAC
Hello IPZZZ! I have IP XXX and my MAC is YYY.
5、假冒中間人
欺騙主機(MAC爲MMM)上啓用包轉發
向主機AAA發假冒ARPReply:
AAA,Ihave IP BBB and my MAC is MMM,
向主機BBB發假冒ARPReply:
BBB,Ihave IP AAA and my MAC is MMM
由於ARP Cache的老化機制,有時還需要做週期性連續欺騙。
具體通過虛擬機上運行完成arp欺騙的驗證。
打開虛擬機,給虛擬機配上IP地址,使虛擬機可以連上網。
在虛擬機命令界面上命令
1. ifconfig(查看是否配好ip)
2. ping172.28.15.55
3. arpspoof–i ech0 –t 172.28.15.55 172.28.15.254
/*echo 1 > /proc/sys/net/ipv4/ip_forward
echo 1*/
4. cd /proc/sys/net/ipv4(進入文件中)
cat ip
cat ip_forward
5. arpspoof-i eth0 -t 172.28.15.254 172.28.15.55(截獲圖片)
6. driftnet(顯示截獲圖片)
7. history(查看歷史命令)
第1和2步證明能同172.28.15.55這臺電腦能連上,這臺電腦此時也是能上網的。
第三步是172.28.15.55這臺電腦發ARP包問172.28.15.254這個網關的MAC地址是什麼,我這臺電腦不停地發信息給172.28.15.55這臺電腦,欺騙它172.28.15.254的MAC就是我的這臺電腦的MAC地址,此時172.28.15.55這臺電腦發的icmp數據包全部發到我這臺電腦上來,此是它上不了網了。
這是最簡單的驗證了ARP欺騙。
第4步命令是把網上發來的數據存在我的文件裏。
每5步是欺騙網關把外網本來要發到172.28.15.55這臺電腦上的數據發到我的目標文件中,然後通過我的電腦轉發給172.28.15.55這臺電腦。
第6步是在外網發給172.28.15.55這臺電腦的數據流中截取圖片。
以上過程就是通ARP欺騙完成到172.28.15.55這臺電腦的偵聽。
本次課加深了ARP協議的理解,明白了一些協議的工作過程。不再像以前光學概念那樣抽像。