如何访问Lua中的其他图层字段点击监听器或点击更高层?

时间:2011-01-27 10:15:57

标签: lua wireshark

使用Lua对跟踪进行一些统计操作。每个IP数据包可以有多个TCAP,每个TCAP可以有多个CAP操作,如

IP {[SCTP-M3UA-SCCP-TCAP-CAP,CAP] [SCTP-M3UA-SCCP-TCAP-CAP,CAP,CAP]}

现在我想访问整个树或在Lua监听器点击TCAP层中以某种方式迭代。这种迭代的目的是跟随TCP流,因为事务ID保存在TCAP层中,而操作和Camel(CAP)层序列中的参数应该被考虑。

如果获取较低层数据部分,如何在侦听器中访问解剖器树或解剖上层?

例如,节点ID进入最高层(CAP)中的1个新会话的第一次操作以及同一数据包中的另一个会话。然后另一个需要计数的参数出现在另一个操作/数据包中,而要检查的TCAP中的相同TID是否属于同一个节点。

1 个答案:

答案 0 :(得分:0)

这不是对您的问题的回复,只是提示。

您应该使用数组作为字段提取器而不是普通值。 例如:

tap_diameter = nil
diaSessionIdExtr = Field.new("diameter.Session-Id")
tap_diameter = Listener.new("frame", "diameter && !tcp.analysis.retransmission && !tcp.analysis.lost_segment")

function tap_diameter.packet(pinfo,tvb,userdata)
    local answers = {diaSessionIdExtr()}  -- this is how to do it
    for i in pairs(answers) do
       debug(answers[i])
    end
end