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