iT邦幫忙

2024 iThome 鐵人賽

DAY 29
0

想要獲取icmp封包我們可以直接使用ping指令來獲取,例如:ping www.hinet.net

接著到wireshark擷取封包,而由於ping指令是使用Internet Control Message Protocol協議,所以我們可在filter輸入icmp來過濾與ping指令相關的封包

發送ping時主要會有以下封包
image370
可看到分別為DNS和ICMP,主要是因為ping指令主機會先去DNS獲取www.hinet.net網域的IP接著再利用ICMP進行request和reply的關係。

Frame和Ethernet II以及IPv4的部分就不再說明了,與前面幾天的內容大致上一樣。讓我們直接進到Internet Control Message Protocol(ICMP)的說明

上述圖中可看到以下相關資訊:

  • 類型 (Type): 8 (Echo (ping) request),這表示該封包是一個ping請求。
  • 代碼 (Code): 0,這是與封包類型相關的附加信息。在這裡,代碼0與ping請求相關。
  • 校驗和 (Checksum): 0x3602,這是用於檢查封包是否在傳輸過程中出現錯誤的校驗和。在這裡,校驗和的狀態是正確的。
  • 識別碼 (Identifier): 這是用於識別每個ICMP請求的唯一ID。在這裡,識別碼有兩種表示方式,分別是大端(BE)和小端(LE)。
  • 序列號 (Sequence Number): 這是用於識別每個ICMP請求的序列號。在這裡,序列號有兩種表示方式,分別是大端(BE)和小端(LE)。
  • 時間戳 (Timestamp from icmp data): 這是封包的時間戳,表示封包的發送時間。
  • 數據 (Data): 這是封包的數據部分,長度為40個字節。

而回應封包也是類同的
image372
同樣有:

  • 類型 (Type): 0 (Echo (ping) reply),這表示該封包是一個ping回應。
  • 代碼 (Code): 0,這是與封包類型相關的附加信息。在這裡,代碼0與ping回應相關。
  • 校驗和 (Checksum): 0x3e02,這是用於檢查封包是否在傳輸過程中出現錯誤的校驗和。在這裡,校驗和的狀態是正確的。
  • 識別碼 (Identifier): 這是用於識別每個ICMP請求的唯一ID。在這裡,識別碼有兩種表示方式,分別是大端(BE)和小端(LE)。
  • 序列號 (Sequence Number): 這是用於識別每個ICMP請求的序列號。在這裡,序列號有兩種表示方式,分別是大端(BE)和小端(LE)。
  • 回應時間 (Response time): 7.279 ms,這是從發送ping請求到收到ping回應的時間。
  • 時間戳 (Timestamp from icmp data): 這是封包的時間戳,表示封包的發送時間。
  • 數據 (Data): 這是封包的數據部分,長度為40個字節。

接著明天就是做後一天了,我們會再進行一次整體的過程分析,讓大家更了解封包的作用。


上一篇
Day28 - DNS封包分析實例
下一篇
Day30 - 過程分析
系列文
Packet流量密碼:透析虛擬化網路的封包世界30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言