p.1 NetGuru by NetSmooth Corporation 創新 網路通訊實驗教學解決方案 第三章 跨平台 Packet 分析工具: Ethereal PART I TCP/IP 通訊協定深入剖析 / 以 NetGuru 實作
p.2 Overview Ethernet 簡介 Ethernet 通訊協定 Hub 與 Ethernet Switch Ethereal 簡介 實驗導引 – 實驗 3.1 了解 Ethereal 基本操作 – 實驗 3.2 了解 Hub 與 Ethernet Switch 的差異
Ethernet 簡介
p.4 The IEEE Standard (Ethernet) 在 IEEE 802 標準中涉及 OSI 參考模型之實體層及資料 鏈路層 – 實體層對應到 OSI 中的實體層,而資料鏈結層則被分為兩個子層, 分別為 Media Access Control(MAC) 和 Logic Link Control(LLC) 為現今世界上最普遍使用之區域網路 使用共享之傳輸媒介 價格低廉,設定安裝簡便
p.5 Ethernet 的演進
p.6 Ethernet 分類 類型標準 Data Rate 拓樸每段最長實體線路 10BaseT IEEE Mbps Star100mUTP Category 5 100BaseT 100BaseTX 100BaseFX IEEE 802.3u IEEE 802.3x 100 Mbps Star UTP: 100m Single Mode Fiber : 20km UTP Category 5 or Single Mode Fiber 1000BaseTX 1000BaseFX 1000BaseCX IEEE 802.3z IEEE 802.3ab 1000 Mbps Star UTP: 100m Single Mode Fiber : 3km+ Coaxial Cable: 25m UTP Category 5 or UTP Category 6 or Single Mode Fiber
Ethernet 通訊協定
p.8 Frame 的發送 – Packet 切割
p.9 Ethernet Frame
p.10 資料封裝 (Encapsulation)
p.11 Frame 的發送 – CSMA/CD Ethernet 是一種共享媒體 (shared medium) ,所以 必須要有機制來決定由誰來使用傳輸媒體,在 Ethernet 中所採用 CSMA/CD CSMA/CD - Carrier Sense Multiple Access with Collision Detection – 將要傳的資料切割成 Frame 當作一傳送單位 – 要傳送時先偵測 Cable 上是否有設備送 Frame (Carrier Sense) – 若沒有設備使用,才準備送 Frame ,並偵測是否有他台設備發送 Frame (Collision Detection) – 若發生碰撞,則各自 Random 一等待時間,再重試 ( Backoff Algorithm)
p.12 CSMA/CD 碰撞原因
Hub 及 Ethernet Switch
p.14 Hub 及 Ethernet Switch Hub : –PC1 要送給 PC2 ,經由 HUB 後會往全部的 介面送,沒有其他人能傳輸 Ethernet Switch : –PC1 要送給 PC2 ,由 Port 1 進去之後, Ethernet Switch 會經由之前的經驗判斷直接 由 Port 2 送資料給 PC2 – 同時 PC3 與 PC4 還是可以傳輸資料
p.15 Ethernet Switch 內部的設計原理 Ethernet Switch 每個 Port 必 須能模擬 CSMA/CD 的 Protocol Ethernet Switch 需將廣播或群 播轉送至其他 Port 上 ( 除了發 送的 Port 以外 ) 。如此 ARP 才 能運作 Ethernet Switch 必須知道網路 介面卡的 MAC Address 與其 Port 的對應 Ethernet Switch 內部必須儲存 此 Port 與 MAC Address 的對 應表格,而此表格內容可藉由 Ethernet Frame 上的 Source MAC Address 學習而來 Ethernet Switch 需要緩衝區暫 存 無法即時轉送的 Frame
p.16 Broadcast Domain 及 Collision Domain Broadcast Domain –Broadcast Packet 可到達的網路範圍 Collision Domain – 使用 Hub 連接的網路,因 Packet 會發生碰撞而稱之
Ethereal 簡介
p.18 Ethereal 網路封包擷取程式 可分析封包並解析 Protocol 的資料 網路卡處於 Promiscuous 模式會抓取全部收得到的 封包 使用 pcap(packet capture) library 擷取以及依條件 過濾封包
p.19 相關設定值
p.20 Filter 的使用 語法: [ 通訊協定 ][ 邏輯運算元 ][ 數值 ] – 例: ip.addr == 比較運算元 邏輯運算元
p.21 Filter 範例 只顯示 IP Address 為 ip.addr eq 只顯示 IP Address 為 且 port 為 23 (ip.addr eq ) and (tcp.port eq 23) 只顯示通訊協定為 ARP 或 UDP arp or tcp 只顯示 ARP Table 中特定 Source MAC 位址 arp.src.hw_mac == 00:d0:59:a5:d1:76 其他詳細資料可參考
p.22 設定 Filter 按下 Ethereal 視窗左下 方的 Filter 按鈕 選擇 Add Expression 按鈕並設定條件 - >Accept->OK 選擇 Capture->Start
p.23
p.24 Ethereal 使用環境 必須處於同一個 Collision Domain 之下才能抓到 frame ( Hub 連接或對接 )
實驗導引 實驗 3.1 了解 Ethereal 基本操作 實驗 3.2 了解 Hub 與 Ethernet Switch 的差異
p.26 實驗 3.1 了解 Ethereal 基本操作 實驗目的 了解 Ethereal 相關設定的涵意 了解 Ethereal 基本操作 了解 Packet 與 Ethernet Frame
p.27 實驗架構圖
p.28 Step 1: 於 Host A 及 Host B 啟動 Ethereal 開啟 Ethereal ,在 Capture 選項按 Start Interface 選擇 eth0 ,啟動 promiscuous mode 停用 name resolution ,以減輕系統負荷
p.29 Step 2: 由 Host A ping Host C ,觀察 抓取到的封包 Host A: –ping -c – 觀察是否有回應 觀察抓取到的封包 – 分別於 Host A 及 Host B 的 Ethereal 按下 Stop ,停止抓取封包 – 觀察從 Host A 及 Host B 抓取到的封包 問題與討論 – 觀察比較從 Host A eth0 抓取封包和從 Host B eth0 抓取的封包, 是否相同?為什麼? – 在本實驗中若停用 promiscuous mode 會有怎樣的結果 ? – 倘若由 Host B 選取不同介面來抓取封包 ( 例如: eth1 或 eth2) , 抓取到的封包是否相同?為什麼?
p.30 實驗 3.2 了解 Hub 與 Ethernet Switch 的差異 實驗目的 了解 Hub 與 Ethernet Switch 的差異 了解 broadcast domain 與 collision domain 的差異
p.31 實驗架構圖
p.32 Step 1: 實驗環境設定 設定 NetGuru Ⅱ的三台 host –Host A ifconfig eth netmask –Host B ifconfig eth netmask –Host C ifconfig eth netmask
p.33 Step 2: 同 Collision Domain 內測試 NetGuru Ⅰ的 Host B 和 NetGuru Ⅱ的 Host B – 開啟 Ethereal , interface 選 eth0 以觀察下步驟之封包 由 NetGuru Ⅰ的 Host A ping (NetGuru Ⅰ 的 Host C) 比較兩個 Ethereal 所抓取到的封包,可否得到 ICMP 封包?可否得到 ARP 封包?為甚麼?
p.34 Step 3: 同 Broadcast Domain 不同 Collision Domain 間測試 NetGuru Ⅰ的 Host B 和 NetGuru Ⅱ的 Host B – 開啟 Ethereal , interface 選 eth0 以觀察下步驟之封包 由 NetGuru Ⅰ的 Host A telnet (NetGuru Ⅱ的 Host C) 比較兩個 Ethereal 所抓取到的封包,可否得到 ICMP 封包?可否得到 ARP 封包?為甚麼? 問題與討論 – 請辨別本實驗的 Broadcast Domain 與 Collision Domain