深入解析ARP欺騙攻擊防護之ARP |
發(fā)布時間: 2012/7/5 10:15:52 |
ARP(地址解析協(xié)議)是在僅知道主機的IP地址時確定其物理地址的一種協(xié)議。因IPv4和以太網(wǎng)的廣泛應用,其主要用作將IP地址翻譯為以太網(wǎng)的MAC地址,但其也能在ATM和FDDI IP網(wǎng)絡中使用。從IP地址到物理地址的映射有兩種方式:表格方式和非表格方式。ARP具體說來就是將網(wǎng)絡層(IP層,也就是相當于OSI的第三層)地址解析為數(shù)據(jù)連接層(MAC層,也就是相當于OSI的第二層)的MAC地址。
假設: 計算機A的IP為192.168.1.1,MAC地址為00-11-22-33-44-01; 計算機B的IP為192.168.1.2,MAC地址為00-11-22-33-44-02; ARP工作原理如下: 在TCP/IP協(xié)議中,A給B發(fā)送IP包,在包頭中需要填寫B(tài)的IP為目標地址,但這個IP包在以太網(wǎng)上傳輸?shù)臅r候,還需要進行一次以太包的封裝,在這個以太包中,目標地址就是B的MAC地址. 計算機A是如何得知B的MAC地址的呢?解決問題的關鍵就在于ARP協(xié)議。 在A不知道B的MAC地址的情況下,A就廣播一個ARP請求包,請求包中填有B的IP(192.168.1.2),以太網(wǎng)中的所有計算機都會接收這個請求,而正常的情況下只有B會給出ARP應答包,包中就填充上了B的MAC地址,并回復給A。 A得到ARP應答后,將B的MAC地址放入本機緩存,便于下次使用。 本機MAC緩存是有生存期的,生存期結束后,將再次重復上面的過程。 ARP基本功能 在以太網(wǎng)協(xié)議中規(guī)定,同一局域網(wǎng)中的一臺主機要和另一臺主機進行直接通信,必須要知道目標主機的MAC地址。而在TCP/IP協(xié)議棧中,網(wǎng)絡層和傳輸層只關心目標主機的IP地址。這就導致在以太網(wǎng)中使用IP協(xié)議時,數(shù)據(jù)鏈路層的以太網(wǎng)協(xié)議接到上層IP協(xié)議提供的數(shù)據(jù)中,只包含目的主機的IP地址。于是需要一種方法,根據(jù)目的主機的IP地址,獲得其MAC地址。這就是ARP協(xié)議要做的事情。所謂地址解析(address resolution)就是主機在發(fā)送幀前將目標IP地址轉換成目標MAC地址的過程。 另外,當發(fā)送主機和目的主機不在同一個局域網(wǎng)中時,即便知道目的主機的MAC地址,兩者也不能直接通信,必須經(jīng)過路由轉發(fā)才可以。所以此時,發(fā)送主機通過ARP協(xié)議獲得的將不是目的主機的真實MAC地址,而是一臺可以通往局域網(wǎng)外的路由器的某個端口的MAC地址。于是此后發(fā)送主機發(fā)往目的主機的所有幀,都將發(fā)往該路由器,通過它向外發(fā)送。這種情況稱為ARP代理(ARP Proxy)。 ARP緩存表采用了老化機制(即設置了生存時間TTL),在一段時間內如果表中的某一行沒有使用,就會被刪除,這樣可以大大減少ARP緩存表的長度,加快查詢速度。 本文出自:億恩科技【www.ypdoo.com.cn】 |