使用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是否属于同一个节点。
答案 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