實驗8 ICMP協定分析 實驗目的 明瞭ICMP(Internet Control Message Protocol;網際網路控制訊息協定)的工作原理 解析ICMP協定下封包資料傳送的格式。

Slides:



Advertisements
Similar presentations
Copyright©2013 Huawei Technologies Co., Ltd. All Rights Reserved. The information in this document may contain predictive statements including, without.
Advertisements

晏宏斌工程师 2014 年 9 月 “ 宽带网络校校通 ” 校园网建设要点和基础维护方法. – 中小学校园网络建设要点 – 常见网络故障处理基本方法 目 录目 录.
计算机网络技术基础(第三版) 主编:尚晓航 高等教育出版社
第6章:计算机网络基础 网考小组.
校园网的基本使用和 常见问题 主讲:高 健 信息部.
第 8 章 IP 基礎與定址.
网络常用命令.
欢迎各位网管员参加培训!
第 4 章 网络层.
第四章 网络层 网络层 网络层 网络层 网络层 网络层.
2012單位主機及電腦教室管理人員資訊安全管理會議
Chapter 12 UDP 與 TCP.
计算机网络安全技术实验 启动虚拟机、GIF、measpoilt、.
路由器的性能特点和工作原理 两种常用的内部网关协议(RIP和OSPF) 路由器的产品结构 局域网中使用路由器的方案
DP DHCP原理 ISSUE 1.0.
数据转发过程.
作者:陳建民 指導教授:蘇民揚 教授 報告者 : 李承駿
NetGuru 創新 網路通訊實驗教學解決方案 PART I TCP/IP通訊協定深入剖析/以NetGuru實作
网络故障的检测及修复.
计算机网络 吴功宜 编著 欢迎辞.
包河区学校网站管理员培训 包河中学 林文明.
網路基本概念與設定方法 林文宗 資管系助理教授
学习目标: 1)理解包和包过滤 2)理解包过滤的方法 3)设置特殊的包过滤规则
教师:陈有为 TCP/IP与Internet(A) 教师:陈有为
IPv6 技術與服務 台東大學 電算中心 郭俊賢 技術師.
第3讲 网络安全协议基础 此为封面页,需列出课程编码、课程名称和课程开发室名称。
计算机网络原理 计算机与信息工程分院 周文峰.
網路故障排除 家庭和小型企業網路 – 第九章.
臺東縣中小學資訊教育校園網路管理暨資訊安全防護計畫研習
第六章 差错与控制报文 (ICMP).
TCP和UDP基本原理.
Internet Protocol (IP)
Chapter 9 網際網路控制訊息 通訊協定.
32 bit destination IP address
访问控制列表(ACL) Version 1.0.
系統與網路管理工具.
ARP, RARP & ICMP.
利用Netflow即時偵測蠕蟲攻擊 報告人:王明輝 報告日期:民國95年11月2日.
Chapter 8 網際網路通訊協定.
第 2 章 TCP / IP 簡介.
在一定程度上 人类的思维产生于 简单个体之间的相互作用 ——Marvin Minsky.
Chapter 14 DHCP.
網路探測:路徑、延遲 與流量統計 Instructor: Teaching Assistant:.
第十讲 TCP协议 协议概述 报文段格式 差错控制 流控和拥塞控制 TCP连接管理 TCP性能问题 TCP软件设计 2018/12/7
第4章 OSI傳輸層.
實驗目的 明瞭可靠傳輸層的基礎觀念 TCP協定下區段資料傳送的格式
第七讲 网际协议IP.
子網路切割、變動長度的子網路遮罩 (VLSM) 與 TCP / IP 的檢修
實務操作練習題.
第十三章 TCP/IP 與 Internet 網路連結技術
实时协议( Real-Time Protocol, RTP)
第2讲 网络安全协议基础 此为封面页,需列出课程编码、课程名称和课程开发室名称。
TANet PROTOCOL ANALYSIS - WIRESHARK - 350.
第7章 传输层协议——TCP与UDP 任课教师 卢豫开.
第13章 IPv6协议.
Wireshark DNS&HTTP封包分析
實驗5 IP協定分析 明瞭IP(Internet Protocol;Internet協定)的基礎觀念
Chapter3 建立與設定區域網路 網路應用入門(一) Chapter3 建立與設定區域網路
網路安全管理 期末報告 A 許之青 24/04/2019.
NAT技术讲座 主讲:周旭 大唐电信科技股份有限公司光通信分公司 数据通信部.
第 14 章 DHCP 著作權所有 © 旗標出版股份有限公司.
實務操作練習題.
DoS、DDoS網路攻擊 A 沈惇鈺 指導教授:梁明章.
IP Layer Basics, Firewall, VPN, and NAT
Wireshark Lab: ICMP Computer Networking: A Topdown
網際網路原理 網際網路源起與發展歷史 1968 ARPANET 1973 TCP/IP協定 1976 乙太網路,促成LAN的發展 … DNS
IP Layer Basics & Firewall
第7章 传输层协议——TCP与UDP 任课教师 卢豫开.
TCP/IP基礎協定之認識 資訊處位 主講人 黃連發.
第 4 章 网络层.
Presentation transcript:

實驗8 ICMP協定分析 實驗目的 明瞭ICMP(Internet Control Message Protocol;網際網路控制訊息協定)的工作原理 解析ICMP協定下封包資料傳送的格式。

背景資料 IP協定的主要功能在於盡力地將封包依選取路徑送達目的端,但封包在傳送過程中,難免可能遭遇許多的困難與問題,也許是網路擁塞、主機故障或主機根本未開機,使用者或路由器便可依需要進行必要的偵錯或控制的工作。 不過,這些問題並非IP協定所能解決,ICMP便是用以處理此項工作的機制,向來源端進行訊息狀況的通知與聯繫,提供IP協定所未涉及的部分進行補強,它的目的就是讓我們能夠檢測網路的連線狀況,也能確保連線的準確性,不過由於僅是控制訊息的傳遞並無詳細的指導,所以一般而言來源端並不處理該訊息。

ICMP其主要功能 ICMP屬於網路層的通訊協定,一般視為是IP的輔助協定,必須與IP協定搭配一起使用。 偵測遠端主機是否存在 建立及維護路由資料 重導資料傳送路徑 資料流量控制 ICMP屬於網路層的通訊協定,一般視為是IP的輔助協定,必須與IP協定搭配一起使用。 一般如網路連線無法連通的回應訊息,或以ping、tracert指令偵測網路連線狀況等情形,都是典型常見相關ICMP的訊息。

ICMP封包的欄位格式 每個ICMP封包都會有ICMP表頭,其中包含了三個固定長度的欄位:Type、Code與Checksum;至於ICMP資料的部分,則會隨著ICMP封包的類型而異。

ICMP封包的欄位格式 TYPE:長度為1 Byte,定義ICMP封包的類型。其欄位值與封包類型的對照表整理如下:

ICMP封包的欄位格式

ICMP封包的欄位格式 CODE:長度為1 Byte,每種類型可再根據Code欄位來定義各種不同用途。不過大部分ICMP封包類型只定義了一種Code欄位值。 Checksum:長度為2 Bytes,記錄ICMP封包的錯誤檢查碼。

常見的ICMP類型 Echo Request / Echo Reply(要求與回應) Destination Unreachable(無法到達目的) Source Quench(降低來源端傳輸速度) Redirect(重新導向) Time Exceeded(逾時)

Echo Request / Echo Reply(要求與回應) A主動發出Echo Request封包給B。 B收到Echo Request後,回應Echo Reply給A。 當完成上述動作時,A便能確認B存在且連線狀況、IP路由架構都正常運作。

Echo Request / Echo Reply(要求與回應) 封包欄位 ICMP表頭

Echo Request / Echo Reply(要求與回應) ICMP資料的三個欄位: Identifier:長度為2 Bytes,做為識別之用,由Echo Request來源端裝置的程式所決定。當目的端裝置收到Echo Request後,所回應EchoReply的Identifier欄位值必須與收到的Echo Request相同。 Sequence Number:長度為2 Bytes,用來記錄序號,由Echo Request來源端裝置的程式所決定。當目的端裝置收到Echo Request後,所回應Echo Reply的Sequence Number欄位值必須與收到的Echo Request相同,如此Identifier與Sequence Number兩個欄位合起來,可識別特定配對的Echo Request / Echo Reply。

Echo Request / Echo Reply(要求與回應) Optional Data:長度不定,由Echo Request來源端裝置的程式所決定,可記錄一些選擇性的資料。當目的端裝置收到Echo Request後,所回應Echo Reply的Optional Data欄位值必須與收到的Echo Request相同。Echo Request來源端收到Echo Reply後,會讀取Optional Data欄位值,確認此為配對的Echo Reply。

Destination Unreachable(無法到達目的) 在IP路由過程中,如果路由器無法將IP封包傳送出去,或是目的裝置無法處理收到的IP封包,路由器或目的裝置便會發出此類ICMP封包通知來源端錯誤訊息。 封包欄位

Destination Unreachable(無法到達目的) Code欄位值

Source Quench(降低來源端傳輸速度) 當路由器因為來往的IP封包太多以致於來不及處理時,或路由器內部用以暫時存放的緩衝區已滿載,容易使得來源端所傳送的封包資料發生遺失的情形,此時路由器便會發出此類的ICMP封包給來源端裝置,要求來源端降低資料封包的傳送速率,或甚至暫停傳送資料的動作,直到來源端不再接收到Source Quench訊息為止。 封包欄位

Redirect(重新導向) 當路由器發現主機所選的路徑並非最佳路徑或閘通道有所變更時,便會送出ICMP Redirect封包給來源端主機,提供路徑重新定向的相關資訊。 如上圖,當A要傳送資料給B時,假設最佳路徑是經由R1的路由器,若A誤將封包送至R2,則R2會發出Redirect的ICMP封包給A,使其重送。

Redirect(重新導向) 封包欄位 Code欄位值可從0至3: 0:因網路變動而更改傳輸路徑 1:因主機變動而更改傳輸路徑 2:因網路和服務類型的變動而更改傳輸路徑 3:因主機和服務類型的變動而更改傳輸路徑

Time Exceeded(逾時) 為了防止IP封包在不當的路由架構中永無止境地傳送,當路由器收到TTL值為1的IP封包時,會將此IP封包丟棄,並送出此類ICMP封包給來源裝置。 當IP封包在傳送過程中發生切割時,必須在目的裝置重組切割的IP Fragment,重組封包的過程中,若時間內未收到全部的IP Fragment,目的裝置也會發出此類的ICMP封包給來源裝置。

Time Exceeded(逾時) 封包欄位 Code欄位值: 0:TTL count exceeded 1:Fragment reassembly time exceeded Unused:長度為4 Bytes,未定義用途,欄位內容必須為0。

實驗方法 - PING 當架設好一個TCP / IP網路時,最常利用Ping這個命令來檢查網路是否連接成功,不過要注意的是有時為了安全起見,遠方機器或經過的某些網路節點會過濾該ICMP封包。 Ping回應的各個欄位所代表的意義分別如下: Reply From:是從何處得到的回應。 Bytes:是該次Ping執行的數據大小。 TTL:Round Trip時間(毫秒)生存期限(毫秒)。

利用Ping由近而遠來診斷網路問題 固定IP位址 ping 127.0.0.1 ping 本機IP位址 這個步驟在現今的網路技術下可省略,127.0.0.1即所謂的Loopback位址,目的位址為127.0.0.1的封包送至本機的Loopback Driver而不會送到網路上,所以主要是用來測試TCP / IP協定是否正常運作。 ping 本機IP位址 試本機網路裝置是否正常,若有問題,建議重裝網路驅動程式或更換網路硬體。

利用Ping由近而遠來診斷網路問題 ping 對外連線的路由器 ping 網際網路上電腦的 IP 位址 ping 網際網路上電腦的網址 筆者最喜歡ping 168.95.1.1,原因除了數字較簡單,而且為中華電信DNS,一般而言很難故障,若有問題,對外專線故障可向網管人員申訴。 ping 網際網路上電腦的網址 筆者最喜歡ping www.google.com.tw,沒有特別的原因只是「搜尋未來」,若有問題,代表DNS設定有誤或DNS當機。

利用Ping由近而遠來診斷網路問題 DHCP浮動IP位址 ifconfig /all ping 對外連線的路由器 如果出現IP位址169.254.xx.xx或0.0.0.0則是無法向DHCP伺服器取得IP位址,請檢查一下DHCP伺服器狀況或向網管人員申訴。 ping 對外連線的路由器 Ping預設閘道IP位址,若有問題,代表內部網路的網路線接觸不良或交換機故障。 ping 網際網路上電腦的 IP 位址 ping 網際網路上電腦的網址

ICMP ECHO封包問題 在正常情況下,我們使用Ping對網路進行診斷,會發出ICMP響應請求封包(ICMP ECHO),對方接收到ICMP ECHO後,回應一個ICMP ECHO Reply封包。但是這過程需要CPU處理,有的情況下可能會消耗掉大量的資源。 如果攻擊者向目標計算機發送大量的ICMP ECHO封包,Ping –t x.x.x.x(ICMP Flood),則目標計算機會忙於處理這些ECHO封包,而無法繼續處理其他的網路數據封包,這也是一種阻斷服務攻擊(DOS)。 所以有些機器會關閉ICMP ECHO,讓我們無法Ping到它。 另外也不要使用網路掃瞄工具去任意掃瞄別人的網路,網路掃瞄最簡單的作法是對網路IP位址逐一往下Ping,這會讓人以為你具有攻擊的意圖。

實驗方法 - TRACEROUTE 另一個ICMP程式,Traceroute也是我們通常用到的工具,在Winodws XP上,這個程式叫做Tracert,其執行結果如圖所示:

TRACEROUTE 最左邊一行分別是中繼點(Hop)數字,然後是三個Round Trip Time,最後是主機的名稱(如果有的話)和IP位址,通常Traceroute指令會從1開始遞增TTL,將ICMP命令送給下一個中繼點,當路由器偵測到TTL的逾期時間,則會向發送源寄出TIME_EXCEEDED的ICMP封包,而每一次回應都會送出三個UDP數據流(Datagrams),以讓你獲得更詳細的資訊。 透過如此遞進的查詢過程,查詢端就可以追蹤到連線所經過的中繼點,這樣的判斷過程在我們判斷封包的路由路線非常有用,不過必須還要注意的是,封包的路由在每次的傳遞過程中都有可能不一樣,而在某些多路由環境中查詢路由和回應路由也未必一致,而且在防火牆的保護下,有些ICMP封包會被攔截下來,這樣的話,Traceroute也就不能完整的顯示出封包的傳遞路徑了。

擷取ICMP封包(Echo request)

擷取ICMP封包(Echo request) 說明: Type = 8 (Echo Request) ,其十六進位為08; Code = 0 (Not Used (MBZ)) ,其十六進位為00; CheckSum = 0x032c(十六進位值); Indentified = 0x0200; Sequence Number = 62163,其十六進位為0xf2d3; Data : [64 bytes]

擷取ICMP封包(Echo reply)

擷取ICMP封包(Echo reply) 說明: Type = 0 (Echo Reply) ,其十六進位為00 ; Code = 0 (Not Used (MBZ)) ,其十六進位為00; CheckSum = 0x0b2c(十六進位值); Indentified = 0x0200; Sequence Number = 62163 ,其十六進位為0xf2d3; Data : [56 bytes];

Free IP scanner 使用的Free IP scanner掃瞄192.192.73.1~192.192.73.63上所有IP機器的使用情況,網路掃瞄即是對網路IP地址逐一往下PING,重申一下請勿隨意掃瞄他人網路,這會讓人以為你具有攻擊的意圖。

學習評量 除了echo Request 和Echo Reply查詢訊息外,請試著擷取不同的ICMP訊息。 哪一些指令支援ICMP? 說明網路可能發生錯誤的原因和解決的方案? 說明ICMP協定潛在的風險? 如何關閉作業系統的Echo Reply回應?