2017-03-16 32 views

答えて

1

frame.interface_idと呼ばれるフレームフィールドがあります。これはWireshark 1.8.0以降、Wireshark Display Filter Referenceページに記載されています。このページにはインターフェイスのIDが表示されます。列挙から1を引くと、IDはdumpcap -D(またはtshark -D)の結果に示された列挙と一致しているようです。言い換えれば、dumpcapとtsharkはそれぞれ-Dの出力で1から始まるインターフェイスをカウントしますが、Wiresharkは0から数えているようです。この不一致は私のバグだと思われ、Wireshark bug reportをこの矛盾した動作に対して提出することをお勧めします。

EDIT(コメントを使用して一貫した方法でこれをフォーマットすることは不可能と思われるので):

フィールドにアクセスするには、次のように表示、フィールド抽出を使用します。https://www.wireshark.org/docs/wsdg_html_chunked/lua_module_Field.html

例えば:

local fe_interface_id = Field.new("frame.interface_id") 

function foo.dissector(buffer, pinfo, tree) 
    local f_interface_id = fe_interface_id() 
    pinfo.cols.info:append(", Interface ID=" .. tostring(f_interface_id)) 
end 
+0

はFYI:私はバグレポートを提出しました:https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=13496 –

+0

バグのコメントが示すように、 'frame.interface_id'フィールドを表しの価値'{tshark、dumpcap} -D'には対応していないpcapngファイルに書き込まれるインタフェースです。指定された最初のインターフェイスには、インデックス0、次のインデックス1などが割り当てられます。 'frame.interface_id'変更のこの動作が見られるかどうかは分かりませんが、私はそれを疑います。したがって、その価値が何を表しているかを知る必要があります。 –

+0

あなたの答えとバグレポートに感謝します。私が解剖学者の中のフレームフィールドにどのようにアクセスできるか教えていただけますか? (すなわち、 'Proto.dissector(buffer、pinfo、tree)'関数内で)。具体的には、この値を 'pinfo.cols.info'に表示されているものを変更するために使用したいと思います。 – zeeMonkeez

関連する問題