モノのインターネットとネイティブIPv6通信
昔から言われていたことですが、ネイティブIPv6通信環境を検証するとき「アプリが対応していれば」ということが多々あります。今回のiPhone(iOS)環境でもまったく同じです。今回は、たまたま手元にあったiPhone(iOS)用のMQTTInspectorツールがネイティブIPv6通信環境でも動作したので、その使い勝手についてみていきましょう。
図12はiPhone(iOS)におけるMQTTInspectorの利用例です。「さくらのVPS」のネイティブIPv6通信環境の仮想サーバ上にMQTT Brokerを立て、iPhone(iOS)からMQTTInspectorを使って通信を行います。
特段の複雑なことはしていませんので、簡単に設定箇所とログについてみていきましょう。まず「さくらのVPS」のネイティブIPv6通信環境に仮想サーバを立て、そこにMQTT Brokerとしてmosquittoをインストールします。今回の設定ではIPv6環境でのみポートを開きますので、「bind_address ::」としておきます(図13)。
前述でも解説した通り、iPhone(iOS)に付与されるIPv6アドレスは、さまざまな通信環境により頻繁に変化します。図14は、その変化を簡単に図式化したログの抜粋です。MQTT Brokerへ接続してくるクライアントIDには変化がなくても、IPv6アドレスが3G/4Gの基地局切替などによって変化していることが分かります。
さて、最後に「ネイティブIPv6通信……端末のセキュリティは大丈夫か?」という関心を持たれている方もいるかと思いますので、iPhone(iOS)をネイティブIPv6通信環境からnmapしてみました(図15)。
65535ポートすべてをスキャンしたので、2,443秒(40分)という時間は掛かりましたが、結果として1つのTCPポート(iphone-sync 62078/tcp)のみ解放されていることが分かりました。
本連載ではセキュリティなどに関する内容には触れませんが、iPhone(iOS)におけるPort 62078の存在は古くから知られていたものなので、興味のある方は検索エンジンなどで調べていただければと思います。
次回予告
さて次回は、『いまさら聞けないモバイルとIPv6ネットワークのアレコレ(後編)』と題して、モバイル端末へのIPv6アドレスの割り当てメカニズムを解説していきます。ご期待ください。