ARP協議詳解之ARP動態與靜態條目的生命週期

大學霸發表於2015-07-03

ARP協議詳解之ARP動態與靜態條目的生命週期

ARP動態條目的生命週期

動態條目隨時間推移自動新增和刪除。


  • q  每個動態ARP快取條目預設的生命週期是兩分鐘。當超過兩分鐘,該條目會被刪掉。所以,生命週期也被稱為超時值。
  • q  延長規則:當ARP條目已存在,使用該條目後,將會重設超時值為兩分鐘。


【例項1-12】下面將驗證動態條目的生命週期是兩分鐘。具體操作步驟如下所示:

1檢視本機的ARP快取表。執行命令如下所示:


  • C:\Documents and Settings\Administrator>arp -a
  • No ARP Entries Found


輸出的資訊表示本節中沒有任何ARP快取條目。

2在本機上執行ping命令,透過ARP請求廣播獲取動態ARP條目。如下所示:


  • C:\Documents and Settings\Administrator>ping 192.168.7.6
  • 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靜態條目的生命週期

靜態條目一直保留在ARP快取中,意思是永久生效。但不同的作業系統中,靜態條目的儲存方式是不同的。例如,在Windows XP系統中,重新啟動計算機後該條目失效。而在Windows 7中,即使重新啟動計算機後,該靜態條目仍然儲存。下面透過幾個例項依次驗證各種作業系統對靜態條目的處理方式。

【例項1-14】下面驗證Windows XP的靜態條目不儲存情況。具體操作步驟如下所示:

1手動繫結介面為192.168.7.8ARP條目。執行命令如下所示:


  • 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.7ARP快取條目為static(靜態)。

3重新啟動計算機。啟動後,再次檢視ARP快取表。如下所示:


  • C:\Documents and Settings\Administrator>arp -a
  • No ARP Entries Found


輸出的資訊表示沒有找到ARP條目。

【例項1-15】下面驗證Windows 7的靜態條目儲存。具體操作步驟如下所示:

1手動繫結介面為192.168.7.6ARP條目。執行命令如下所示:


  • 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.6ARP快取條目為靜態。

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快取條目。

2192.168.5.5IP地址與MAC地址繫結。執行命令如下所示:


  • root@kali:~# arp -s 192.168.5.5 00:0c:29:56:bd


執行以上命令後,介面為192.168.5.5ARP條目將為靜態。

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人!

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29597077/viewspace-1721198/,如需轉載,請註明出處,否則將追究法律責任。

相關文章