0

打算用 Lua 对 trace 做一些统计操作。每个 IP 数据包可以有多个 TCAP,每个 TCAP 可以有多个 CAP 操作,例如

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

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

如果获取下层数据部分,如何访问侦听器中的解析器树或剖析上层?

例如,节点 ID 在最高层 (CAP) 中的 1 个新会话的第一次操作中与同一数据包中的另一个会话一起出现。然后另一个需要计数的参数来自另一个操作/数据包,同时要检查 TCAP 中的相同 TID 以确保它属于同一个节点。

4

1 回答 1

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
于 2011-10-05T15:24:19.807 回答