【2019-06-10】使用LUA脚本来扩展wireshark的功能
[历史归档]本文原发布于 cstriker1407.info 个人博客内容为历史存档仅供参考。发布时间2019-06-10 标题使用LUA脚本来扩展wireshark的功能分类编程 / C C / Lua / 网络通讯 标签wireshark·lua使用LUA脚本来扩展wireshark的功能参考文档lua插件最简单实现过滤IP脚本当我们需要拓展wireshark的功能时有2种办法一种是直接修改源代码重新编译发布这种方式比较复杂但是可以改动到非常底层的功能另一种是写lua插件注册到wireshark中这种方式比较简单但是功能有限不过一般情况下都可以满足我们的需求。wireshark的官方文档第二章节【 II. Wireshark Development 】描述了如何定制和开发wireshark第10节【 10. Lua Support in Wireshark 】和第11节【 11. Wireshark’s Lua API Reference Manual 】描述了wireshark的LUA支持情况由于官方文档写的非常清楚这里就简单的笔记几个实例来描述如何使用wireshark的lua脚本功能。参考文档【 https://www.wireshark.org/docs/wsdg_html_chunked/wsluarm.html 】【 https://www.cnblogs.com/zzqcn/p/4827251.html 】lua插件最简单实现新建一个hello_wireshark.lua文件内容如下windownillocalfunctiondemo_main_dlg(user_input)windowTextWindow.new(hello_wireshark demo)window:append(user_input)endlocalfunctiondemo_input_dlg()new_dialog(input demo,demo_main_dlg,please input:)endregister_menu(lua_demo/hello_wireshark,demo_input_dlg,MENU_TOOLS_UNSORTED)然后打开wireshark点击菜单栏**【 帮助 】-【 关于wireshark 】-【 文件夹 】找到 全局配置 **如下图然后打开全局配置文件夹修改文件夹下的init.lua将 hello_wireshark.lua 注册到Wireshark中 。如下图重新打开wireshark点击菜单栏**【 工具 】**就可以看到我们的插件了如下图如果我们修改了lua插件可以点击菜单栏**【 分析 】- 【 重新载入Lua插件 】或者快捷键 Ctrl Shift L ** 来生效不用重启wireshark。过滤IP脚本下面我们笔记一个可以简单过滤IP的lua脚本内容如下windownil-- 判断指定元素value是否在数组tab中localfunctionis_include(value,tab)fork,vinipairs(tab)doifvvaluethenreturntrueendendreturnfalseend-- 将一个字符串分割为一个数组localfunctionsplit_string(input,delimiter)inputtostring(input)delimitertostring(delimiter)if(delimiter)thenreturnfalseendlocalpos,arr0,{}forst,spinfunction()returnstring.find(input,delimiter,pos,true)enddotable.insert(arr,string.sub(input,pos,st-1))possp1endtable.insert(arr,string.sub(input,pos))returnarrend-- 支持多个IP地址输入每个IP间使用,进行分割-- 输入的IP数组localinput_ip_tablenillocalfunctiondemo_main_dlg(input_ips)input_ip_tablesplit_string(input_ips,,)windowTextWindow.new(hello_wireshark demo)localtapListener.new()localfunctionremove()tap:remove()endwindow:set_atclose(remove)functiontap.packet(pinfo,tvb)if(not(is_include(tostring(pinfo.src),input_ip_table)oris_include(tostring(pinfo.dst),input_ip_table)))thenreturnendcontentstring.format(idx:%d %s:%d %s:%d,pinfo.number,pinfo.src,pinfo.src_port,pinfo.dst,pinfo.dst_port)window:append(content.. )endfunctiontap.draw()endfunctiontap.reset()window:clear()endretap_packets()-- 将输入的IP地址做成filter字符串放到wireshark主进程里面localfilter_patternnilfori,dev_ipinipairs(input_ip_table)doif(filter_patternnil)thenfilter_patternstring.format(ip.addr %s,dev_ip)elsefilter_patternfilter_pattern..string.format( or ip.addr %s,dev_ip)endendset_filter(filter_pattern)apply_filter()endlocalfunctiondemo_input_dlg()new_dialog(input ipaddr,demo_main_dlg,ips:)endregister_menu(lua_demo/hello_wireshark,demo_input_dlg,MENU_TOOLS_UNSORTED)我们可以测试下该插件的效果使用wireshark打开一个抓包报文文件然后重新载入下Lua插件然后输入IP255.255.255.255可以看到效果了。如下图

相关新闻

【2019-06-18】【转】完全理解ICMP

【2019-06-18】【转】完全理解ICMP

[历史归档] 本文原发布于 cstriker1407.info 个人博客,内容为历史存档,仅供参考。 发布时间: 2019-06-18 | 标题:【转】完全理解ICMP | 分类: 网络通讯 | 标签: IC…

2026/7/21 8:55:16阅读更多 →
STM32 SD卡Bootloader离线升级方案设计与优化

STM32 SD卡Bootloader离线升级方案设计与优化

1. 为什么需要SD卡Bootloader离线升级方案在嵌入式设备现场维护中,固件升级一直是个让人头疼的问题。传统方式要么需要拆机用J-Link烧录,要么依赖串口或网络传输,前者费时费力,后者对现场环境要求高。我去年负责的一个工业控制器项…

2026/7/21 8:53:16阅读更多 →
【2020-05-20】WSL爬坑笔记:支持32位程序

【2020-05-20】WSL爬坑笔记:支持32位程序

[历史归档] 本文原发布于 cstriker1407.info 个人博客,内容为历史存档,仅供参考。 发布时间: 2020-05-20 | 标题:WSL爬坑笔记:支持32位程序 | 分类: 操作系统 / windows &#…

2026/7/21 8:53:16阅读更多 →
【2026年6月最新】国内外最火的10款AI写小说工具(含实测体验)

【2026年6月最新】国内外最火的10款AI写小说工具(含实测体验)

这两年网文圈的洗牌速度,快得让人后背发凉。 很多小伙伴私信我说,现在看榜单上的文,总觉得哪里透着股机器味,用了ai写小说但人家更新就是快,一天两万字跟玩儿一样。 不用AI怕被淘汰,用了又怕把好不容易养…

2026/7/21 22:08:35阅读更多 →
2026网文作者必看:10款写小说软件深度测评(内含评测标准与避坑指南)

2026网文作者必看:10款写小说软件深度测评(内含评测标准与避坑指南)

很多人都想靠写网文赚点生活费。我当时写小说也是想着兼职赚点生活费,但现实很骨感,很多新人作者脑子里想的是的宏大叙事,但是手放在键盘上憋了半天,文档里删删减减,连500字都不到。 现在AI已经全面渗透网文写作流程&…

2026/7/21 22:08:35阅读更多 →
别再盲目订阅了!AI写作工具横向对比:月费成本×实际可用率×输出可控性=真实ROI(附动态计算器模板)

别再盲目订阅了!AI写作工具横向对比:月费成本×实际可用率×输出可控性=真实ROI(附动态计算器模板)

更多请点击: https://intelliparadigm.com 第一章:别再盲目订阅了!AI写作工具横向对比:月费成本实际可用率输出可控性真实ROI(附动态计算器模板) 在AI写作工具泛滥的当下,许多团队每月为ChatGP…

2026/7/21 22:08:35阅读更多 →
AI编程工具安全操作规范与最佳实践

AI编程工具安全操作规范与最佳实践

1. 项目背景与核心问题最近在开发者社区看到不少关于AI编程工具安全风险的讨论,特别是Claude Code和Codex这类AI辅助编程工具。这些工具确实能极大提升开发效率,但同时也带来了新的安全隐患。最典型的情况是:当你把一个陌生项目丢给AI让它&qu…

2026/7/21 22:08:35阅读更多 →
AI编程助手安全风险分析与防护实践

AI编程助手安全风险分析与防护实践

1. 事件背景:Claude Code后门事件始末上周三凌晨,我的GitHub安全警报突然狂跳——团队内部使用的Claude Code插件在静态扫描时检测到异常网络请求。这个号称"最懂程序员"的AI编程助手,正在悄悄向一个境外IP地址传输项目目录结构。更…

2026/7/21 22:08:35阅读更多 →
Windows多线程编程入门:CreateThread API原理与实战详解

Windows多线程编程入门:CreateThread API原理与实战详解

1. 项目概述:为什么选择CreateThread?在C的世界里,当你的程序需要同时处理多个任务时——比如一边响应用户界面操作,一边在后台下载文件,一边还要实时计算数据——单线程的“单车道”模式就会立刻成为性能瓶颈。这时&a…

2026/7/21 22:06:34阅读更多 →
Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/21 0:51:49阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/21 0:51:49阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/21 0:51:49阅读更多 →
Windows+macOS 通用 OpenClaw 部署流程,内置依赖一键启动智能桌面助手

Windows+macOS 通用 OpenClaw 部署流程,内置依赖一键启动智能桌面助手

📌教程适配:OpenClaw v2.7.9 | 兼容 Windows10/11、macOS 双系统 📖前言 当下各类本地 AI 工具层出不穷,多数产品仅能完成文字问答交互,很难直接操控电脑执行实际操作。OpenClaw,业内常称小龙虾 AI&#…

2026/7/21 0:01:46阅读更多 →
Codex 接入后 Bug 反增?复盘从个人演示到团队协作的“流程陷阱”

Codex 接入后 Bug 反增?复盘从个人演示到团队协作的“流程陷阱”

聊《一次Codex项目复盘,问题最后出在流程而不是模型》之前,先说一句实在的:别急着背概念,先看它在真实项目里到底解决什么问题。摘要先把这篇文章的目标说清楚:看完之后,你应该能判断这件事值不值得做&…

2026/7/21 0:01:46阅读更多 →
手把手搓一个五子棋游戏,零代码也能当“游戏开发者”

手把手搓一个五子棋游戏,零代码也能当“游戏开发者”

大家好,还是我。前几期带大家做了心情日记本和可视化大屏,后台有朋友留言:“能不能教点好玩的?我想做游戏,但一行代码都不会。”行,这期就安排。今天的目标:从零做一个五子棋游戏。 带AI对战、三…

2026/7/21 0:03:46阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/20 22:51:39阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/21 18:53:30阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/21 18:53:30阅读更多 →