wireshark lua 插件之 tvb():string()
缘起
最近在编写 lua 插件时,遇到一个问题:发现tvb中的字节码,传入 lua-protobuf 中,部分报文解码失败。
于是经过一顿debug,最后将字节码写入文件,对比 lua-protobuf 中的字节码和 tvb 中的字节码,发现不一致。
解决办法
通过 goolge 找到了如下一篇文章,wireshark-lua-stringbyte-error
不应该使用 tvb_range:string()
这个方法默认是带字符集转换的,要想将原始的bytes转为 lua string,需要使用raw
方法。
|
|
总结
这个问题,本质还是没有仔细阅读 wireshark lua 插件关于 tvb 的API文档导致的。
有时候遇到问题,我们可以先通过 google 快速解决问题;
然后,有时间可以多看看官方的文档,可以获得更深的理解。