-- @brief MC_Q3E Protocol dissector plugin
-- @author jinxinhaizei
-- @date 2019-12-5 16:33:01
-- create a new dissector
local NAME = "mc_q3e_ascii"
local PORT = 6002
local mc = Proto(NAME, "MC_Q3E_ASCII Protocol ")
-- dissect packet
-- register this dissector
DissectorTable.get("tcp.port"):add(PORT, mc)
-- create fields of mc
local fields = mc.fields
fields.Qna3E = ProtoField.bytes (NAME .. ".Qna3E", "Qna3E")
-- dissect packet
function mc.dissector (tvb, pinfo, tree)
tree:add(mc,tvb())
local str=tvb():string()
print(str)
--local b1=ByteArray.new("010203")
local b1=ByteArray.new(str)
--对tvb进行修改,报文由ascii码改为hex格式 即 {0x30,0x31,0x30,0x32,0x30,0x33}改为{0x01,0x02,0x03}
local tvb_new = ByteArray.tvb(b1, "My New Tvb")
--调用其他dissector
local original_dis = Dissector.get("mc_q3e_bin")
original_dis:call(tvb_new , pinfo, tree)
--pinfo.cols.protocol = mc.name
end