Wireshark可以跟蹤網(wǎng)絡(luò)協(xié)議的通訊過程,本節(jié)通過ARP協(xié)議,在了解Wireshark使用的基礎(chǔ)上,重溫ARP協(xié)議的通訊過程。
ARP(Address Resolution Protocol)地址解析協(xié)議,是根據(jù)IP地址獲取物理地址的一個TCP/IP協(xié)議。
主機發(fā)送信息時將包含目標(biāo)IP地址的ARP請求廣播到局域網(wǎng)絡(luò)上的所有主機,并接收返回消息,以此確定目標(biāo)的物理地址;收到返回消息后將該IP地址和物理地址存入本機ARP緩存中并保留一定時間,下次請求時直接查詢ARP緩存以節(jié)約資源。
在Wireshark界面,我們可以看到19、20號數(shù)據(jù)包,就是一對標(biāo)準(zhǔn)的ARP請求和響應(yīng)包。
打開ARP請求數(shù)據(jù)包報文
Ethernet II部分:
Destination(目的物理地址)字段的值為:ff:ff:ff:ff:ff:ff,說明該以太網(wǎng)幀是廣播幀,和ARP請求分組是通過廣播形式發(fā)送吻合。
Source(源物理地址)字段的值為:00:0c:29:7f:da:7b,這是發(fā)送方主機的物理地址,和ARP協(xié)議的Sender MAC address字段的值完全吻合。
Type字段為:ARP(0x0806)。說明該以太網(wǎng)幀封裝的是一個ARP協(xié)議分組。
ARP協(xié)議部分:
前4個字段表明物理地址和邏輯地址的類型和長度。
第五個字段Opcode的值為1,說明是ARP請求報文。
后面4個字段是源物理地址和IP地址,以及目標(biāo)物理地址和IP地址。
值得注意的是,目標(biāo)物理地址正如之前所說,全部填充的0。因為該字段正是ARP請求報文需要獲取的,目前不知,只能全部填充為0。
打開ARP響應(yīng)數(shù)據(jù)包報文
在Ethernet II部分:
Destination(目的物理地址)字段的值正好是ARP請求報文的Source字段的值。也就是說,該ARP響應(yīng)報文是用來回應(yīng)之前的ARP請求分組的。該值也和Target MAC address的值相同。
Source(源物理地址)字段的值為目的端的物理地址,該值和Sender MAC address的值相同。
Padding是填充字段,用來填充以太網(wǎng)幀到最小幀長。
在ARP協(xié)議部分:
前4個字段沒什么好講的。
第五個字段Opcode為2,表示這是ARP響應(yīng)分組。
后面4個字段,源MAC地址正是ARP請求報文想尋找的物理地址。源IP地址正好是ARP請求分組的目的IP地址。目的物理地址和目的IP地址正好是ARP請求分組的源物理地址和源IP地址。
通過上面的通訊過程,加深我們對ARP協(xié)議請求的了解,同時也加強Wireshark對數(shù)據(jù)包支持的理解。