IP数据包、ICMP协议以及ARP协议简单介绍
網(wǎng)絡(luò)層協(xié)議介紹
文章目錄
- 網(wǎng)絡(luò)層協(xié)議介紹
- 一、 IP數(shù)據(jù)包格式
- 1.1. 網(wǎng)絡(luò)層的功能
- 1.2. IP數(shù)據(jù)包格式及IP字段
- 二、 ICMP協(xié)議(Internet控制報(bào)文協(xié)議)
- **1. ICMP協(xié)議的功能**
- 2. ICMP協(xié)議的封裝
- 3. ICMP的基本使用
- 小結(jié):
- 三、廣播、廣播域以及ARP協(xié)議
- 1. 廣播與廣播域
- 2. ARP協(xié)議
- 2.1. ARP概述
- 2.2. ARP的原理
- 2.3. ARP的相關(guān)命令
- 2.3.1 windows系統(tǒng)中ARP命令∶
- 2.3.2 華為系統(tǒng)中的ARP命令
- 2.4 ARP攻擊與ARP欺騙的原理
一、 IP數(shù)據(jù)包格式
1.1. 網(wǎng)絡(luò)層的功能
1)定義了基于IP協(xié)議的邏輯地址
2)連接不同的媒介類型
3)選擇數(shù)據(jù)通過網(wǎng)絡(luò)的最佳路徑
1.2. IP數(shù)據(jù)包格式及IP字段
IP字段∶
版本(Version) ∶該字段包含的是 IP的版本號(hào),4bit。目前 IP的版木為 4(即 IPv4)。
首部長(zhǎng)度(Header Length) ∶該字段用于表示IP數(shù)據(jù)包頭長(zhǎng)度,4bit。IP數(shù)據(jù)包頭最短為20字節(jié),但是其長(zhǎng)度是可變的,具體長(zhǎng)度取決于可選項(xiàng)字段的長(zhǎng)度。
優(yōu)先級(jí)與服務(wù)類型(Priority&Type of Service) ∶該字段用于表示數(shù)據(jù)包的優(yōu)先級(jí)和服務(wù)類型,8bit。通過在數(shù)據(jù)包中劃分一定的優(yōu)先級(jí),用于實(shí)現(xiàn)QoS(服務(wù)質(zhì)量)的要求。
總長(zhǎng)度(Total Length) ∶該字段用以指示整個(gè) IP數(shù)據(jù)包的長(zhǎng)度,16bit。最長(zhǎng)為65535字節(jié),包括包頭和數(shù)據(jù)。
標(biāo)識(shí)符(Identification) :該字段用干表示IP數(shù)據(jù)包的標(biāo)識(shí)符,16bit。當(dāng)IP對(duì)上層數(shù)據(jù)進(jìn)行分片時(shí),它將給所有的分片分配同一組編號(hào),然后將這些編號(hào)放入標(biāo)識(shí)符字段中,保證分片不會(huì)被錯(cuò)誤地重組。
標(biāo)志(Flags) ∶標(biāo)志字段,3bit。對(duì)當(dāng)前的包不能進(jìn)行分片(當(dāng)該包從一個(gè)以太網(wǎng)發(fā)送到另一個(gè)以太網(wǎng)時(shí)),或當(dāng)一個(gè)包被分片后用以指示在一系列的分片中,最后一個(gè)分片是否已發(fā)出。
段偏移量(Fragment Offset) ∶該字段用于表示段偏移量,13bit。段偏移量中包含的信息是指在一個(gè)分片序列中如何將各分片重新連接起來。
TTL(Time to Live) :該字段用于表示IP數(shù)據(jù)包的生存周期,8bit。一個(gè)數(shù)據(jù)包每經(jīng)過一個(gè)路由器,TTL將減去1,當(dāng)TTL值為0時(shí),該數(shù)據(jù)包將被丟棄。可以防止一個(gè)數(shù)據(jù)包在網(wǎng)絡(luò)中無限循環(huán)地轉(zhuǎn)發(fā)下去。
協(xié)議號(hào)(Protocol) ∶協(xié)議字段,8bit。該字段用以指示在 IP數(shù)據(jù)包中封裝的是哪一個(gè)協(xié)議,是 TCP還是 UDP,TCP的協(xié)議號(hào)為6,UDP的協(xié)議號(hào)為17。
首部校驗(yàn)和(Header Checksum) ∶該字段用于表示校驗(yàn)和,16bit。接收方和網(wǎng)關(guān)用來校驗(yàn)數(shù)據(jù)有沒有被改動(dòng)過。
源 IP 地址(Source IP Address) ∶該字段用于表示數(shù)據(jù)包的源地址,32bit。
目標(biāo) IP地址(Destination IP Address) ∶該字段用于表示數(shù)據(jù)包的目的地址,32bit。
可選項(xiàng)(Options) ∶可選項(xiàng)字段根據(jù)實(shí)際情況可變長(zhǎng),可以和IP一起使用的選項(xiàng)有多個(gè)。例如,可以輸入創(chuàng)建該數(shù)據(jù)包的時(shí)間等。在可選項(xiàng)之后,就是上層數(shù)據(jù)。
二、 ICMP協(xié)議(Internet控制報(bào)文協(xié)議)
1. ICMP協(xié)議的功能
■ICMP是一個(gè)"錯(cuò)誤偵測(cè)與回饋機(jī)制"
■通過IP數(shù)據(jù)包封裝的
■用來發(fā)送錯(cuò)誤和控制消息
2. ICMP協(xié)議的封裝
ICMP屬于網(wǎng)絡(luò)層協(xié)議(也有高于網(wǎng)絡(luò)層協(xié)議的說法),因?yàn)閭鬏擨CMP信息時(shí),要先封裝網(wǎng)絡(luò)層的IP報(bào)頭,再交給數(shù)據(jù)鏈路層,即ICMP報(bào)文對(duì)應(yīng)IP層的數(shù)據(jù),如下圖所示。
3. ICMP的基本使用
在檢查網(wǎng)絡(luò)連通性時(shí),ping命令是用的最多的。當(dāng)我們ping一臺(tái)主機(jī)時(shí),本地計(jì)算機(jī)發(fā)出的就是一個(gè)典型的ICMP數(shù)據(jù)包,用來測(cè)試兩臺(tái)主機(jī)能否順利連通。ping命令能夠檢測(cè)兩臺(tái)設(shè)備之間的雙向連通性,即數(shù)據(jù)包能夠到達(dá)對(duì)端,并能夠返回。
windows系統(tǒng)中ping命令常用選項(xiàng)∶(默認(rèn)ping4個(gè)包)
-t 參數(shù)會(huì)一直不停的執(zhí)行ping
-a 參數(shù)可以顯示主機(jī)名稱排
-l參數(shù)可以設(shè)定ping包的大小(小寫L)
-n 指定發(fā)送包的個(gè)數(shù)
-S 指定源IP去ping
在Linux系統(tǒng)下為∶
-s 參數(shù)可以設(shè)定ping包的大小
-c 指定發(fā)送包的個(gè)數(shù)
-I 指定源IP去ping(大寫i)
跟蹤路由路徑命令∶
WIN∶tracert IP/域名
Linux∶traceroute IP/域名
小結(jié):
1)IP數(shù)據(jù)包的格式
2)ICMP的作用
3)ping命令的使用方法
三、廣播、廣播域以及ARP協(xié)議
1. 廣播與廣播域
2. ARP協(xié)議
2.1. ARP概述
在局域網(wǎng)中,交換機(jī)通過MAC地址進(jìn)行通信,要獲得目的主機(jī)的MAC地址就需要使用ARP協(xié)議將目的IP地址解析成目的MAC地址。所以,ARP(Address Resolution Protocol,地址解析協(xié)議)的基本功能是負(fù)責(zé)將一個(gè)已知的IP地址解析成MAC地址,以便在交換機(jī)上通過MAC地址進(jìn)行通信。
2.2. ARP的原理
如上圖:
PC1想發(fā)送數(shù)據(jù)給PC2,會(huì)先檢查自己的ARP緩存表。
如果發(fā)現(xiàn)要查找的MAC地址不在表中,就會(huì)發(fā)送一個(gè)ARP請(qǐng)求廣播,用于發(fā)現(xiàn)目的地的 MAC地址。
ARP請(qǐng)求消息中包括PC1的IP地址和MAC地址以及PC2的IP地址和目的MAC地址(此時(shí)為廣播MAC地址FF-FF-FF-FF-FF-FF)。
交換機(jī)收到廣播后做泛洪處理,除主機(jī)1外所有主機(jī)收到ARP請(qǐng)求消息,PC2以單播方式發(fā)送ARP應(yīng)答,并在自己的ARP表中緩存PC1的IP地址和 MAC 地址的對(duì)應(yīng)關(guān)系,而其他主機(jī)則丟棄這個(gè)ARP請(qǐng)求消息。
PC1在自己的 ARP表中添加 PC2的 IP地址和 MAC地址的對(duì)應(yīng)關(guān)系,以單播方式與PC2通信。
2.3. ARP的相關(guān)命令
2.3.1 windows系統(tǒng)中ARP命令∶
arp -a 查看ARP緩存
arp -d [IP] 清除ARP緩存
arp -s IP MAC ARP靜態(tài)綁定
如提示ARP項(xiàng)添加失敗,解決方案∶
a、用管理員模式∶電腦左下角"開始"按鈕右鍵,點(diǎn)擊"Windows PowerShell(管理員)(A)"或者進(jìn)入C盤windows\system32文件夾找到cmd.exe,右鍵"以管理員身份運(yùn)行"再執(zhí)行arp -s命令
b、(1)netsh interface ipv4 show neighbors 或者netsh i i show in<查看網(wǎng)卡接口序號(hào)/Idx>
(2)netsh interface ipv4 set neighbors <接口序號(hào)>
解除靜態(tài)綁定
netsh -c i i delete neighbors ‘Idx’
動(dòng)態(tài)學(xué)習(xí)到的ARP的老化時(shí)間是120s,并且靜態(tài)綁定的ARP條目在計(jì)算機(jī)關(guān)機(jī)或重啟后會(huì)消失。
2.3.2 華為系統(tǒng)中的ARP命令
[Huawei]dis mac-address 查看mac 地址信息
[Huawei]arp static 綁定ARP
[Huawei]undo arp static 解綁定
< Huawei > reset arp all 清除mac地址表
2.4 ARP攻擊與ARP欺騙的原理
一般情況下,ARP攻擊的主要目的是使網(wǎng)絡(luò)無法正常通信,主要包括以下兩種攻擊行為:
1)攻擊主機(jī)制造假的ARP應(yīng)答,并發(fā)送給局域網(wǎng)中除被攻擊主機(jī)之外的所有主機(jī)。ARP應(yīng)答中包含被攻擊主機(jī)的IP地址和虛假的MAC地址。
2)攻擊主機(jī)制造假的 ARP應(yīng)答,并發(fā)送給被攻擊主機(jī)。ARP應(yīng)答中包含除被攻擊主機(jī)之外的所有主機(jī)的IP地址和虛假的MAC地址。
執(zhí)行上述 ARP攻擊行為中的任一種,就可以實(shí)現(xiàn)被攻擊主機(jī)和其他主機(jī)無法通信,如下圖所示。例如,如果希望被攻擊主機(jī)無法訪問互聯(lián)網(wǎng),就需要向網(wǎng)關(guān)發(fā)送或向被攻擊主機(jī)發(fā)送虛假的ARP應(yīng)答。當(dāng)網(wǎng)關(guān)接收到虛假的ARP應(yīng)答更新 ARP條目后,網(wǎng)關(guān)再發(fā)送數(shù)據(jù)給PC1時(shí),就會(huì)發(fā)送到虛假的MAC地址,從而導(dǎo)致通信故障的發(fā)生。
ARP攻擊原理:
ARP欺騙原理:
一般情況下,ARP欺騙并不會(huì)使網(wǎng)絡(luò)無法正常通信,而是通過冒充網(wǎng)關(guān)或其他主機(jī)使到達(dá)網(wǎng)關(guān)或主機(jī)的流量通過攻擊主機(jī)進(jìn)行轉(zhuǎn)發(fā)。通過轉(zhuǎn)發(fā)流量可以對(duì)流量進(jìn)行控制和查看,從而可以控制流量或得到機(jī)密信息。
ARP欺騙發(fā)送ARP應(yīng)答給局域網(wǎng)中其他主機(jī),其中包含網(wǎng)關(guān)的IP地址和進(jìn)行ARP欺騙的主機(jī)MAC地址;并且也發(fā)送ARP應(yīng)答給網(wǎng)關(guān),其中包含局域網(wǎng)中所有主機(jī)的IP地址和進(jìn)行 ARP欺騙的主機(jī)MAC地址(有的軟件只發(fā)送ARP應(yīng)答給局域網(wǎng)中的其他主機(jī),并不發(fā)送ARP應(yīng)答欺騙網(wǎng)關(guān))。當(dāng)局域網(wǎng)中主機(jī)和網(wǎng)關(guān)收到ARP應(yīng)答更新 ARP表后,主機(jī)和網(wǎng)關(guān)之間的流量就需要通過攻擊主機(jī)進(jìn)行轉(zhuǎn)發(fā),如下圖圖1所示。冒充主機(jī)的過程和冒充網(wǎng)關(guān)相同,如下圖圖2所示。
總結(jié)
以上是生活随笔為你收集整理的IP数据包、ICMP协议以及ARP协议简单介绍的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2011年电子科技大学博士生招生参考书目
- 下一篇: 张量Tensor@最强分析