【微记录】wireshark的脚本配置目录在哪?在哪看?(~/.wireshark/plugins/xxx.lua)

背景

假设需要再wireshark上添加解析自己报文的解析lua插件,写好后添加到哪里?
不通操作系统,不同平台不一样。linux、mac、windows都不一样。但是有一个统一的方法可以查看。

路径:

about wireshark -> Folders -> Personal Plugins

常见:
linux上 ~/.wireshark/plugins/xxx.lua

实操

在这里插入图片描述

在这里插入图片描述

### 关于 WiresharkLua 脚本的教程与示例 #### 编写并集成 Lua 脚本Wireshark 的流程 为了使 Lua 脚本能够在 Wireshark 中运行,需要先完成 Wireshark 的安装和配置[^1]。一旦环境准备就绪,则可以着手创建 Lua 解析器脚本。 对于不同操作系统的用户来说,放置 Lua 插件的具体位置会有所不同。Linux 用户应将插件置于 `~/.local/lib/wireshark/plugins` 或者 `~/.wireshark/plugins` 文件夹内;而在 Windows 上则是 `Program Files/Wireshark/plugins` 目录下[^2]。 需要注意的是,在某些情况下,如果以超级管理员权限启动 Wireshark 可能会导致加载 Lua 脚本失败,并显示错误提示:“dofile has been disabled due to running Wireshark as superuser.” 这是因为出于安全考虑,默认禁用了该功能。建议按照官方文档指引设置合适的权限以便正常工作[^3]。 除了上述基本步骤外,还有其他方式可用于向 Wireshark 添加新的协议解析能力。一种较为简便的方法就是利用 Lua 来定制化处理特定类型的网络流量数据包。另一种更为复杂但也更强大的方案涉及到了 C 语言编程以及对源码级别的改动——这通常适用于那些希望深入参与到项目贡献中的开发者群体当中[^4]。 #### 示例:简单 HTTP 请求分析工具 下面给出一段用于捕获并展示 HTTP GET 方法请求头部字段信息的小型 Lua 程序: ```lua -- http_get_analyzer.lua do local proto_http = Proto("http", "HTTP Protocol") function proto_http.dissector(tvbuf, pinfo, tree) -- 设置协议名称 pinfo.cols.protocol:set("HTTP") -- 获取整个报文长度 local length = tvbuf:len() if length == 0 then return end -- 创建顶级树项 local subtree = tree:add(proto_http, tvbuf(), "HTTP Request Headers") -- 假设这里只关注GET请求的第一行格式:"GET /path?query HTTP/1.1" local line_end_pos = string.find(string.char(tvbuf(0, length):bytes()), "\r\n") or -1 if line_end_pos >= 0 then local request_line = tostring(tvbuf(0,line_end_pos)) -- 显示请求方法 subtree:add_protoExpert_info(PROTOEXPert_SEVERITY_INFO,"Method: "..request_line:match("^([A-Z]+)")) -- 展现URL路径部分 subtree:add_protoExpert_info(PROTOEXPert_SEVERITY_INFO,"Path: "..request_line:match("%s+(%S+)")) end end -- 注册此解码器为TCP端口80上的默认处理器之一 DissectorTable.get("tcp.port"):add(80,proto_http) end ``` 这段代码定义了一个名为 `proto_http` 的新协议对象,并通过重载其 dissector 函数实现了针对 HTTP 协议的数据包解析逻辑。当遇到目标 TCP 端口号匹配的情况时就会调用这个函数来进行进一步的操作。此处仅展示了如何提取并呈现最基本的 GET 请求细节作为例子说明用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值