私はluaスクリプトでプロトコルのためのdissactorを書いています。ディッサクタは正常に動作しています。しかし、私はdissactorファイルで1つのアップデートを知りたい。luaのdissactorでProtofield.string()関数の引数としてテーブルデータを渡す方法は?
p_abcd = Proto("abcd", "ABCD")
私はさまざまな種類のメッセージ用にテーブルを作成しました。以下はテーブルです -
local message_types = {
[1] = "MAC ID",
[2] = "AP MODEL NAME",
[3] = "AP SERIAL NUMBER",
[4] = "CAUSE",
[5] = "AP STATE",
[6] = "AP SOFTWARE VERSION",
[7] = "AP_IP_ADDRESS"
}
以下はこのプロトコールのために作成したもので、これをフィールドとして登録しました。
local attribute_type = ProtoField.string("abcd.message_type", "Attribute Type")
p_abcd.fields = {attribute_type}
tree_attribute:add(attribute_type, data(index, 2), message_types[data(index, 2):int()])
iは、任意のメッセージフィールドにWiresharkのにフィルタを適用する場合、それはすべてのメッセージタイプのフィルタ値として「abcd.message_type = some_valve」を表示します。
Iは、各メッセージタイプに対して別々protofieldを作成せずに、「abcd.mac_id = some_value」MAC IDのためように、異なるメッセージタイプに応じて、このフィルタ値を表示します。
これはmessage_typesテーブルの助けを借りて可能ですか?