Wireshark插件编写

在抓包的过程中学习了使用wireshark,同时发现wireshark可以进行加载插件,便在网上学习了一下相应的插件开发技术。

需求
编写一个私有协议名为SYC,使用UDP端口9877进行传输,报文结构如下:

Type Flag Sequence number IP Address
Data

编写Wireshark插件,使Wireshark可以识别出SYC协议。

实现
首先构造产生SYC协议报文的程序:
数据结构:

初始化:

默认向119.75.217.109(baidu.com)发送请求。

发送请求:

运行程序,在Wireshark中捕获如下数据包:
设置过滤方式为捕获后过滤,过滤条件为ip.dst == 119.75.217.109。

插件编写
Wireshark支持用Lua或者C进行插件开发。Lua相对于C来说,开发起来效率高,稍微熟悉Lua的语法就可以进行开发。

代码如下:

将该Lua文件保存在Wireshark目录下的/plugins/(版本号)中,并在Wireshark中,点击分析—重新载入Lua插件,可以看到如下结果:

协议名称变为SYC,同时下方有对SYC协议的分析,包括Type,Flag,Sequence number和IPv4 Address,在抓取数据包的Info里还都包含一句“hello world”。

Wireshark插件编写的更多相关文章

  1. Lua编写wireshark插件初探——解析Websocket上的MQTT协议

    一.背景 最近在做物联网流量分析时发现, App在使用MQTT协议时往往通过SSL+WebSocket+MQTT这种方式与服务器通信,在使用SSL中间人截获数据后,Wireshark不能自动解析出MQ ...

  2. BugScan插件编写高(gǎo)级(jī)教程

    声明:本文最先发布在:http://q.bugscan.net/t/353 转载请注明出处 有问题可以和我交流 邮件(Medici.Yan@gmail.com) 个人博客地址:http://www.c ...

  3. jQuery插件编写及链式编程模型小结

    JQuery极大的提高了我们编写JavaScript的效率,让我们可以愉快的编写代码,做出各种特效.大多数情况下,我们都是使用别人开发的JQuery插件,今天我们就来看看如何把我们常用的功能做出JQu ...

  4. typecho插件编写教程1 - 从HelloWorld说起

    typecho插件编写教程1 - 从HelloWorld说起 老高 187 5月25日 发布 推荐 0 推荐 收藏 2 收藏,189 浏览 最近老高正在编写一个关于typecho的插件,由于typec ...

  5. jQuery插件编写及链式编程模型

    jQuery插件编写及链式编程模型小结 JQuery极大的提高了我们编写JavaScript的效率,让我们可以愉快的编写代码,做出各种特效.大多数情况下,我们都是使用别人开发的JQuery插件,今天我 ...

  6. vue插件编写与实战

    关于 微信公众号:前端呼啦圈(Love-FED) 我的博客:劳卜的博客 知乎专栏:前端呼啦圈 前言 热爱vue开发的同学肯定知道awesome-vue 这个github地址,里面包含了数以千计的vue ...

  7. chart.js angular组件封装(ng6)、实战配置、插件编写

    前言 项目需要使用chart.js插件,由于项目是使用angular开发,那么我第一步就是先把chart.js改造成angular组件来使用. 本项目代码都可以在github上下载:项目git地址 a ...

  8. Gulp:插件编写入门

    之前挖了个坑,准备写篇gulp插件编写入门的科普文,之后迟迟没有动笔,因为不知道该肿么讲清楚Stream这货,毕竟,gulp插件的实现不像grunt插件的实现那么直观. 好吧,于是决定单刀直入了.文中 ...

  9. 关于chrome插件编写的小结

    一个插件的大致目录结构如下: 其中manifest文件最为重要,它定义/指明插件应用的相关信息(权限.版本.功能说明等),点此查看Manifest的详情>>   这里有一篇chrome官方 ...

随机推荐

  1. PHP单引号和双引号对待变量的不同

    如果一个变量放在单引号中,会被当作字符串来处理,如果是放在双引号中,则会被当值一个变量来处理(此时可以用 {}扩起来,也可以不用). <?php $txt = "hello, this ...

  2. ceph实践: 搭建环境

    作者:吴香伟 发表于 2014/09/26 版权声明:可以任意转载,转载时务必以超链接形式标明文章原始出处和作者信息以及版权声明 本节主要参考官网的ADDING/REMOVING OSDS章节. 同步 ...

  3. python json模块

    import json dic = {"name":"liao","age":18} data = json.dumps(dic) #转化为 ...

  4. Hibernate中的HQL查询与缓存机制

    HQL:完全面向对象查询 SQL的执行顺序: 1.From 2.Where 过滤基础数据 where与having的区别:1.顺序不同 2.where过滤基础数据 3. 过滤聚合函数 3.Group ...

  5. c# json转换实例

    用户实体: public class UserModel { public long? UserId { get; set; } public string UserName { get; set; ...

  6. Maven之自定义archetype生成项目骨架(一)

      Maven之自定义archetype生成项目骨架(一) 标签: mavennexus插件 2015-07-15 16:40 2443人阅读 评论(0) 收藏 举报  分类: Maven技术(9)  ...

  7. BZOJ 1047: [HAOI2007]理想的正方形

    题目 单调队列是个很神奇的东西,我以前在博客写过(吧) 我很佩服rank里那些排前几的大神,700ms做了时限10s的题,简直不能忍.(但是我还是不会写 我大概一年半没写单调队列,也有可能根本没有写过 ...

  8. Windows下nginx+php配置

    1. 首先,将 nginx.conf 中的 PHP 配置注释去掉. # pass the PHP scripts to FastCGI server listening on # #location ...

  9. 猿团YTFCloud--5分钟自制APP,开发从未如此简单

    9月15日,YTFCloud将正式开启内测, 这意味着猿团YTF框架产品线全面升级.同时,公测过后,YTFCloud的APP线上DIY服务将面向所有用户,让人人都能成为APP“开发商”. 什么是YTF ...

  10. Java中分别取数的整数及小数部分

    import java.math.BigDecimal; import java.util.Scanner; /** * Created by Administrator on 2016/9/20. ...