MQTTをパケットトレースする
ネットワークアナライザであるWiresharkは現在1.12.0がリリースされており、MQTTにも対応しています(図7)。 皆様の環境に合わせてパッケージをダウンロードしインストールしてください。
それではMQTTのプロトコル詳解を理解するため、Wiresharkを起動しパケットキャプチャを開始しましょう。
まずInterface Listからインターネットに接続しているインターフェースを選び、「Start」を押してキャプチャを開始します(図8)。
次に、先ほどと同じくMQTTデモ環境であるtest.mosquitto.orgの1833番ポートに「SSLなし」で接続します。
C:\test> py unencrypted-mqtt.py Connected with result code 0
それではWiresharkのパケットキャプチャを停止して、じっくりMQTTのプロトコル詳解を見ていきましょう。前述しましたがWiresharkはMQTTプロトコル解析にも対応していますので、取得されたパケットキャプチャにも適用してみましょう。具体的には右クリックから「Decode As」をまず選びます(図10)。
つづいて、Transport層のデコーダにMQTTを選択します(図11)。 これでMQTT上でのやり取りを目で確認することができます。
実際にMQTTパケット解析結果の一つを見てみましょう(図12)。
ご覧のようにMQTT(MQ Telemetry Transport Protocol)のパケット内容のデコードが完了しています。IoT(Internet of Things)は「500億台がつながる未来!」と壮大なビジョンが描かれています。それに接続されるセンサデバイス数や実装種類も年々多様になっていきます。そのような中で、しっかりとシステム環境を通信プロトコルレベルで安定化させていくことが日増しに重要になっていくことでしょう。現在始まったばかりのIoT(Intenet of Things)ではありますが、いまの早い段階から、新しいプロトコルへの正しい理解を深めておくことは極めて重要だと考えます。
次回予告
さて次回は、MQTTプロトコル詳解をより踏み込み、来るべきIoT(Internet of Things)時代に知っておくべき正しい知識について見ていきます。
この記事は参考になりましたか?
既に会員の方はを行ってください。
- この記事の著者
-
松本 直人(マツモト ナオト)
1996年より特別第二種通信事業者のエンジニアとしてインターネット網整備に従事。その後システム・コンサルタント,ビジネス・コンサルタントを経て2010年より,さくらインターネット株式会社 / さくらインターネット 研究所 上級研究員。(2016年より一時退任)研究テーマはネットワーク仮想化など。3~5年先に必要とされる技術研究に取り組み、世の中に情報共有することを活動基本としている。著書: 『モノのインターネットのコトハジメ』,『角川インターネット講座 ~ビッグデータを開拓せよ~』など多数。情報処理学会 インターネットと運用技術研究会 幹事
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
この記事は参考になりましたか?
この記事をシェア

