パケットキャプチャをしよう ① (Ethernet)
初めに
前回のWiresharkのインストールの記事から1週間経ち、Wiresharkの使い方も少しずつ理解してきたので、パケットキャプチャを行い解析をしてみようと思いました。
今回解析を行うのは、Windowsの初期画面からgoogleを検索したときにキャプチャを行った約830個の中の1つのTCP通信のパケットです。
この記事では、データリンク層を解析します。
データリンク層
Ethernet2のフレームは、「プリアンブル」、「宛先/送信元MACアドレス」、「タイプ」、「Ethernetペイロード」、「FCS」から構成されている。
※Wiresharkでは「プリアンブル」と「FCS」は見れません。
Destinationについて
Destinationは、宛先(送りたいPC、サーバー)のMACアドレスが記載されている。
Chongqin_3b:cf:25 (ac:d5:64:3b:cf:25)となっており、Chongqinと調べると中国の重慶市がヒットするので、重慶市にあるサーバーに送信しているのかなと考えました。
Sourceについて
Sourceは、送信元(送ったPC、サーバー)のMACアドレスが記載されている。
Sourceの送信元MACアドレスはセキュリティのため伏せさせていただきます。
L/G Bitについて
L/G Bitは、記載されているMACアドレスがグローバルアドレスか、ローカルアドレスかを表している。
「0」 : グローバルアドレス
「1」 : ローカルアドレス
図1では、宛先MACアドレスと送信元MACアドレスの両方が「0」を表しているので、どちらもグローバルアドレスとなっている。
I/G Bitについて
I/G Bitは、記載されているMACアドレスがユニキャストアドレスか、マルチキャストアドレスかを表している。
「0」 : ユニキャストアドレス
「1」 : マルチキャストアドレス
※ 宛先のMACアドレスがすべて「1」の状態である「ff:ff:ff:ff:ff:ff」かつ、I/G Bitがマルチキャストを表す「1」の時は、ブロードキャストを表している。
図1では、宛先MACアドレスと送信元MACアドレスの両方が「0」を表しているので、どちらもユニキャストとなっている。
タイプについて
タイプには、ネットワーク層で使用しているプロトコルを表している。
図1では、IPv4(0x0800)と表記されているので、ネットワーク層でIPv4を使っていると表されている。
※IPv4以外にも、IPv6(0x86DD)や、ARP(0x0806)などもある。
※イーサネットではなく、IEEE802.3を使用するとタイプには、LLC(Logical Link Control)または、SNAP(Sub Network Access Protocol)などの情報が表示される。
最後に
今回の記事では、0と1の数字の列を意味のあるフレームに分けて、複数のシステムを経由した先にある宛先のシステムまでのパスのうちの隣接するシステムとの間の情報の流れの制御を行なうデータリンク層のパケットを解析してみました。
次回では、ネットワーク層のパケットを解析したいと思います。
参考文献
- マスタリングTCP/IP 入門編 第5版 竹下隆史・村山公保・荒井 透・苅田幸雄共著
- マスタリングTCP/IP 応用編 Philip Miller著 苅田幸雄監訳
- パケットキャプチャの教科書 みやたひろし著