ANNOUNCEMENT: Live Wireshark University & Allegro Packets online APAC Wireshark Training Session
July 17th, 2024 | 10:00am-11:55am SGT (UTC+8) | Online

Wireshark-dev: Re: [Wireshark-dev] accessing multiple occurrences of the same field with lua

From: Tony Trinh <tony19@xxxxxxxxx>
Date: Wed, 6 Mar 2013 20:04:31 -0600
On Wed, Mar 6, 2013 at 7:02 AM, Cristian Constantin <const.crist@xxxxxxxxxxxxxx> wrote:
hi!

some protocols are structured in chunks which have the same structure
but differ in content.

examples:

- diameter (avps)
- sigtran suite (parameters)
- sctp (data chunks)

how to access with lua a certain field in such a chunk? NOT necessarly
the first.

for example, using:

local param_len = Field.new("m3ua.parameter_length")

and later on in the tap.packet():

local len = param_len()

will get me only the length of whatever is the first m3ua parameter. how
to get the length of the second, third aso??


Try this Lua:

function tap.packet()
  local lengths = { param_len() }
  for i,len in ipairs( lengths ) do
      print( '['..i..']', len )
  end
end