2

tshark を使用して、diameter メッセージをフィルタリングおよび処理したいと考えています。私のキャプチャでは、1 つの TCP ヘッダー内に 3 つの直径メッセージがあることがわかります。私の使用例では、diameter メッセージで Result-Code を検索する必要があります。直径の仕様によれば、1 つの直径メッセージに複数の結果コードを含めることができます。直径メッセージに結果コードがない場合もあります。

このため、3 つの Diameter メッセージに対して結果コードが A、B、C の場合、どの結果コードがどの Diameter メッセージに属しているかを認識できません。

3 つの直径メッセージを分割するのに役立ついくつかのプラグイン/機能を適用することは可能ですか?

https://ask.wireshark.org/questions/4291/multiple-occurrences-filter-for-diameterに同様のトピックに関する古いチェーンがあることがわかりましたが、それがどのように行われるかについての答えはありません。

4

2 に答える 2

0

まず、Result-Code に関するあなたの仮定は間違っています。

RFC 6733 によると (3588 も同じことを言っています):

7.1. 結果コード AVP

Result-Code AVP (AVP コード 268) は Unsigned32 型で
、特定の要求が正常に完了したか
、エラーが発生したかを示します。
IETF 定義のDiameter アプリケーション仕様のすべての Diameter 応答メッセージには、1 つの Result-Code AVP が含まれている必要があります

Wireshark を使用すると、各回答を個別に表示でき、各回答にどの AVP が属しているかを簡単に確認できます。

于 2015-11-10T09:08:11.277 に答える
0

私はこれで Rajeev を 2 番目にします。大量の直径メッセージを分析する場合、マージされた直径メッセージを単一の TCP ペイロードで管理するのは扱いにくくなります。

例:

tshark -Tfields -e diameter.Session-Id -e diameter.Result-Code -e diameter.CC-Total-Octets -r mydiametercap.pcap -Y "diameter.Result-Code" > session-ids-and-results.txt

このコマンドにより、次の (抽象化された) 出力が得られることがあります。

<session-id-1>,<session-id-2>,<session-id-3><tab><many result codes (sometimes 3 per message)><tab><one value of total octets>

すべてのフィールドが同じ規則に従っているとは信じられないため、信頼できる解析アルゴリズムを使用して結果を確認することはできません。AVP (この直径の実装では非常にフラットな方法で解釈される) が MSCC 部分または完全に異なる部分に属している可能性があり、それらを分離するものがないと考えると、さらに悪いことになります。

誤解しないでください: tshark ルール... :-) ただ、それをさらに改善しようとしています。

于 2016-06-17T04:02:43.337 に答える