Soracom

Users

ドキュメント

IoT SIM のパケットをキャプチャする

SORACOM Peek (以降、Peek) の「パケットキャプチャセッション」を作成すると、一定時間 IoT SIM のパケットをキャプチャできます。

パケットキャプチャセッションが終了すると、pcap 形式のパケットキャプチャファイルをダウンロードできます。パケットキャプチャファイルは、Wireshark などのパケットアナライザで解析できます。

準備 

あらかじめ、以下の準備をしてください。

ステップ 1 : 新しいパケットキャプチャセッションを作成する 

  1. SORACOM ユーザーコンソール にログインし、パケットをキャプチャする IoT SIM にチェックを入れて、[操作][パケットキャプチャ] の順にクリックします。

    SIM 詳細画面の [パケットキャプチャ] タブが表示されます。

  2. [キャプチャを開始] をクリックします。

    「パケットキャプチャセッションを開始」画面が表示されます。

  3. 以下のパラメータを設定して、[キャプチャを開始] をクリックします。

    項目説明
    [ファイル名 (PREFIX)]パケットキャプチャファイルのプレフィックス (先頭に付与する文字列) を指定します (最大 100 文字)。使用できる文字は、半角英数字 (azAZ09) または記号 (_-) です。
    [キャプチャ時間 (秒)] *60 ~ 86400 秒 (24 時間) の範囲で指定します。

    パケットキャプチャセッションが作成され、「パケットキャプチャセッション」画面が表示されます。

パケットキャプチャセッションは IoT SIM ごとに 1 件しか作成できません
同一の IoT SIM で、すでにパケットキャプチャセッションが作成されている場合は、新しいパケットキャプチャセッションは作成できません。

ステップ 2 : パケットキャプチャセッション一覧を確認する 

作成されたパケットキャプチャセッションは、SIM 詳細画面の [パケットキャプチャ] タブに表示されます。表示される内容は以下のとおりです。

項目説明
作成日時パケットキャプチャセッションの作成が要求された日時です。
開始日時パケットキャプチャセッションが開始された日時です。
ステータス

パケットキャプチャセッションの状態です。以下のいずれかが表示されます。

  • REQUESTED: パケットキャプチャセッションの作成がリクエストされました。
  • ACCEPTED: パケットキャプチャセッションを準備中です。
  • CAPTURING: パケットがキャプチャされています。このステータスのときに SORACOM プラットフォームを通過したパケットがキャプチャされます。
  • POSTPROCESSING: パケットキャプチャが終了し、パケットキャプチャファイルを準備中です。
  • STOPPED: パケットのキャプチャ中に強制停止されました。停止されるまでにキャプチャされたパケットが記録されているパケットキャプチャファイルをダウンロードできます。
  • DONE: パケットキャプチャセッションが正常に終了しました。パケットキャプチャファイルをダウンロードできます。
  • FAILED: パケットキャプチャセッションの作成に失敗しました。もう一度パケットキャプチャセッションを作成してください。
ファイル名 (prefix)パケットキャプチャファイル名のプレフィックス (先頭に付与する文字列) です。
キャプチャ時間 (秒)パケットをキャプチャする時間 (秒) です。
パケットキャプチャファイルパケットキャプチャファイルが準備できると、[リンクを取得] と表示されます。[リンクを取得][ダウンロード] の順にクリックすると、パケットキャプチャファイルがダウンロードできます。
操作パケットキャプチャセッションを削除、または停止できます。

パケットキャプチャセッションは自動的に削除されます

パケットキャプチャセッションは、作成後 7 日 (7 × 24 × 60 × 60 秒) で自動的に削除されます。パケットキャプチャセッションが削除されると、パケットキャプチャファイルはダウンロードできなくなります。削除される前に、ダウンロードしてください。

手動で削除するには、パケットキャプチャセッション一覧で [削除][削除] の順にクリックします。

IoT デバイスのセッションの状態によってパケットキャプチャセッションが開始されるタイミングが異なります

パケットキャプチャセッションを作成したときに、IoT デバイスが SORACOM プラットフォームとのセッションを作成済みかどうかで、パケットキャプチャセッションが開始されるタイミングが異なります。

IoT デバイスのセッションの状態説明
IoT デバイスがセッションを作成済みの場合パケットキャプチャセッションを作成するとすぐに REQUESTEDACCEPTEDCAPTURING の順にステータスが変わり、パケットのキャプチャが開始されます。その結果、「作成日時」と「開始日時」が同じ日時になります。
IoT デバイスがセッションを切断していた場合次回 IoT デバイスがセッションを作成したときに初めて REQUESTEDACCEPTEDCAPTURING の順にステータスが変わり、パケットのキャプチャが開始されます。その結果、「作成日時」と「開始日時」が異なる日時になります。

ステップ 3 : パケットを送信する 

作成したパケットキャプチャセッションのステータスが REQUESTED に変わったことを確認し、ステップ 1 : 新しいパケットキャプチャセッションを作成する でチェックを入れた IoT SIM を取り付けた IoT デバイスで通信してください。

SORACOM プラットフォームにパケットが届くとパケットのキャプチャが開始され、ステータスが CAPTURING に変わります。

たとえば、SORACOM IoT SIM を USB ドングルなどで取り付けた Linux デバイスであれば、以下のコマンドで SORACOM プラットフォームにパケットを送信できます。

$ ping -c 4 pong.soracom.io

パケットキャプチャセッションを途中で停止する 

  1. SIM 詳細画面の [パケットキャプチャ] タブをクリックし、停止するパケットキャプチャセッションの [停止][停止] の順にクリックします。

    パケットキャプチャセッションが停止され、ステータスの表示が POSTPROCESSING に変わり、続けて STOPPED または DONE に変わります。

  2. ステータスの表示が変わらない場合は、[パケットキャプチャ] タブの右上にある リフレッシュボタン (リフレッシュボタン) をクリックします。

停止したパケットキャプチャセッションは再開できません。

ステップ 4 : パケットキャプチャファイルをダウンロードする 

パケットキャプチャセッションのステータスが DONE または STOPPED になると、pcap 形式のパケットキャプチャファイルをダウンロードできます。

パケットキャプチャセッションは自動的に削除されます
パケットキャプチャセッションは作成後、7 日で自動的に削除されます。削除されると、パケットキャプチャファイルはダウンロードできなくなります。削除される前に、ダウンロードしてください。
  1. SIM 詳細画面の [パケットキャプチャ] タブをクリックし、パケットキャプチャセッションの [リンクを取得] をクリックします。

    パケットキャプチャファイルのダウンロード URL が取得され、[ダウンロード] と表示されます。

  2. [ダウンロード] をクリックします。

    pcap 形式のパケットキャプチャファイルがダウンロードされます。

ステップ 5 : キャプチャしたパケットを確認する 

Wireshark で pcap 形式のファイルを確認する操作を説明します。Wireshark は Windows や Mac OS で利用できるアプリケーションです。あらかじめ、ダウンロードおよびインストールしてください。

  1. Wireshark を起動し、[ファイル][開く] の順にクリックし、ステップ 4 : パケットキャプチャファイルをダウンロードする でダウンロードした pcap 形式のファイルを選択します。

  2. 宛先やパケットの内容を調査します。

    Wireshark の操作方法については、Wireshark · Documentation を参照してください。

SORACOM CLI / SORACOM API の場合 

SORACOM CLI または SORACOM API を利用しても、IoT SIM のパケットをキャプチャできます。

  • SORACOM CLI を利用するには、あらかじめ SORACOM CLI をインストールし、認証情報を保存してください。詳しくは、SORACOM CLI をインストールする を参照してください。
  • SIM ID は、soracom sims list (Sim:listSims) で取得できます。

新しいパケットキャプチャセッションを作成する 

soracom sims create-packet-capture-session (Sim:createSimPacketCaptureSession) を使用します。

$ soracom sims create-packet-capture-session --sim-id {sim_id} --duration 300 --prefix "sim-peek-test"

パケットキャプチャセッション一覧を確認する 

soracom sims list-packet-capture-sessions (Sim:listSimPacketCaptureSessions) を使用します。

$ soracom sims list-packet-capture-sessions --sim-id {sim_id}
パケットキャプチャセッションを削除するには

soracom sims delete-packet-capture-session (Sim:deleteSimPacketCaptureSession) を使用します。

$ soracom sims delete-packet-capture-session --sim-id {sim_id} --session-id {session_id}

パケットキャプチャセッションを途中で停止する 

soracom sims stop-packet-capture-session (Sim:stopSimPacketCaptureSession) を使用します。

$ soracom sims stop-packet-capture-session --sim-id {sim_id} --session-id {session_id}

パケットキャプチャファイルのダウンロード URL を取得する 

soracom sims get-packet-capture-session (Sim:getSimPacketCaptureSession) を使用します。

$ soracom sims get-packet-capture-session --sim-id {sim_id} --session-id {session_id} --raw-output
  • --raw-output は、ダウンロード URL をそのまま利用できるようにするためのオプションです。
  • SORACOM API を利用するには、API キーと API トークンが必要です。詳しくは、API キーと API トークン を参照してください。
  • SIM ID は、Sim:listSims で取得できます。

新しいパケットキャプチャセッションを作成する 

Sim:createSimPacketCaptureSession を使用します。

$ curl -v -X POST https://api.soracom.io/v1/sims/{sim_id}/packet_capture_sessions \
-H "X-Soracom-API-Key: $X_SORACOM_API_KEY" \
-H "X-Soracom-Token: $X_SORACOM_TOKEN" \
-H "Content-Type: application/json" \
-d '{
  "duration": 300,
  "prefix": "sim-peek-test"
}'

パケットキャプチャセッション一覧を確認する 

Sim:listSimPacketCaptureSessions を使用します。

$ curl -v -X GET https://api.soracom.io/v1/sims/{sim_id}/packet_capture_sessions \
-H "X-Soracom-API-Key: $X_SORACOM_API_KEY" \
-H "X-Soracom-Token: $X_SORACOM_TOKEN"
パケットキャプチャセッションを削除するには

Sim:deleteSimPacketCaptureSession を使用します。

$ curl -v -X DELETE https://api.soracom.io/v1/sims/{sim_id}/packet_capture_sessions/{session_id} \
-H "X-Soracom-API-Key: $X_SORACOM_API_KEY" \
-H "X-Soracom-Token: $X_SORACOM_TOKEN"

パケットキャプチャセッションを途中で停止する 

Sim:stopSimPacketCaptureSession を使用します。

$ curl -v -X POST https://api.soracom.io/v1/sims/{sim_id}/packet_capture_sessions/{session_id} \
-H "X-Soracom-API-Key: $X_SORACOM_API_KEY" \
-H "X-Soracom-Token: $X_SORACOM_TOKEN"

パケットキャプチャファイルのダウンロード URL を取得する 

Sim:getSimPacketCaptureSession を使用します。

$ curl -v -X GET https://api.soracom.io/v1/sims/{sim_id}/packet_capture_sessions/{session_id} \
-H "X-Soracom-API-Key: $X_SORACOM_API_KEY" \
-H "X-Soracom-Token: $X_SORACOM_TOKEN"