8
10

More than 3 years have passed since last update.

pingをWiresharkで確認してみた。

Posted at

wiresharkとは

ネットワークパケットをキャプチャすることが出来るフリーソフト
今回はwiresharkを使用して、pingがどのように行われているのか確認してみます。

wiresharkの使い方

アプリを起動すると以下の画面が表示され、画面内にネットワークデバイスが表示されます。
トップ画面.PNG

今回はイーサネット2を選択します。選択すると以下の画面が表示されます。
現在は通信を行っていないため、何も表示されていません。
ip選択時.PNG

pingで通信を発生させてみた

接続されているPCからpingを行うと以下のように表示されます。
今回はICMPのプロトコルを使用するため、フィルタリングしてICMPのみを表示させています。
pingは基本的に4回リクエストが行われます。
そのため、リクエストとそれぞれのリクエストに対するリプライが以下に表示されています。
(「ping」を「ping-n 1」にすると、4回のリクエストが1回になります。)

ping時_変更.PNG

データの確認方法

wiresharkではキャプチャしたパケットを選択すると下のほうにパケットの詳細とパケットのバイトが表示されます。
まずはリクエストを受信した場合のパケットを確認してみます。

今回はIPヘッダとICMPヘッダを確認してみます。
IPヘッダは以下の構造になっています。
ICMPのProtocol番号は1なので、1になってるはずです。
IPヘッダー.png

ICMPヘッダは以下の構造になっています。
ICMPパケット.png

wiresharkでIPヘッダを確認してみます。
背景が青くなっている箇所がIPヘッダです。
同じ構成になっていおり、プロトコルが1であることがわかります。
ICMP reply(1).png
ICMP reply(2).png

次にICMPヘッダを確認してみます。
背景が青くなっている箇所がICMPヘッダで、同じ構成になっています。
また、typeが8(エコー要求)であることがわかります。
typeは0(エコー応答)や3(宛先到達不能)など数字によって決まった意味があります。
ICMP reply(3).png
ICMP reply(4).png

まずは受信したリクエストに対するリプライを送信する場合のパケットを確認してみます。

wiresharkでIPヘッダを確認してみます。
背景が青くなっている箇所がIPヘッダで、同じ構成になっています。
先ほどリクエスト受信時のパケットと異なり、送信元アドレスと宛先アドレスが逆になっていることがわかります。
ICMP request(1).png
ICMP request(2).png

次にICMPヘッダを確認してみます。
背景が青くなっている箇所がICMPヘッダで、同じ構成になっています。
また、typeが0(エコー応答)であることがわかります。
ICMP request(3).png
ICMP request(4).png

おわりに

pingのような単純なコマンドでも、ヘッダーまで確認するとわからない点なども多くあったりします。
他にもネットワークプロトコルはたくさんあるので、色々なプロトコルをwiresharkで確認すると理解が深まるかもしれません。

8
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
10