wireshark lua 创建新的tvb,并调用其他dissector

-- @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

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值