usr RFC2217协议解析

 

--RFC2217-------------------------------------
local dataBitSizeTable = {
	[0] = "5",
	[1] = "6",
	[2] = "7",
	[3] = "8"
}
local stopBitSizeTable = {
	[0] = "1",
	[1] = "2",
}
local checkTypeTable = {
	[0] = "NO",
	[1] = "ODD",
    [2] = "2",
    [3] = "EVEN",
    [4] = "4",
    [5] = "MARK",
    [6] = "6",
    [7] = "7",
    [8] = "8",
}
---------------------------------------------------------------------------
fields.baudrate=ProtoField.uint16("RFC2217" .. ".baudrate", "baudrate")
fields.dataBitSize=ProtoField.uint8("RFC2217" .. ".dataBitSize", "dataBitSize",base.hex,dataBitSizeTable,0x03)
fields.stopBitSize=ProtoField.uint8("RFC2217" .. ".stopBitSize", "stopBitSize",base.hex,stopBitSizeTable,0x04)
fields.checkType=ProtoField.uint8("RFC2217" .. ".checkType", "checkType",base.hex,checkTypeTable,0xf8)

----------------------------------------------------------------------------

function rfc2217 (tvb, pinfo, tree)

local subtree = tree:add(mc, tvb())
local offset=0
offset=4
subtree:add(fields.baudrate, tvb(offset,2))
local str="baudrate:"..tvb(offset,2):uint()
offset=6
subtree:add(fields.dataBitSize, tvb(offset,1))
str=str.." dataBitSize:"..  tvb(offset,1):uint()%4+5
subtree:add(fields.stopBitSize, tvb(offset,1))
str=str.." stopBitSize:"..math.modf(tvb(offset,1):uint()/4)%2+1
subtree:add(fields.checkType, tvb(offset,1))
str=str.." checkType:"..checkTypeTable[math.modf(tvb(offset,1):uint()/8)]


pinfo.cols.info=str
end

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值