麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 系統(tǒng) > Windows > 正文

ARP欺騙攻擊原理深入說明分析

2019-11-28 04:31:18
字體:
來源:轉載
供稿:網友

1、ARP協(xié)議概述

IP數據包常通過以太網發(fā)送。以太網設備并不識別32位IP地址:它們是以48位以太網地址傳輸以太網數據包的。因此,IP驅動器必須把IP目的地址轉換成以太網網目的地址。在這兩種地址之間存在著某種靜態(tài)的或算法的映射,常常需要查看一張表。地址解析協(xié)議(Address Resolution Protocol,ARP)就是用來確定這些映象的協(xié)議。

ARP工作時,送出一個含有所希望的IP地址的以太網廣播數據包。目的地主機,或另一個代表該主機的系統(tǒng),以一個含有IP和以太網地址對的數據包作為應答。發(fā)送者將這個地址對高速緩存起來,以節(jié)約不必要的ARP通信。

如果有一個不被信任的節(jié)點對本地網絡具有寫訪問許可權,那么也會有某種風險。這樣一臺機器可以發(fā)布虛假的ARP報文并將所有通信都轉向它自己,然后它就可以扮演某些機器,或者順便對數據流進行簡單的修改。ARP機制常常是自動起作用的。在特別安全的網絡上, ARP映射可以用固件,并且具有自動抑制協(xié)議達到防止干擾的目的。
 

 

圖1是一個用作IP到以太網地址轉換的ARP報文的例子。在圖中每一行為32位,也就是4個八位組表示,在以后的圖中,我們也將遵循這一方式。

硬件類型字段指明了發(fā)送方想知道的硬件接口類型,以太網的值為1。協(xié)議類型字段指明了發(fā)送方提供的高層協(xié)議類型,IP為0806(16進制)。硬件地址長度和協(xié)議長度指明了硬件地址和高層協(xié)議地址的長度,這樣ARP報文就可以在任意硬件和任意協(xié)議的網絡中使用。操作字段用來表示這個報文的目的,ARP請求為1,ARP響應為2,RARP請求為3,RARP響應為4。

當發(fā)出ARP請求時,發(fā)送方填好發(fā)送方首部和發(fā)送方IP地址,還要填寫目標IP地址。當目標機器收到這個ARP廣播包時,就會在響應報文中填上自己的48位主機地址。

2、ARP使用舉例
我們先看一下linux下的arp命令(如果開始arp表中的內容為空的話,需要先對某臺主機進行一個連接,例如ping一下目標主機來產生一個arp項):
 

d2server:/home/kerberos# arpAddress          HWtype  HWaddress         Flags Mask            Iface211.161.17.254   ether   00:04:9A:AD:1C:0A      C                 eth0

Address:主機的IP地址
Hwtype:主機的硬件類型
Hwaddress:主機的硬件地址
Flags Mask:記錄標志,"C"表示arp高速緩存中的條目,"M"表示靜態(tài)的arp條目。
用"arp --a"命令可以顯示主機地址與IP地址的對應表,也就是機器中所保存的arp緩存信息。這個高速緩存存放了最近Internet地址到硬件地址之間的映射記錄。高速緩存中每一項的生存時間一般為20分鐘,起始時間從被創(chuàng)建時開始算起。
 

d2server:/home/kerberos# arp -a(211.161.17.254) at 00:04:9A:AD:1C:0A [ether] on eth0

可以看到在緩存中有一條211.161.17.254相對應的arp緩存條目。
 

d2server:/home/kerberos# telnet 211.161.17.21Trying 211.161.17.21...Connected to 211.161.17.21.Escape character is '^]'.^].telnet>quitconnetion closed.

在執(zhí)行上面一條telnet命令的同時,用tcpdump進行****:
 

d2server:/home/kerberos# tcpdump -e dst host 211.161.17.21tcpdump: listening on eth0


我們將會聽到很多包,我們取與我們arp協(xié)議相關的2個包:
 

1  0.0 00:D0:F8:0A:FB:83 FF:FF:FF:FF:FF:FF  arp  60who has 211.161.17.21 tell d2server2  0.002344(0.0021)00:E0:3C:43:0D:24 00:D0:F8:0A:FB:83  arp  60arp reply 211.161.17.21 is at 00:E0:3C:43:0D:24

在第1行中,源端主機(d2server)的硬件地址是00:D0:F8:0A:FB:83。目的端主機的硬件地址是FF:FF:FF:FF:FF:FF,這是一個以太網廣播地址。電纜上的每個以太網接口都要接收這個數據幀并對它進行處理。
第1行中緊接著的一個輸出字段是arp,表明幀類型字段的值是0x0806,說明此數據幀是一個ARP請求或回答。
在每行中,單詞后面的值60指的是以太網數據幀的長度。由于ARP請求或回答的數據幀長都是42字節(jié)(28字節(jié)的ARP數據,14字節(jié)的以太網幀頭),因此,每一幀都必須加入填充字符以達到以太網的最小長度要求:60字節(jié)。
第1行中的下一個輸出字段arp who-has表示作為ARP請求的這個數據幀中,目的I P地址是211.161.17.21的地址,發(fā)送端的I P地址是d2server的地址。tcpdump打印出主機名對應的默認I P地址。
從第2行中可以看到,盡管ARP請求是廣播的,但是ARP應答的目的地址卻是211.161.17.21(00:E0:3C:43:0D:24)。ARP應答是直接送到請求端主機的,而是廣播的。tcpdump打印出arp reply的字樣,同時打印出響應者的主機ip和硬件地址。
在每一行中,行號后面的數字表示tcpdump收到分組的時間(以秒為單位)。除第1行外,每行在括號中還包含了與上一行的時間差異(以秒為單位)。
這個時候我們再看看機器中的arp緩存:
 

d2server:/home/kerberos# arp -a (211.161.17.254) at 00:04:9A:AD:1C:0A [ether] on eth0 (211.161.17.21) at 00:E0:3C:43:0D:24 [ether] on eth0 

arp高速緩存中已經增加了一條有關211.161.17.21的映射。
再看看其他的arp相關的命令:
 

d2server:/home/kerberos# arp -s 211.161.17.21 00:00:00:00:00:00d2server:/home/kerberos# arpAddress          HWtype  HWaddress        Flags Mask       Iface211.161.17.254     ether   00:04:9A:AD:1C:0A     C            eth0211.161.17.21      ether   00:00:00:00:00:00      CM           eth0d2server:/home/kerberos# arp -a(211.161.17.254) at 00:04:9A:AD:1C:0A [ether] on eth0(211.161.17.21) at 00:00:00:00:00:00 [ether] PERM on eth0


可以看到我們用arp -s選項設置了211.161.17.21對應的硬件地址為00:00:00:00:00:00,而且這條映射的標志字段為CM,也就是說我們手工設置的arp選項為靜態(tài)arp選項,它保持不變沒有超時,不像高速緩存中的條目要在一定的時間間隔后更新。
如果想讓手工設置的arp選項有超時時間的話,可以加上temp選項
 

d2server:/home/kerberos# arp -s 211.161.17.21 00:00:00:00:00:00 tempd2server:/home/kerberos# arp -a(211.161.17.254) at 00:04:9A:AD:1C:0A [ether] on eth0(211.161.17.21) at 00:00:00:00:00:00 [ether] on eth0d2server:/home/kerberos# arpAddress        HWtype  HWaddress         Flags Mask      Iface211.161.17.254   ether   00:04:9A:AD:1C:0A     C            eth0211.161.17.21    ether   00:00:00:00:00:00       C            eth0


可以看到標志字段的靜態(tài)arp標志"M"已經去掉了,我們手工加上的是一條動態(tài)條目。
請大家注意arp靜態(tài)條目與動態(tài)條目的區(qū)別。
在不同的系統(tǒng)中,手工設置的arp靜態(tài)條目是有區(qū)別的。在linux和win2000中,靜態(tài)條目不會因為偽造的arp響應包而改變,而動態(tài)條目會改變。而在win98中,手工設置的靜態(tài)條目會因為收到偽造的arp響應包而改變。
如果您想刪除某個arp條目(包括靜態(tài)條目),可以用下面的命令:
 

d2server:/home/kerberos# arp -d 211.161.17.21  d2server:/home/kerberos# arp -a(211.161.17.254) at 00:04:9A:AD:1C:0A [ether] on eth0(211.161.17.21) at  on eth0

可以看到211.161.17.21的arp條目已經是不完整的了。
還有一些其他的命令,可以參考linux下的man文檔:d2server:/home/kerberos# man arp

3、ARP欺騙
我們先復習一下上面所講的ARP協(xié)議的原理。在實現(xiàn)TCP/IP協(xié)議的網絡環(huán)境下,一個ip包走到哪里,要怎么走是靠路由表定義,但是,當ip包到達該網絡后,哪臺機器響應這個ip包卻是靠該ip包中所包含的硬件mac地址來識別。也就是說,只有機器的硬件mac地址和該ip包中的硬件mac地址相同的機器才會應答這個ip包,因為在網絡中,每一臺主機都會有發(fā)送ip包的時候,所以,在每臺主機的內存中,都有一個 arp--> 硬件mac 的轉換表。通常是動態(tài)的轉換表(該arp表可以手工添加靜態(tài)條目)。也就是說,該對應表會被主機在一定的時間間隔后刷新。這個時間間隔就是ARP高速緩存的超時時間。
通常主機在發(fā)送一個ip包之前,它要到該轉換表中尋找和ip包對應的硬件mac地址,如果沒有找到,該主機就發(fā)送一個ARP廣播包,于是,主機刷新自己的ARP緩存。然后發(fā)出該ip包。
了解這些常識后,現(xiàn)在就可以談在以太網絡中如何實現(xiàn)ARP欺騙了,可以看看這樣一個例子。
3.1 同一網段的ARP欺騙

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 日日狠狠久久偷偷四色综合免费 | 欧美成人精品不卡视频在线观看 | 草莓福利视频在线观看 | 成人一区二区在线观看视频 | 亚洲午夜久久久精品一区二区三区 | 国产视频在线一区 | 免费一级片观看 | 午夜精品久久久久久久久久久久久蜜桃 | 精品久久久久久久久中文字幕 | 久草视频在线资源 | 91 成人| 久久精品国产99久久久古代 | 久久蜜桃香蕉精品一区二区三区 | 人人舔人人舔 | 国产视频在线观看一区二区三区 | 国产午夜免费福利 | 久久国产在线观看 | 欧美精品一区二区三区在线 | 国产精品自拍片 | 一级黄色毛片免费 | 久久蜜臀一区二区三区av | 国产精品久久久久久模特 | 欧美日韩在线看片 | 视频一区二区不卡 | 日韩中文字幕一区二区三区 | jizzjizzjizz少妇| 免费网址黄 | 久久久毛片视频 | 欧美aⅴ视频 | 美女羞羞视频网站 | 666sao| 亚洲欧美国产高清va在线播放 | 一级毛片看 | 欧美一级免费在线观看 | asian裸体佳人pics | 国产精品中文在线 | 成人羞羞视频在线观看 | 在线中文日韩 | 调教小男生抽打尿孔嗯啊视频 | 成人 日韩 | 免费色片|