如何在 Lua tap listener 或者更高的图层中访问其他层的字段?

要在 Lua 中对跟踪文件进行统计操作。每个 IP 数据包可以有多个 TCAP,每个 TCAP 可能有多个 CAP 操作,如下所示:

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

现在我想要访问整个树或以某种方式在 Lua 监听器 tap 中迭代 TCAP 层。这种迭代的目的是因为交易 ID 在 TCAP 层中保持,而操作和参数在 Camel(CAP)层的序列中应该被考虑。

如何在监听器 tap 中访问分析器树或分析上层数据部分,如果得到了下层数据部分?

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

原文链接 https://stackoverflow.com/questions/4815075

点赞
stackoverflow用户409730
stackoverflow用户409730

这不是对你问题的回答,只是一个提示。

你应该使用数组来提取字段,而不是使用普通值。例如:

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()}  -- 这就是如何做到的
    for i in pairs(answers) do
       debug(answers[i])
    end
end
2011-10-05 15:24:19