Wireshark LUA脚本分析自定义帧格式

Wireshark LUA脚本分析自定义帧格式

1. 帧格式

​ 该帧格式由课设要求引出,本次课设要求在eth0网络接口与Linux内核TCP/IP间串接一个虚拟网络接口vni0,如下图所示:
在这里插入图片描述
​ 此报文格式修改为下图所示:
在这里插入图片描述

  • 以太帧头部:

    ​ 目的MAC地址(6字节) = 广播MAC地址;

    ​ 源MAC地址(6字节) = 发送方eth0的MAC地址;

    ​ 类型(2字节) = 0xF4F0(即VNI的协议编号);

  • VNI头部:

    ​ VNI类型(4字节) = 学号后4位数,每个数1个字节;

    ​ 分组序号(2字节),初始值为0。

2. 编写LUA脚本

第一步:创建解析器对象

local NAME = "VNI"
local VniProto = Proto(NAME, "VNI PROTOCOL")

第二步:声明协议字段:

-- C语言中自定义VNI协议头部结构体
-- struct vnihdr
-- {
   
	-- char id[4];
	-- unsigned short seq;
-- };
-- 声明协议的字段
local fields = VniProto.fields
fields.id_0 = ProtoField.uint8(NAME .. "ID", "id[0]", base.HEX) 
fields.id_1 = ProtoField.uint8(NAME .. "ID", "id[1]", base.HEX) 
fields.id_2 = ProtoField.uint8(NAME .. "ID", "id[2]", base.HEX) 
fields.id_3 = ProtoF
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值