Я пишу сценарий lua для анализа протокола coap. Однако я не могу получить параметры coap (URI-Path) 2-го или более поздних версий, если есть несколько одинаковых параметров.
do
local test_proto = Proto("test_proto", "Test Protocol")
local test_uripath = ProtoField.string("test.uripath", "Uri-Path")
test_proto.fields = {test_uripath}
local coap_uripath = Field.new("coap.opt.uri_path")
function test_proto.dissector(tvbuffer, pinfo, treeitem)
local subtree = treeitem:add(test_proto)
subtree:add(test_uripath, tostring(coap_uripath().value))
end
register_postdissector(test_proto)
end
Только первый URI-путь отображается на поддереве, даже если параметр coap URI-Path имеет несколько значений, подобных следующему.
Opt Name: #1: URI-Path: XXX
Opt Name: #2: URI-Path: YYY
Я могу получить XXX только с помощью coap.opt.uri_path . Как я могу получить 2-е или более поздние поля с такими же параметрами?