> From: Wireshark-dev <wireshark-dev-boun...@wireshark.org> On Behalf Of chuck c
> Sent: Wednesday, October 14, 2020 10:33 AM
> To: Developer support list for Wireshark <wireshark-dev@wireshark.org>
> Subject: Re: [Wireshark-dev] lua decoder accessing info from layers above
>
> local p_foo = Proto.new("foo", "foo")
> local f_frame_protocols = Field.new("frame.protocols")
>
> function p_foo.dissector(buf, pinfo, tree)
>    print(pinfo.number, "Protocols: " .. (f_frame_protocols() and 
> f_frame_protocols().value or "Unknown"))
> --    print(pinfo.number, f_frame_protocols().value)
> end
>
> register_postdissector(p_foo)
>
> Script above prints to the Lua console.
> What was the situation where it doesn't work?

It works as a post-dissector, but not as a registered dissector.  For example, 
replace:

    register_postdissector(p_foo)

with something like so, replacing the port number with whatever you can easily 
test with:

    local udp_table = DissectorTable.get("udp.port")
    udp_table:add(33333, p_foo)

Yet you can access and print other frame fields such as "frame.len" and 
"frame.cap_len".
- Chris











CONFIDENTIALITY NOTICE: This message is the property of International Game 
Technology PLC and/or its subsidiaries and may contain proprietary, 
confidential or trade secret information. This message is intended solely for 
the use of the addressee. If you are not the intended recipient and have 
received this message in error, please delete this message from your system. 
Any unauthorized reading, distribution, copying, or other use of this message 
or its attachments is strictly prohibited.
___________________________________________________________________________
Sent via:    Wireshark-dev mailing list <wireshark-dev@wireshark.org>
Archives:    https://www.wireshark.org/lists/wireshark-dev
Unsubscribe: https://www.wireshark.org/mailman/options/wireshark-dev
             mailto:wireshark-dev-requ...@wireshark.org?subject=unsubscribe

Reply via email to