SORACOM Advent Calendar 2020 の23日目の記事です。
2021/05/28追記
本日、SIM単体でパケットキャプチャーできる「SORACOM Peek for SIM」の提供が開始されました。
Peekがより使いやすくなりそうです。
これもやってみるかー。
なので、この記事の内容は、Peek改め「SORACOM Peek for VPG」の内容になります。
なお、「SORACOM Peek for SIM」については、本日木村さんがQiitaの記事を書かれていますのでそちらをご覧ください(他人の褌)。
はじめに
今年のソラコムさんのIoTオンラインカンファレンス。SORACOM Discovery 2020 ONLINEで、以下の2つのサービスが発表されました。
SORACOM Orbitについては、
SORACOM Orbit試してみた 〜SORACOM GPS マルチユニット編〜
SORACOM Orbit試してみた 〜SORACOM LTE-M Button for Enterprise編〜
SORACOM Orbit試してみた 〜Hosted Funkもどきを実装する〜
と記事を書かせていただいていますが(そういえば、下書きのまま進んでいないのもある)、
SORACOM Peekについては、試していないなと、今回、何を書こうかと考えていた時に思いましたので、
今回は、Peekを試してみた話です。
ボタンネタじゃなくてすみません(出てはくるけど)
SORACOM Peek とは。
Peek公式ページにも記載してありますが、
「IoT SIM を利用するデバイスの通信時に SORACOM プラットフォームを通過する IP パケットをキャプチャするサービス」
です。
詳細は、
公式ページや、SORACOM UG Online #1で開発者の福島さんが登壇された際の資料をご覧ください。
超簡単 誰でもとれる pcap: SORACOM Peek でパケットキャプチャ/SORACOM Peek-UG Online #1
アプリケーション寄りの人なので、あまりパケットキャプチャーとかしない人ですが、
Wiresharkを使ってキャプチャーしたものを見るんだなーっていうことは理解しているので、頑張ってみます。
ただ、Peekを使うためには、ある設定が必要です。
それはSORACOM VPGです。
VPG不要のSIM単位でのPeekを開発中(2020/09/24時点)とのことですが、ああ、ソラコムサンタの時期なので、クリスマスあたりに登場するかもしれませんね。
SORACOM VPG
私個人では、これまで使うことのなかったVPG(Virtual Private Gateway)。
ついにそれに手を出すことなりました。
そういう意味では、Canal、Door、Direct、Gate、Junctionといったサービスについても実際には使ったことはないですね。
さて、VPGについても、
SORACOM Discovery 2020 ONLINEにて、Type-EとType-Fの2つのタイプが登場しました。
Type-EとType-Fの違いについては、公式ページからの転載ですが、
以下になっています。
Type-Eをアウトバウンドフィルターなどの共通オプション機能のみ、Type-Fでは、それに加えて、Canalなどのサービスが使えるようになっているようです。
SORACOM Peekについては両方とも使えます。
VPGを使うと、以下のような料金がかかります。
こちらも料金ページからの転載です。
セットアップ料金がそれぞれかかります。Type-EとType-Fでもだいぶ変わるんです。はい。。。
VPG登場当初は、セットアップ料金が9800円だったと記憶してますが、だいぶお安くなりました。
SORACOM VPGを設定してみる
コンソールにログインし(CLIでできないとダメだなぁ。。。と思う日々)、左メニューのVPGを選択します。
タイプについては、E、Fの他にCも選べますが、2021年8月以降は作成できなくなるそうです(利用はできる。)
現状ではType-Fが高機能なので、フル機能を使う場合は、Type-Fを選ぶといいと思います。
今回は、Type-Eを選びます。
インターネットゲートウェイは、Type-C/Fだと選択肢として選べますが、Type-Eでは選択不可でデフォルトありになります。
そして、おもむろに「作成」ボタンをクリックします。
料金ページにも記載がありますが、VPG料金の他、セットアップ料金がかかります。
実はやらかした。
今回の場合、Type-Eを使えばよかったのですが、
完全にドキュメントちゃんと読め事案というか、完全にType-EとType-F逆に考えていたので、
とりあえず一回設定してみるかーって設定した時に、
誤ってType-Fを設定してしまったんですね。
VPC Peering(Canal)とかできるんだー、EC2繋いでみるかーとか思った時に気づけよって話だったんですが、
あとで、ドキュメント見直して気づく始末。。。
なので、セットアップ料金が980円かかりました(泣)
勉強料だと思うことにします。
SIMグループ追加
作成されたVPGを選択し、SIMグループを選択します。
基本設定タブで、「グループを追加」ボタンを押して、グループを追加します。
VPGに所属させるグループを選択して、
今回追加したSIMグループには、
- LTE-M Button Plus
- GPSマルチユニットSORACOM Edition
-
特定地域向け IoT SIM(plan-D)
- このSIMはモバイルWi-Fiルーターにセットしてあります。2枚挿しできるモバイルWi-Fiルーターなので、もう1枚も特定地域向け IoT SIM(plan-D)が挿してあります。こちらはVPGにはいないSIMです。
ここまでできれば、Peekを使うことができます。
なお、Type-Fでは、VPCピア接続、つまりCanalの設定もできます(汗)
VPC Peeringなので、この設定をする場合は、IPアドレスレンジが被らないようにしましょう(汗)
Peekを試す
では、さっそくPeekを試してみます。
先ほどの設定画面で、「パケットキャプチャ」タブを選択して、「キャプチャを開始」ボタンをクリックします。
ファイル名のプレフィックスとキャプチャ時間を指定して、「キャプチャを開始」ボタンをクリックします。
キャプチャ時間は、最大で86400秒(24時間)が設定できるようです。
では、キャプチャー開始。
ステータスが「REQUESTED」から、
終わると、「DONE」になります。「リンクを取得」のリンクをクリックして、ファイルリンクを生成します。
「ダウンロード」リンクをクリックして、ファイルをダウンロードします。
これだけ?って感じでした。すごく簡単。
Wireshark
ダウンロードしてきたデータをWiresharkでみてみます。
そもそもちゃんと見方をわかっていないので、キャプチャーと所感だけ。
LTE-M Button Plus
**(2020/12/25追記)**DNSパケットがあるはずという指摘があり、確認したところ取れていたので追加しました。 @1stship さんありがとうございます!
上記のパケットキャプチャーの1時間前に押した時のキャプチャーなんですが、毎回DNS見に行くわけではないのかな?と推測してますが、定期的に見てみないとダメかも(再チャレンジか?w)
GPSマルチユニットSORACOM Edition
DNSにmetadata.soracom.ioを引きに行って、そことやりとりしてますね。あれ、pong.soracom.ioと一緒ですね。
送信終わると、デバイス側が寝るので、応答返そうとして、エラーになって、リトライしてるみたいですね。
特定地域向け IoT SIM(plan-D)
私物のMacbook ProをWifiモバイルルーターに繋いで、
pong.soracom.ioに対して、ping飛ばしたり、ソラコムさんのHPみたりしました。
途中で、WifiモバイルルーターのSIM入れ替えて、パケットキャプチャに出てこないことを確認したり、
Wifiモバイルルーター自身がfirmwareの更新チェック行っているのが見えたり、
Macが(多分)appleのAPI呼び出したりするのが見えて、ちょっと面白かったです。
勝手に通信するんじゃねえーって思ったのはホントです。
中身は今度ゆっくりみてみます(すみません)
とはいえ、味方の初歩などは、以下のサイトを参考しました。
Wiresharkの基本的な使い方
【初心者向け】wiresharkの簡単な使い方,画面の見方~ファイル保存,通信量解析/トラブルシュートの例~
後片付け
とりあえず一旦Peekでパケットキャプチャーできたので、VPGを削除しておきます。
一番下の「このVPGを削除」エリアにある「このVPGを削除」ボタンをクリックします。
なお、アクティブなセッションがあると、こんなエラーがでます。
まとめ
SORACOM Peek、簡単にできるという話でしたが、ほんと簡単にできました。
VPG外でつかえるようになったら
どちらかというと、取得したパケットの中身を理解するほうが大変だったかもです(完全理解したとは絶対にいえない)。
VPGにしろ、Peekにしろ、利用料金かかるので、
最後に利用料金を載せておきます。