SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

システム環境の明後日を支える新技術

IoT時代を支えるプロトコル「MQTT」(前編)

システム環境の明後日を支える新技術(4)

MQTTをパケットトレースする

 ネットワークアナライザであるWiresharkは現在1.12.0がリリースされており、MQTTにも対応しています(図7)。 皆様の環境に合わせてパッケージをダウンロードしインストールしてください。

図7. Wiresharkのダウンロードページ
図7. Wiresharkのダウンロードページ

 それではMQTTのプロトコル詳解を理解するため、Wiresharkを起動しパケットキャプチャを開始しましょう。

 まずInterface Listからインターネットに接続しているインターフェースを選び、「Start」を押してキャプチャを開始します(図8)。

図8. Wiresharkの起動とパケットキャプチャの開始方法
図8. Wiresharkの起動とパケットキャプチャの開始方法

 次に、先ほどと同じくMQTTデモ環境であるtest.mosquitto.orgの1833番ポートに「SSLなし」で接続します。

図9. MQTT Pythonライブラリを使ったClient/Subscriber接続の実行例
C:\test> py unencrypted-mqtt.py
Connected with result code 0

 それではWiresharkのパケットキャプチャを停止して、じっくりMQTTのプロトコル詳解を見ていきましょう。前述しましたがWiresharkはMQTTプロトコル解析にも対応していますので、取得されたパケットキャプチャにも適用してみましょう。具体的には右クリックから「Decode As」をまず選びます(図10)。

図10. WiresharkによるMQTTパケット解析手順 その1
図10. WiresharkによるMQTTパケット解析手順 その1

 つづいて、Transport層のデコーダにMQTTを選択します(図11)。 これでMQTT上でのやり取りを目で確認することができます。

図11. WiresharkによるMQTTパケット解析手順 その2
図11. WiresharkによるMQTTパケット解析手順 その2

 実際にMQTTパケット解析結果の一つを見てみましょう(図12)。

図12. WiresharkによるMQTTパケット解析手順 その3
図12. WiresharkによるMQTTパケット解析手順 その3

 ご覧のようにMQTT(MQ Telemetry Transport Protocol)のパケット内容のデコードが完了しています。IoT(Internet of Things)は「500億台がつながる未来!」と壮大なビジョンが描かれています。それに接続されるセンサデバイス数や実装種類も年々多様になっていきます。そのような中で、しっかりとシステム環境を通信プロトコルレベルで安定化させていくことが日増しに重要になっていくことでしょう。現在始まったばかりのIoT(Intenet of Things)ではありますが、いまの早い段階から、新しいプロトコルへの正しい理解を深めておくことは極めて重要だと考えます。

次回予告

 さて次回は、MQTTプロトコル詳解をより踏み込み、来るべきIoT(Internet of Things)時代に知っておくべき正しい知識について見ていきます。

この記事は参考になりましたか?

連載通知を行うには会員登録(無料)が必要です。
既に会員の方はを行ってください。
システム環境の明後日を支える新技術連載記事一覧

もっと読む

この記事の著者

松本 直人(マツモト ナオト)

1996年より特別第二種通信事業者のエンジニアとしてインターネット網整備に従事。その後システム・コンサルタント,ビジネス・コンサルタントを経て2010年より,さくらインターネット株式会社 / さくらインターネット 研究所 上級研究員。(2016年より一時退任)研究テーマはネットワーク仮想化など。3~5年先に必要とされる技術研究に取り組み、世の中に情報共有することを活動基本としている。著書: 『モノのインターネットのコトハジメ』,『角川インターネット講座 ~ビッグデータを開拓せよ~』など多数。情報処理学会 インターネットと運用技術研究会 幹事

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/8000 2014/09/16 14:00

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー