Wireshark mailing list archives

Re: accessing multiple occurrences of the same field with lua


From: Cristian Constantin <const.crist () googlemail com>
Date: Fri, 8 Mar 2013 12:40:14 +0100

cristian: thanks a lot tony and hadriel. it works. otoh I need to dive
a little bit more into this lua language.

one more thing though. suppose I do this in the tap.packet():

local tags = { m3ua_param_tag() }
for i,t in ipairs( tags ) do
        print("tag no:", i, "tag type:", t, tonumber(t));
        local t_no_space = string.gsub(tostring(t), "%s*(%w+)%s*", "%1")
        print("tag type:", t_no_space, tonumber(t_no_space));
end

the output looks like this:

tag no: 1       tag type:       512     nil
tag type:       512     512

why are there TABS (!!) in the string representation of t, i??
tonumber() won't work on t,i as they are, returning "nil"...
it works after removing them with the string pattern match/replace.

On Thu, Mar 7, 2013 at 3:04 AM, Tony Trinh <tony19 () gmail com> wrote:
On Wed, Mar 6, 2013 at 7:02 AM, Cristian Constantin
<const.crist () googlemail com> 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

___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <wireshark-dev () wireshark org>
Archives:    http://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
             mailto:wireshark-dev-request () wireshark org?subject=unsubscribe
___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <wireshark-dev () wireshark org>
Archives:    http://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://wireshark.org/mailman/options/wireshark-dev
             mailto:wireshark-dev-request () wireshark org?subject=unsubscribe


Current thread: