動態條目隨時間推移自動添加和刪除。緩存
q 每一個動態ARP緩存條目默認的生命週期是兩分鐘。當超過兩分鐘,該條目會被刪掉。因此,生命週期也被稱爲超時值。工具
q 延長規則:當ARP條目已存在,使用該條目後,將會重設超時值爲兩分鐘。spa
【實例1-12】下面將驗證動態條目的生命週期是兩分鐘。具體操做步驟以下所示:操作系統
(1)查看本機的ARP緩存表。執行命令以下所示:.net
C:\Documents and Settings\Administrator>arp -aorm
No ARP Entries Found接口
輸出的信息表示本節中沒有任何ARP緩存條目。生命週期
(2)在本機上執行ping命令,經過ARP請求廣播獲取動態ARP條目。以下所示:ip
C:\Documents and Settings\Administrator>ping 192.168.7.6get
Pinging 192.168.7.6 with 32 bytes of data:
Reply from 192.168.7.6: bytes=32 time<1ms TTL=64
Reply from 192.168.7.6: bytes=32 time<1ms TTL=64
Reply from 192.168.7.6: bytes=32 time<1ms TTL=64
Reply from 192.168.7.6: bytes=32 time<1ms TTL=64
Ping statistics for 192.168.7.6:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
執行以上命令後,將會產生接口地址爲192.168.7.6的動態ARP緩存條目。
(3)查看ARP緩存表。執行命令以下所示:
C:\Documents and Settings\Administrator>arp -a
Interface: 192.168.7.8 --- 0x2
Internet Address Physical Address Type
192.168.7.6 50-e5-49-eb-46-8d dynamic
從輸出的信息中能夠看到,本機中存在一條ARP緩存條目。
(4)過兩分鐘後,再次查看ARP緩存表。發現該條目已被刪除。顯示結果以下所示:
C:\Documents and Settings\Administrator>arp -a
No ARP Entries Found
從輸出信息中,能夠肯定前面的動態ARP條目已被刪除。
【實例1-13】下面將驗證重複使用動態條目,條目會一直生效。具體操做步驟以下所示:
(1)查看本機的ARP緩存表。執行命令以下所示:
C:\Documents and Settings\Administrator>arp -a
No ARP Entries Found
輸出的信息表示本節中沒有任何ARP緩存條目。
(2)在本機上執行ping命令,經過-t選項實現一直使用獲取到的動態條目。以下所示:
C:\Documents and Settings\Administrator>ping 192.168.6.100 -t
Pinging 192.168.6.100 with 32 bytes of data:
Reply from 192.168.6.100: bytes=32 time<1ms TTL=64
Reply from 192.168.6.100: bytes=32 time<1ms TTL=64
Reply from 192.168.6.100: bytes=32 time<1ms TTL=64
Reply from 192.168.6.100: bytes=32 time<1ms TTL=64
Reply from 192.168.6.100: bytes=32 time<1ms TTL=64
Reply from 192.168.6.100: bytes=32 time<1ms TTL=64
Reply from 192.168.6.100: bytes=32 time<1ms TTL=64
Reply from 192.168.6.100: bytes=32 time<1ms TTL=64
Reply from 192.168.6.100: bytes=32 time<1ms TTL=64
Reply from 192.168.6.100: bytes=32 time<1ms TTL=64
Reply from 192.168.6.100: bytes=32 time<1ms TTL=64
Reply from 192.168.6.100: bytes=32 time<1ms TTL=64
......
執行以上命令後,將會產生接口地址爲192.168.6.100的動態ARP緩存條目。
(3)查看ARP緩存表。以下所示:
C:\Documents and Settings\Administrator>arp -a
Interface: 192.168.7.8 --- 0x2
Internet Address Physical Address Type
192.168.6.100 50-e5-49-eb-46-8d dynamic
從輸出的信息中,能夠看到本機中有一條動態ARP條目。該主機的ARP條目緩存時間,能夠經過抓包工具獲取到。下面使用Wireshark過濾只顯示ARP協議的數據包,如圖1.20所示。
圖1.20 動態條目重複使用
從該界面能夠看到,捕獲到的全部數據包中只有第9個數據幀是ARP廣播請求包。這是由於在第一次通訊時,不知道對方(192.168.6.100)的MAC地址。在後面捕獲到的數據包中,沒有出現過這樣的廣播包。這說明在該過程當中,主機中的ARP條目沒有發送變化。
靜態條目一直保留在ARP緩存中,意思是永久生效。但不一樣的操做系統中,靜態條目的保存方式是不一樣的。例如,在Windows XP系統中,從新啓動計算機後該條目失效。而在Windows 7中,即便從新啓動計算機後,該靜態條目仍然保存。下面經過幾個實例依次驗證各類操做系統對靜態條目的處理方式。
【實例1-14】下面驗證Windows XP的靜態條目不保存狀況。具體操做步驟以下所示:
(1)手動綁定接口爲192.168.7.8的ARP條目。執行命令以下所示:
C:\Documents and Settings\Administrator>arp -s 192.168.7.7 00-19-21-3f-c3-e5
執行以上命令後,沒有任何輸出信息。
(2)查看ARP緩存表。執行命令以下所示:
C:\Documents and Settings\Administrator>arp -a
Interface: 192.168.7.8 --- 0x2
Internet Address Physical Address Type
192.168.7.7 00-19-21-3f-c3-e5 static
從輸出的信息中,能夠看到接口爲192.168.7.7的ARP緩存條目爲static(靜態)。
(3)從新啓動計算機。啓動後,再次查看ARP緩存表。以下所示:
C:\Documents and Settings\Administrator>arp -a
No ARP Entries Found
輸出的信息表示沒有找到ARP條目。
【實例1-15】下面驗證Windows 7的靜態條目保存。具體操做步驟以下所示:
(1)手動綁定接口爲192.168.7.6的ARP條目。執行命令以下所示:
C:\Documents and Settings\Administrator>arp -s 192.168.7.6 50-e5-49-eb-46-8d
執行以上命令後,沒有任何輸出信息。
(2)查看ARP緩存表。執行命令以下所示:
C:\Documents and Settings\Administrator>arp -a
Interface: 192.168.7.8 --- 0x2
Internet Address Physical Address Type
192.168.7.6 50-e5-49-eb-46-8d 靜態
從輸出的信息中,能夠看到接口爲192.168.7.6的ARP緩存條目爲靜態。
(3)從新啓動計算機。啓動後,再次查看ARP緩存表。以下所示:
C:\Documents and Settings\Administrator>arp -a
Interface: 192.168.7.8 --- 0x2
Internet Address Physical Address Type
192.168.7.6 50-e5-49-eb-46-8d 靜態
從輸出的信息中能夠看到綁定的靜態條目仍然存在。
【實例1-16】下面驗證Linux的靜態緩存是否保存。具體操做步驟以下所示:
(1)查看本機的ARP緩存表。執行命令以下所示:
root@kali :~# arp -a
localhost (192.168.5.5) at 00:0c:29:56:bd:21 [ether] on eth0
輸出的信息,表示本機中有一條動態ARP緩存條目。
(2)將192.168.5.5的IP地址與MAC地址綁定。執行命令以下所示:
root@kali :~# arp -s 192.168.5.5 00:0c:29:56:bd
執行以上命令後,接口爲192.168.5.5的ARP條目將爲靜態。
(3)查看ARP緩存表。執行命令以下所示:
root@kali :~# arp -a
localhost (192.168.5.5) at 00:0c:29:56:bd:00 [ether] PERM on eth0
從輸出的信息中能夠看到查看到的ARP條目中,出現了一個PERM關鍵字。該關鍵字表示這條ARP條目爲靜態。
(4)從新啓動計算機。啓動後,再次查看ARP緩存表。執行命令以下所示:
root@kali :~# arp -a
執行以上命令後,沒有任何信息輸出。這表示該靜態條目,從新啓動計算機後將被刪除。
本文選自:ARP協議全面實戰手冊——協議詳解、攻擊與防護大學霸內部資料,轉載請註明出處,尊重技術尊重IT人!