日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

ARP協(xié)議揭密

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

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

假如有一個(gè)不被信任的節(jié)點(diǎn)對(duì)本地網(wǎng)絡(luò)具有寫訪問(wèn)許可權(quán),那么也會(huì)有某種風(fēng)險(xiǎn) 。這樣一臺(tái)機(jī)器可以發(fā)布虛假的ARP報(bào)文并將所有通信都轉(zhuǎn)向它自己,然后它就可以扮演某些機(jī)器,或者順便對(duì)數(shù)據(jù)流進(jìn)行簡(jiǎn)單的修改 。ARP機(jī)制經(jīng)常是自動(dòng)起作用的 。在非凡安全的網(wǎng)絡(luò)上,ARP映射可以用固件,并且具有自動(dòng)抑制協(xié)議達(dá)到防止干擾的目的 。
 
圖1 以太網(wǎng)上的ARP報(bào)文格式

圖1是一個(gè)用作IP到以太網(wǎng)地址轉(zhuǎn)換的ARP報(bào)文的例子 。在圖中每一行為32位,也就是4個(gè)八位組表示,在以后的圖中,我們也將遵循這一方式 。

硬件類型字段指明了發(fā)送方想知道的硬件接口類型,以太網(wǎng)的值為1 。協(xié)議類型字段指明了發(fā)送方提供的高層協(xié)議類型,IP為0806(16進(jìn)制) 。硬件地址長(zhǎng)度和協(xié)議長(zhǎng)度指明了硬件地址和高層協(xié)議地址的長(zhǎng)度,這樣ARP報(bào)文就可以在任意硬件和任意協(xié)議的網(wǎng)絡(luò)中使用 。操作字段用來(lái)表示這個(gè)報(bào)文的目的,ARP請(qǐng)求為1,ARP響應(yīng)為2,RARP請(qǐng)求為3,RARP響應(yīng)為4 。

當(dāng)發(fā)出ARP請(qǐng)求時(shí),發(fā)送方填好發(fā)送方首部和發(fā)送方IP地址,還要填寫目標(biāo)IP地址 。當(dāng)目標(biāo)機(jī)器收到這個(gè)ARP廣播包時(shí),就會(huì)在響應(yīng)報(bào)文中填上自己的48位主機(jī)地址 。

2 ARP使用舉例

我們先看一下Linux下的arp命令(假如開(kāi)始arp表中的內(nèi)容為空的話,需要先對(duì)某臺(tái)主機(jī)進(jìn)行一個(gè)連接,例如ping一下目標(biāo)主機(jī)來(lái)產(chǎn)生一個(gè)arp項(xiàng)):

d2server:/home/kerberos# arp
Address HWtype HWaddress Flags MaskIface
211.161.17.254ether00:04:9A:AD:1C:0A C eth0
Address:主機(jī)的IP地址
Hwtype:主機(jī)的硬件類型
Hwaddress:主機(jī)的硬件地址
Flags Mask:記錄標(biāo)志,"C"表示arp高速緩存中的條目,"M"表示靜態(tài)的arp條目 。

用"arp --a"命令可以顯示主機(jī)地址與IP地址的對(duì)應(yīng)表,也就是機(jī)器中所保存的arp緩存信息 。這個(gè)高速緩存存放了最近Internet地址到硬件地址之間的映射記錄 。高速緩存中每一項(xiàng)的生存時(shí)間一般為20分鐘,起始時(shí)間從被創(chuàng)建時(shí)開(kāi)始算起 。

d2server:/home/kerberos# arp -a
(211.161.17.254) at 00:04:9A:AD:1C:0A [ether] on eth0
可以看到在緩存中有一條211.161.17.254相對(duì)應(yīng)的arp緩存條目 。
d2server:/home/kerberos# telnet 211.161.17.21
Trying 211.161.17.21...
Connected to 211.161.17.21.
Escape character is "^]".
^].
telnet>quit
connetion closed.

在執(zhí)行上面一條telnet命令的同時(shí),用tcpdump進(jìn)行監(jiān)聽(tīng):

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

我們將會(huì)聽(tīng)到很多包,我們?nèi)∨c我們arp協(xié)議相關(guān)的2個(gè)包:

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

在第1行中,源端主機(jī)(d2server)的硬件地址是00:D0:F8:0A:FB:83 。目的端主機(jī)的硬件地址是FF:FF:FF:FF:FF:FF,這是一個(gè)以太網(wǎng)廣播地址 。電纜上的每個(gè)以太網(wǎng)接口都要接收這個(gè)數(shù)據(jù)幀并對(duì)它進(jìn)行處理 。

第1行中緊接著的一個(gè)輸出字段是arp,表明幀類型字段的值是0x0806,說(shuō)明此數(shù)據(jù)幀是一個(gè)ARP請(qǐng)求或回答 。

推薦閱讀