16.WireShark学习-在WireShark中添加新协议

16. 在Wireshark中添加新协议

  1. WireShark编程基础
  2. 使用Lua开发简单扩展功能
  3. 使用WireShark开发新的协议解析器
  4. 测试新协议

WireShark支持Lua语言编写的脚本

16.1 WireShark编程基础

在WireShark中添加lua脚本

到WireShark安装目录中init.lua文件中进行配置
1

把需要加载的脚本加进来

2

协议解析

WireShark中主要是靠端口来判断协议的

可以打开视图——内部——解析器表——Integer Tables

3

应用层协议不是属于TCP就是UDP,因此我们找到TCP,可以看到解析是依靠端口

4

proto(name,desc)函数:注册协议,desc是描述

dissector(tvb,pinfo,tree):tvb表示要处理的报文缓存(应用层数据存到tvb中),pinfo表示报文,tree表示报文的解析树。

local foo123=Proto("foo1233","foo123 Protocol")

function foo123.dissector(tvb,pinfo,tree)

end

DissectorTable.get("tcp.port"):add(10005,foo123)
//该函数将协议添加到解析器表中,也就是说凡是发往10005端口的协议都按foo123协议来解析


保存为lua文件,放到WireShark安装目录中

5

编辑init.lua

6

如果脚本有问题的话,会报错

7

打开“视图——内部——解析器表”后会发现已经添加进解析器表了。

8

接下来设计协议 内容

9

10

使用lua构造协议


local foo123=Proto("foo1233","foo123 Protocol")

//注册字段
Trans_ID=ProtoField.uint16("foo123.ID","ID")

Msg_Type=ProtoField.uint16("foo123.Type","Type")

Msg_Data=ProtoField.uint32("foo123.Data","Data")

foo123.fields={Trans_ID,Msg_Type,Msg_Data}





function foo123.dissector(tvb,pinfo,tree)

pinfo.cols.protocol="foo123"//设置显示的协议名字
local subtree=tree:add(foo123,tvb(0))
subtree:add(Trans_ID,tvb(0,2))//添加到协议解析树中
subtree:add(Msg_Type,tvb(2,2))
subtree:add(Msg_Data,tvb(4,4))
end

DissectorTable.get("tcp.port"):add(10005,foo123)




构造数据包来验证

使用xcap这个工具,使用方法:

大体步骤:
1. 创建报文
2. 添加报文内容
3. 发送报文
  1. 创建报文组

右键报文组,创建报文组
11

  1. 添加报文

12

下一步,它是按照层来的,这个是数据链路层

13

网络层修改协议为TCP

14

目标端口改为10005

15

用全0填充就好了,保存,关闭

在这里插入图片描述

  1. 选择接口发送数据包,需要和WireShark抓包的网卡选择一样

启动接口
16

过滤foo123的数据包

17

发送数据包

18

可以看到能够解析foo123协议

19

  • 6
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
wireshark-win6-3.2.3是一款开源的网络流量分析工具。它主要用于抓取和分析网络数据包,可以帮助用户了解网络的通信过程和网络性能。 wireshark-win6-3.2.3具有使用简便、功能强大的特点。它支持多种网络协议的解析和分析,包括Ethernet、IP、TCP、UDP等等。用户可以通过抓取和查看网络数据包,深入了解网络通信的细节,排查网络故障和安全问题。 wireshark-win6-3.2.3的主要特点包括: 1.多平台支持:wireshark-win6-3.2.3可以运行在Windows操作系统上,适应不同场景和需求。 2.图形化界面:软件提供直观的用户界面,使得用户可以轻松进行配置、抓包和数据包分析。 3.强大的过滤功能:用户可以通过设置过滤器来过滤和捕获特定类型的数据包,提高分析效率。 4.详细的协议解析:软件能够解析众多网络协议,显示协议头和有效载荷等关键信息,帮助用户深入了解网络通信过程。 5.统计和图表展示:wireshark-win6-3.2.3提供多种统计功能,可以生成流量统计、端口分析和协议分布图表,帮助用户进行网络性能评估和优化。 6.插件扩展:软件支持丰富的插件扩展,用户可以根据自己的需求,添加自定义功能和协议解析。 总之,wireshark-win6-3.2.3是一款功能强大、易于使用的网络流量分析工具,可以帮助用户深入了解网络通信过程,提高网络性能和安全性。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值