ARP地址解析協(xié)議
第一篇中講到局域網(wǎng)內(nèi)主機及網(wǎng)關(guān)相互通信需要ip地址、mac地址兩個核心元素,ip地址在通信前就可以得知(DNS解析),而mac地址如何得到呢,這時就需要ARP協(xié)議支持了,ARP全稱為:Address Resolution Protocol即地址解析協(xié)議,假設(shè)主機A需要訪問局域網(wǎng)主機B,主機A通過地址解析協(xié)議向局域網(wǎng)內(nèi)部發(fā)群體廣播,詢問主機B的地址信息,被命中主機B確認目標主機IP為自身時會將廣播報文中主機A地址信息存入ARP緩存表中(緩存減小訪問次數(shù)),并向主機A返回自己的mac地址,主機A將主機B返回的地址信息緩存在ARP緩存表中,至此主機A已知主機B的MAC,就可以愉快的開始通信了。發(fā)起方需要查詢目標MAC地址時都會先去ARP緩存表中查詢,未查詢到才會發(fā)起廣播流程,示例如下:
熟悉地址解析歇息工作流程之后,看一下協(xié)議報文,報文結(jié)構(gòu)示例圖如下:
根據(jù)上述報文結(jié)構(gòu),通過抓包分解圖如下所示:
請看下方紅框中16進制顯示的報文,首先看第1到16字節(jié),前六個字節(jié)(ff:ff:ff:ff:ff:ff)表示數(shù)據(jù)包發(fā)送的目標地址為廣播地址,局域網(wǎng)內(nèi)所有主機均需收到,第七到第十二字節(jié)(00:2a:6a:f4:7c:41)表示本機mac地址,第十三到二十分別代表幀類型、硬件類型、協(xié)議類型、硬件長度、協(xié)議長度,第二十一到第二十二字節(jié)表示訪問類型(指明當(dāng)前包是請求包還是應(yīng)答包,對應(yīng)的值分別是0x0001和0x0002),第二十三到第二十八字節(jié)表示發(fā)送端地址(00:2a:6a:f4:7c:41),第二十九到第三十二表示發(fā)送端IP(10.13.95.253),第三十三到第三十八表示目標地址(ff:ff:ff:ff:ff:ff),第三十九到第四十二為目標IP(10.13.91.166),到這里ARP協(xié)議的報文結(jié)構(gòu)就全部分析完成,可知道ARP的執(zhí)行原理了。
ICMP控制報文協(xié)議
ICMP協(xié)議屬于一種控制報文協(xié)議,此類信息的顯著特征是不會帶有用戶數(shù)據(jù),主要用于在主機與路由器之間傳遞控制信息,包括報告錯誤、交換受限控制和狀態(tài)信息等。當(dāng)遇到IP數(shù)據(jù)無法訪問目標、IP路由器無法按當(dāng)前的傳輸速率轉(zhuǎn)發(fā)數(shù)據(jù)包等情況時,會自動發(fā)送ICMP消息。通俗一點理解控制報文協(xié)議就是錯誤發(fā)現(xiàn)及錯誤報告回傳機制,因為只有發(fā)送端拿到發(fā)送過程中的失敗原因消息才能針對性的做出處理方案,ICMP的報文結(jié)構(gòu)如下所示:
ICMP協(xié)議通過IP協(xié)議發(fā)送,ICMP協(xié)議相當(dāng)于定義一套返回碼枚舉,不同類型的返回碼所帶有的返回信息也不相同。根據(jù)上述報文結(jié)構(gòu),通過抓包分解圖如下所示:
請看下方紅框十六進制顯示報文內(nèi)容,前三十四字節(jié)表示以太網(wǎng)頭部和IP頭部此處不做詳細解析,從第三十五字節(jié)開始屬于ICMP的報文體部分,首先第三十五字節(jié)表示類型,第三十六字節(jié)表示編碼,以ping(ping命令就是以ICMP協(xié)議實現(xiàn)的)為例,它的類型代碼請求報文為8,編碼為0(其它類型和編碼可以網(wǎng)上搜索參考“類型編碼表”,此處不做碼表顯示),第三十七到第三十八字節(jié)表示唯一校驗和,第三十九字節(jié)到第四十二字節(jié)屬于不同類型內(nèi)容不同的擴展報文,抓包中表示ping的唯一標識碼和自增序列以保證目標返回值是對應(yīng)請求報文的,第四十三字節(jié)到七十四字節(jié)表示ping附帶的報文內(nèi)容,可以通過改變配置報文大小來控制傳輸數(shù)據(jù)大小,如圖所示實際發(fā)送報文即為英文小寫字母,這是ICMP的執(zhí)行原理。
1、Ping
ping命令是以ICMP協(xié)議實現(xiàn)的網(wǎng)絡(luò)工具,主要的作用是檢查主機連通性、統(tǒng)計連通時間,若出現(xiàn)超時不能連通:一種可能為目標IP不存在,第二種可能是對方主機屏蔽了ping命令執(zhí)行,示例截圖如圖所示:
如圖所示,展示返回報文的關(guān)鍵字段:
- 字節(jié)=32:即ICMP抓包中的32字節(jié)英文小寫字母,表示發(fā)送報文大小
- 時間=6毫秒:即目標主機響應(yīng)時間
- TTL=51:即發(fā)送者設(shè)置的數(shù)據(jù)包在網(wǎng)絡(luò)中可以存活的跳數(shù)
2、Tracert
tracert命令是以ICMP協(xié)議實現(xiàn)的網(wǎng)絡(luò)工具,主要解決網(wǎng)絡(luò)連通性問題,統(tǒng)計響應(yīng)耗時時間,路徑明細等信息,示例截圖如圖所示:
如圖所示,返回報文主要字段:
- 第一列:表示經(jīng)歷的網(wǎng)絡(luò)節(jié)點,逐一遞增
- 第二列到第四列,三次響應(yīng)的平均時間
- 經(jīng)歷的ip信息
-
IP
+關(guān)注
關(guān)注
5文章
1798瀏覽量
152307 -
路由器
+關(guān)注
關(guān)注
22文章
3834瀏覽量
116415 -
ICMP
+關(guān)注
關(guān)注
0文章
52瀏覽量
15258 -
ARP
+關(guān)注
關(guān)注
0文章
50瀏覽量
14983
發(fā)布評論請先 登錄
ARP協(xié)議攻擊及其解決方案
地址解析協(xié)議ARP

地址解析協(xié)議(ARP),地址解析協(xié)議(ARP)是什么意思
ARP協(xié)議動態(tài)交互仿真系統(tǒng)的設(shè)計

icmp協(xié)議工作原理

arp協(xié)議的作用是什么?arp協(xié)議的工作原理介紹

icmp協(xié)議是什么

icmp協(xié)議行為分析研究

icmp協(xié)議協(xié)議基礎(chǔ)詳解

tcp_ip 協(xié)議講座:介紹ARP,ICMP,DHCP協(xié)議
ARP是什么意思?ARP是什么協(xié)議?ARP協(xié)議用于什么地方
ICMP網(wǎng)絡(luò)控制消息協(xié)議簡介

ARP協(xié)議原理是什么

評論