ストリーミング寺子屋

音声・動画のストリーミング機能を
開発するエンジニアのための
実践的なナレッジベース

【開発環境ほか1-3】WiresharkでRTPや独自フォーマットのストリーミングデータを解析する手法を教えて下さい。

Wiresharkには様々なプラグインが存在し、これらを使用してWiresharkの設定を行うだけで解析が可能になります。
RTPのようにデフォルトポートを利用せず、セッション開始時にポート番号を決定するような場合では、パケットがどのようなプロトコルであるか明示的に紐付けることで、その通信をRTPとして解析することが可能となります。

RTPの解析手順

RTPのように具体的にRTPを解析する手順を説明します。

  1. Wiresharkのメニューバーから[分析]-[有効にしたプロトコル]を選択し、プロトコルの一覧から「RTP」の全てのプロトコル解析を有効にする。(図1)
    標準状態では「RTP over UDP」等一部のパケットがRTPとして認識されない状態となっているため、こちらの設定から有効化できます。
  2. Wiresharkのメニューバーから[電話]-[RTP]-[RTPストリーム]を選択することで、各RTPストリームのパケット遅延及び損失率等の詳細が確認できます。RTPでストリーミングしている映像が遅延したり乱れる等の場合、こちらで該当のストリーム分析を実施します。(図2)
    分析結果に関し、以下のようなポイントを確認することになります。
    • SSRCが正しいか
    • シーケンス番号が飛んでいないか
    • RTPフレームの送信間隔は適切か
    • 各RTPフレームの最終パケットにマーカビットが設定されているか
図1.WireSharkの解析プロトコル選択画面(当社スクリーンショット)
図2.WireSharkのストリーム分析実行画面(当社スクリーンショット)

Wiresharkが対応していないデータの解析

独自フォーマットのようにWiresharkが対応していないデータを解析する場合は、解析用のプラグインを導入することで解析できるようになります。
公開・配布されているプラグインも存在しますし、lua言語を使用して、「Dissector」と呼ばれるパケット解析用プラグインを自分で作成することも可能です。

Q&A

製品情報