wireshark插件编写以太网DOIP-Ⅱ

do
    --123用于过滤。DoIP protocol用于显示tree的协议名称
local wgm1 = Proto("12345","protocol")  --定义协议名称








	 
	 ---获取端口号关键函数1
	udp_dst_f = Field.new("udp.dstport")
	
	udp_src_f = Field.new("udp.srcport")

    function wgm1.dissector(TVB,pinfo,tree) 
    --TVB代表每一帧所有数据,pinfo代表一个log内所有帧,tree代表每一帧所有的>^折叠和展开箭头  。但是由于咱们绑定的是UDP和TCP以下,所以TVB指的是data部分
    --cols代表所有pinfo帧的某一帧,,其proctocol 指的是协议,它可以是length、或者source    
     local DoIP_type = TVB(2,3):uint()
     
	 
	 
	 ---获取目的地端口号关键函数2
     local huoquport = udp_dst_f()
	 ---获取发送的端口号关键函数
	 local huoquportsrc = udp_src_f()
	 
	 
	 ---对获取端口号做判断
     if (tostring(huoquport) ==  "13400") then 
        if (DoIP_type==0x0001) then
		pinfo.cols.protocol = "Tester发现车辆请求报文"
		end
	    if(DoIP_type~=0x0001) then 
        pinfo.cols.protocol = "GW的UDP广播报文"
		end
	 end
     
	 ---如果原端口等于13400且资源端口不等于13400
	 if ((tostring(huoquportsrc) ==  "13400") and (tostring(huoquport) ~=  "13400") ) then 
        
		pinfo.cols.protocol = "GW回应tester车辆存在"
	 end
	 
	 
	 





end






--     pinfo.cols.protocol = "GW的UDP广播报文"
-- 
--- end





-- trivial postdissector example
-- declare some Fields to be read
--ip_src_f = Field.new("ip.src")
--ip_dst_f = Field.new("ip.dst")
--tcp_src_f = Field.new("tcp.srcport")
--tcp_dst_f = Field.new("tcp.dstport")


----udp_dst_f = Field.new("udp.dstport")














    local udp_encap_table = DissectorTable.get("udp.port")
    --因为我们的DT协议的接受端口肯定是50002,所以这里只需要添加到"udp.port"这个DissectorTable里,并且指定值为50002即可。
	
	 --udp_encap_table("udp.dstport")
     udp_encap_table:add(13400, wgm1)
	

end
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

倚天仗剑走天涯WGM

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值