做淘宝客如何建立网站,301跳转wordpress,wordpress为什么慢,怎样做一个公司网站摘要 开发中经常通过抓包分析协议#xff0c;对于常见的协议如 DNS wireshark 支持自动解析#xff0c;便于人类的理解#xff0c;对于一些私有协议#xff0c;wireshark 提供了插件的方式自定义解析逻辑。 1 动手 废话少说#xff0c;直接上手。
第一步当然是装上wiresh…摘要 开发中经常通过抓包分析协议对于常见的协议如 DNS wireshark 支持自动解析便于人类的理解对于一些私有协议wireshark 提供了插件的方式自定义解析逻辑。 1 动手 废话少说直接上手。
第一步当然是装上wiresharkWinR 输入 %APPDATA%\Wireshark在打开的文件夹中新建插件文件夹plugins在 plugins 下创建 xxx.lua直接开始编辑即可
local my_proto Proto(my_proto, My Protocol)local p_type ProtoField.uint8(my_proto.p_type, Type, base.DEC);
local p_val ProtoField.uint16(my_proto.p_val, Val, base.HEX);
local p_byte ProtoField.new(Bytes, my_proto.bytes, ftypes.BYTES)
local p_str ProtoField.new(Str, my_proto.str, ftypes.STRING)my_proto.fields {p_type,p_flag,p_val,p_byte,p_str
}--[[tvb: 待解析数据pinfo: 协议解析树信息包括UI上的显示treeitem: 上一级解析树
--]]
function process(tvb, length, tree)local offset 0tree:add(p_type, tvb:range(offset, 1))offset offset 1tree:add(p_val, tvb:range(offset, 2))offset offset 2tree:add(p_byte, tvb:range(offset, 10))offset offset 10tree:add(p_str, tvb:range(offset, 13))offset offset 13local left length - offsettree:add(p_byte, tvb:range(offset, left))
endfunction my_proto.dissector(tvb, pinfo, treeitem)pinfo.cols.protocol:set(MY_PROTO)pinfo.cols.info:set(MY_PROTO info)local tree treeitem:add(my_proto, tvb:range(0))process(tvb, tvb:len(), tree)
end-- 绑定UDP端口号57754, 凡是匹配的报文都会调用my_proto.dissector解析
local udp_table DissectorTable.get(udp.port)
udp_table:add(57754, my_proto)2 打完收工 Ctrl Shift L 刷新插件查看解析后的报文 3 进阶 其它骚操作参考官方文档Chapter 10. Lua Support in Wireshark