Lua语言在Wireshark中使用(转)

1.       检查Wireshark的版本是否支持Lua

打开Wireshark,点击“HelpàAbout Wireshark”菜单,查看弹出的对话框,如果有“with Lua 5.1”表示支持Lua语言扩展,如果有“without Lua”表示不支持Lua扩展。

2.       启用LUA

在全局配置文件中启用LUA的方法是从init.lua文件中删除disable_lua这一行。该文件可以通过点击“HelpàAbout Wireshark”,在弹出的对话框中找到“FoldersàGlobal configuration”,获得init.lua的位置为C:/Program Files/Wireshark,打开该文件夹可以发现init.lua文件。

-- Lua is disabled by default, comment out the following line to enable Lua support.

--disable_lua = true; do return end;

-- If set and we are running with special privileges this setting

-- tells whether scripts other than this one are to be run.

run_user_scripts_when_superuser = false

缺省情况下Lua是不启用的,前面增加“--”注释掉这一行启用LUA。

3.       创建测试脚本

创建一个Hello World的LUA测试脚本来检查Lua是否启用。

-- hello.lua

-- Lua‘s implementation of D. Ritchie‘s hello world program.

print ("Hello world!")

4.       测试hello.lua脚本

可以通过tshark命令来进行测试,进入到wireshark的安装目录中执行下面的命令。

# cd c:\Program Files\Wireshark

# tshark -x lua_script:hello.lua

C:\Program Files\Wireshark>tshark -X lua_script:hello.lua

Hello world!

Capturing on Intel(R) 82567LM Gigabit Network Connection

接下来您可以使用Lua语言来为Wireshark增加协议的解码器。

http://blog.csdn.net/fan_hai_ping/article/details/6703468

时间: 2024-08-15 23:22:25

Lua语言在Wireshark中使用(转)的相关文章

Lua语言基础汇总(13)-- Lua中一些常用的库

前言 这篇文章将会来一些比较轻松的内容,就是简单的介绍一下Lua中几个常用的库.简单的说就是几个API的介绍.所以说,看起来比较容易,也没有多大的分量.就是纯粹的总结.使用库就是为了方便我们的开发,提高开发效率,同时也能保证代码的质量.希望大家以后也不要重复造轮子了. 数学库 数学库(math)由一组标准的数学函数构成.这里主要介绍几个常用的函数,其它的大家可以自行百度解决. 1. 三角函数(sin,cos,tan……) 所有的三角函数都使用弧度单位,可以用函数deg(角度)和rad(弧度)来转

Lua语言基础汇总(9)-- Lua中__index和__newindex实践

前言 本文将通过几个简单的实例演示,巩固对__index和__newindex的理解,同时加深对Lua中元表和元方法的理解,如果对Lua的元表和元方法还不是很熟悉的话,请参考这篇文章:<Lua中的元表与元方法>. 具有默认值的table 我们都知道,table中的任何字段的默认值都是nil,但是通过元表,我们可以很容易的修改这一规定,代码如下: 1 2 3 4 5 6 7 8 9 function setDefault(tb, defaultValue)      local mt = {__

Lua语言基础汇总(12)-- Lua中的面向对象编程

简单说说Lua中的面向对象 Lua中的table就是一种对象,看以下一段简单的代码: 1 2 3 4 5 6 7 8 9 10 11 12 local tb1 = {a = 1, b = 2} local tb2 = {a = 1, b = 2} local tb3 = tb1   if tb1 == tb2 then      print("tb1 == tb2") else      print("tb1 ~= tb2") end   tb3.a = 3 pri

Lua语言基础汇总(8) -- Lua中的元表与元方法

前言 元表对应的英文是metatable,元方法是metamethod.我们都知道,在C++中,两个类是无法直接相加的,但是,如果你重载了“+”符号,就可以进行类的加法运算.在Lua中也有这个道理,两个table类型的变量,你是无法直接进行“+”操作的,如果你定义了一个指定的函数,就可以进行了.那本文就是主要讲的是如何定义这个指定的函数,这个指定的函数是什么?希望对学习Lua的朋友有帮助. Lua是怎么做的? 通常,Lua中的每个值都有一套预定义的操作集合,比如数字是可以相加的,字符串是可以连接

Lua语言基础汇总(10) -- Lua中的环境概念

前言 Lua将其所有的全局变量保存在一个常规的table中,这个table称为“环境”.这种组织结构的优点在于,其一,不需要再为全局变量创造一种新的数据结构,因此简化了Lua的内部实现:另一个优点是,可以像其他table一样操作这个table.为了便于实施这种操作,Lua将环境table自身保存在一个全局变量_G中.例如,我们可以使用以下代码打印当前环境中所有全局变量的名称. 1 for n in pairs(_G) do print(n) end 在你的电脑上运行一下以上代码,看看结果. 全局

Lua语言基础汇总(11) -- Lua中的模块与包

前言 从Lua5.1版本开始,就对模块和包添加了新的支持,可是使用require和module来定义和使用模块和包.require用于使用模块,module用于创建模块.简单的说,一个模块就是一个程序库,可以通过require来加载.然后便得到了一个全局变量,表示一个table.这个table就像是一个命名空间,其内容就是模块中导出的所有东西,比如函数和常量,一个符合规范的模块还应使require返回这个table.现在就来具体的总结一下require和module这两个函数. require函

lua语言中闭包的学习心得

lua语言有如下两个特点: 1.lua中的函数可以被存放在变量.表中,也可以作为函数的参数,还可以作为函数的返回值,如: func = function() print("Hello"); end 等价于 function func() print("Hello"); end 这两种写法都是函数func()的定义:并且下面这个例子: function func() return function() print("Hello"); end --函

跟我一起了解Lua语言中的_index,newindex,rawget和rawset

前言:理解Lua语言中的__index, __newindex, rawget和 rawset 在谈及Lua中的__index, __newindex, rawget和rawset前,需要理解Lua中的元表这个概念. 一.元表的概念 对Lua中元表的解释: 元表可以改变表的行为模式. 这里举个例子: Window = {} Window.prototype = { x = 0 , y = 0 , width = 100 , height = 100, } Window.mt = {} funct

lua语言--table的构建

table是lua语言中最为重要,也是最为强大的武器,最简单的构造函数是{}.--所以说当你看到{}的时候,实际上是调用了一个构造函数. 直接初始化数组: days = {"Monday","Tuesday","Wednesday"} 初始化一个表作为record: days = {m = "Monday",t = "Tuesday",w="Wednesday"}//注意record其实