关闭

lua脚本语言在WireShark中的使用浅析

标签: luawireshark
539人阅读 评论(0) 收藏 举报
分类:

lua语言在wireshark中的使用浅析

         最近项目中使用了一直没接触过的wireshark,从基本的使用到过滤条件的书写,数据的获取查看一步步的都要学习。一直很好奇过滤条件是怎么实现的,借助于api和一些博客的介绍,自己也简单写了个条件过滤的脚本。网上的博客介绍的也比较少,在这里对网上自己不易搜到的一些知识做个总结,分享给需要的朋友。

  1.  wireshark要使用自己编写的脚本首先要在wireshark的安装文件下的init.lua脚本里把这个脚本添加进去。
  2. 定义一个协议。
  3. 实现协议的内容。
  4. 注册协议的端口。

         具体的实现步骤网上有很多,在这里就不写了。下面主要记录在自己编写脚本的过程不容易找到的东西。

         1)buffer(1,1):uint()

                 buffoer()后面的unit()方法是把字节转化为无符号整型的值。buffer(a,b)方法第二个参数b不能大于4,因为是int取值。如果要超过4位可以使用uint64()。由于没注意   到这个细节,在这里折腾了好长时间没找到错误。

          2) buffer(a,b):string()  

                 buffer()后面的string()可以把获得的字节转化为string类型的字符串。

         3) string.format("%d",buffer(44,4):uint())

                这行代码实现的功能是从第44位开始读取4个字节长度的值,转化为十进制的整形。使用了string.format()的格式化方法。

        4) tostring(), tonumber()

               这两个方式可以分别把读取的值转换为string字符串或者number类型。

       5)时间值的转换

             os.date("%Y/%m/%d %H:%m:%S",time)  这行代码可以将time转换为1970年以后的时间格式:年/月/日   时:分:秒。os.date()里面的参数可以有好多,具体可以网上搜,在这里不一一列举了。要注意time的值不能是string类型。同时如果读取出来的是毫秒值一定要/1000转换成秒值,否则日期转换时不成功的。

      初学才几天时间,不过已经实现自己想要的脚本功能,这也说明lua脚本语言比较好学,同时如果以上内容有什么错误的地方欢迎指正,交流。

           


0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

使用Lua脚本为wireshark编写自定义通信协议解析器插件

使用Lua脚本为wireshark编写自定义通信协议解析器插件
  • phunxm
  • phunxm
  • 2010-10-28 22:31
  • 25812

关于linux下wireshark启动时Lua报错

关于linux下wireshark启动时Lua报错 sudo wireshark 报错信息为: Lua: Error during loading:  [string "/usr/share/wireshark/init.lua"]:45...
  • acswcs
  • acswcs
  • 2016-04-20 14:28
  • 504

利用Wireshark加Lua分析专有网络协议

实战过程: 1.安装wireshark、lua。 2.利用lua为wirashark写一个协议的dissector,并部署到lua上。   2.1 参照http://wiki.wireshark.org/Lua/Examples中的例子,进行修改。其中要注意的一点是TCP协议中的粘包现象(...
  • jiangfuqiang
  • jiangfuqiang
  • 2014-03-15 19:11
  • 6652

Lua语言在Wireshark中使用

1.       检查Wireshark的版本是否支持Lua 打开Wireshark,点击“HelpàAbout Wireshark”菜单,查看弹出的对话框,如果有“with Lua 5.1”表示支持Lua语言扩展,如果有“wi...
  • fan_hai_ping
  • fan_hai_ping
  • 2011-08-20 00:28
  • 5789

wireshark 使用lua解析自定义包

先看一段lua脚本 --[[ 创建一个新的协议结构 foo_proto 第一个参数是协议名称会体现在过滤器中 第二个参数是协议的描述信息,无关紧要 --]] local foo_proto = Proto("GSM", "GSM Protolcol") ...
  • yangwei19680827
  • yangwei19680827
  • 2016-06-02 16:22
  • 1974

用lua语言编写Wireshark插件解析自定义协议

  • 2012-08-03 02:04
  • 340KB
  • 下载

wireshark协议解析插件【LUA】示例

此文章参考: http://www.cnblogs.com/zzqcn/p/4840589.html 这里简单的贴出两份代码,更多详细资料请参考上面文章。 C语言代码: #include #include #include #pragma comment(lib, "ws...
  • Hot_VC
  • Hot_VC
  • 2016-03-21 10:56
  • 691

Wireshark lua插件

源地址:https://www.zybuluo.com/natsumi/note/77991 参考:  http://yoursunny.com/t/2008/Wireshark-Lua-dissector/  http://yoursunny.com/study/...
  • junlon2006
  • junlon2006
  • 2017-03-26 12:26
  • 775

wireshark使用Lua编写dissector

  • 2012-05-21 11:09
  • 359KB
  • 下载

如何在wireshark里用lua脚本编写dissector解析HTTP BODY (after TCP reassembled)

本文讲述如何用wireshark支持的lua脚本语言编写解析器(dissector)来解析HTTP Body部分的内容。Wireshark本身提供的HTTP Body(MIME)媒体内容的解析有限,多为直接显示文本内容,但有时我们在查看抓包时希望能看到进一步的协议解析结果。本文介绍的内容可以帮助有这...
  • jasonhwang
  • jasonhwang
  • 2010-04-25 11:57
  • 8450
    个人资料
    • 访问:526次
    • 积分:16
    • 等级:
    • 排名:千里之外
    • 原创:1篇
    • 转载:0篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档