Slide 1

Slide 1 text

私の考える SORACOM Peek の使いどころ 3 選 SORACOM UG Online #14 〜 ソラカメ API & 行く年来る年 〜 Dec. 13, 2022 株式会社ソラコム Customer Reliability Engineer 加納 峻佑 (kanu)

Slide 2

Slide 2 text

自己紹介 加納 峻佑 (kanu) Customer Reliability Engineer ・今年の抱負 体重を 10 kg 落とすこと。 今マイナス 8 kg まで来ています。 ・好きな SORACOM サービス SORACOM Beam SORACOM Napter SORACOM Peek

Slide 3

Slide 3 text

SORACOM Peek とは? SORACOM の SIM を利用した通信時に IP パケットをキャプチャ するサービスです。

Slide 4

Slide 4 text

キャプチャしたパケットを確認する

Slide 5

Slide 5 text

パケットキャプチャは敷居が高い・・・! キャプチャできた!で・・・? こんなふうに感じている方もいるかも

Slide 6

Slide 6 text

SORACOM Peek の使い方 3 選

Slide 7

Slide 7 text

その 1 どの通信のデータ量が多いのかを確認する

Slide 8

Slide 8 text

No content

Slide 9

Slide 9 text

No content

Slide 10

Slide 10 text

No content

Slide 11

Slide 11 text

その 2 データが SORACOM プラットフォーム まで届いているのかどうかを確認する

Slide 12

Slide 12 text

サーバーまでデータが 届かない! SORACOM までは届い ているの?

Slide 13

Slide 13 text

こんな方法もあります SIM のデータ通信量を確認する。 (Unified Endpoint にデータを送信 している場合は) Harvest Data で 確認する。

Slide 14

Slide 14 text

その 3 処理がどこで停止しているのかを確認する

Slide 15

Slide 15 text

やりたかったこと Scapy というツールを利用して SORACOM Harvest Data に TCP でデータを送信したい

Slide 16

Slide 16 text

Scapy とは パケットを生成・送信したりできるツール

Slide 17

Slide 17 text

例えば、 sr1(IP(dst="pong.soracom.io")/ICMP()) で pong.soracom.io に ping できる。

Slide 18

Slide 18 text

やりたかったこと SORACOM Harvest Data との間で、 3 ウェイハンドシェイクで TCP コネクションを確立して、 データを送信して、 FIN パケットを送信して TCP コネクションを終了する。

Slide 19

Slide 19 text

スクリプト

Slide 20

Slide 20 text

届かない!!

Slide 21

Slide 21 text

パケットキャプチャ結果の抜粋 ①、② は SORACOM Harvest Data のエントリポイント (harvest.soracom.io) の名 前解決です。 ③ はデバイスから SORACOM Harvest Data への SYN の送信です。 ④ は SORACOM Harvest Data からデバイスへの SYN/ACK の返却です。 ここまでは OK。問題は ⑤ です。 デバイスから RST パケットを送信して TCP コネクションを強制終了している。

Slide 22

Slide 22 text

原因は OS の介入 iptables で無理やり RST パケットを 送信できないようにするという 漢気溢れる回避策

Slide 23

Slide 23 text

無事送信できました

Slide 24

Slide 24 text

私は Peek をこう使ってデバッグしたよ! という方、是非教えてください。 なお、今日の内容は SORACOM Advent Calendar 2022 13 日目の記事です。 https://qiita.com/kanuu0504/items/a56d95ba6623117e9c48

Slide 25

Slide 25 text

いっちょパケットキャプチャしてみっか!

Slide 26

Slide 26 text

IoTの「つなぐ」を簡単に You Create. We Connect.