问题背景
上周Wireshark发布了最新的Release版本4.2.0。自己针对每款软件,每次发布新的软件都会点击更新:一方面,通过定期更新软件,还可以确保自己的产品永远处于最佳状态。更新能帮助修复可能存在的错误或漏洞,增强产品的稳定性和安全性。此外,新版本通常会加入新特性或优化现有功能,使得用户体验更加丰富、顺畅。
同时,这也是一种探索和学习的过程,可以从中观察和学习其他开发者如何解决问题,如何改进他们的产品,以此不断提升自己的设计思路和编程技巧。
本次更新完Wireshark的主题会跟随系统,所以主题色变成Dard模式了:
猛一看,有点不习惯,经过这两天的适应,其实也不错。
不过更新完后,我发现之前常用的一个插件工具“rtp_h264_export”却不能用了,在“工具”这个标签中没有这个选项了。这个插件对我的工作至关重要,所以必须找到解决办法。
rtp_h264_export是什么?
把代码保存成 h264_export.lua 文件,并将该文件放入 Wireshark 安装目录下。之后你需要修改 Wireshark 安装目录下的 init.lua 文件,以便启用新的 lua 插件。
首先,打开 init.lua 文件,找到 disable_lua = true 这一行。如果存在该行,那就意味着当前 Wireshark 的 Lua 脚本功能被禁用了。我们要做的是启用它,方法是在这行前面加上两个短横线 –,使其成为一个注释行。如此一来,Wireshark 就会忽略这行,从而启用 Lua 脚本功能。
然后,在 init.lua 文件的末尾添加一行:dofile(“h264_export.lua”)。dofile 是 Lua 的一个函数,可以执行指定的 Lua 文件。在这里,我们告诉 Wireshark 在初始化时执行我们新添加的 h264_export.lua 文件。
保存并关闭 init.lua 文件后,重新启动 Wireshark。现在,你应该能看到并使用 h264_export.lua 提供的新功能了。
详细操作过程可以参考:
https://blog.csdn.net/jasonhwang/article/details/7359095
解决方案
首先使用搜索引擎查询相关的错误信息,寻找可能的解决方案。浏览了许多论坛、技术博客和开源社区,收集各种可能的信息。但是这些都是比较旧的,并没有人发布新的版本问题。
之后尝试了各种可能的解决方案,一些看起来可行的方案却并不奏效。这是一个耗时而又繁琐的过程,每个失败都会让我们离成功更近一步。
最终,我找到了官网发布更新的情况描述。
大概意思就是:现在可以从任何 Lua 插件目录加载“init.lua”文件。以前它是从个人配置目录加载的。(为了向后兼容,这仍然是允许的;请注意,已弃用的功能可能会在未来版本中删除)。
于是我把我的两个lua文件丢到了plugins目录下:
我重新启动了软件,带着忐忑的心情点击了“rtp_h264_export”。那一刻,我屏息以待,结果插件正常工作了!
另外4.2.0开始支持dark模式了。
Plugins目录
另外plugin中好像不支持目录,我构建了一个目录存放这个文件,但是显示仍然是在“工具”第一层级看到,如下图:在plugins目录以及plugins/lua中分别放置了这两个文件,在工具栏仍然看到是相同的内容,这个不影响使用,有空再研究吧。
rtp_h264_export
https://github.com/hongch911/WiresharkPlugin
rtp_h264_export.lua用于解析RTP包中的H264编码数据。本插件参考作者HuangQiangxiong(qiangxiong.huang@gmail.com)所作的H264解析插件,并进行了修改。
rtp_h265_export.lua用于解析RTP包中的H265编码数据,并提取裸数据到码流文件中。
rtp_ps_no_assemble.lua为早期的不组合ps,直接对每一个RTP数据进行解析。rtp_ps_assemble.lua通过把ps流组装完整后解析数据。
rtp_ps_no_assemble不能与rtp_ps_assemble同时使用。
rtp_ps_export.lua插件用于实现对PS媒体流进行解析及导出ps裸流到文件中。同时也可以直接使用ps中的相应媒体协议导出媒体数据流。
rtp_pcma_export.lua、rtp_pcmu_export.lua、rtp_silk_export.lua、rtp_g729_export.lua、rtp_amr_export.lua等插件用于对RTP流中的相应格式的音频流进行解析并导出成文件。
总结
这次的经历让我明白:
(1)发布软件存风险,点击更新需谨慎;
(2)即使面临困难,只要有耐心和决心,总会找到解决问题的方法。
不过这也是一次学习新知识和技能的过程,让我更深入地理解了我的工具和软件。此外,我还计划将我获取的经验和解决方案分享出去,帮助那些可能遇到同样问题的人。
作者信息:我是一枚爱跑步的程序猿,维护公众号和知乎专栏《MediaStack》,有兴趣可以关注,一起学习音视频知识,时不时分享实战经验。
版权声明:本文内容转自互联网,本文观点仅代表作者本人。本站仅提供信息存储空间服务,所有权归原作者所有。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至1393616908@qq.com 举报,一经查实,本站将立刻删除。