首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Wireshark/tshark剖析UDP msgpack?

如何使用Wireshark/tshark剖析UDP msgpack?
EN

Stack Overflow用户
提问于 2019-12-15 11:24:09
回答 1查看 725关注 0票数 2

因为v3.0.0 Wireshark支持msgpack。我有一个捕获文件,其中包含封装在UDP中的msgpack消息。问题是当我跑步的时候:

代码语言:javascript
复制
tshark -r 1.pcap -d udp.port==60003,msgpack

我收到以下信息:

代码语言:javascript
复制
tshark: Protocol "msgpack" isn't valid for layer type "udp.port"
tshark: Valid protocols for layer type "udp.port" are:

支持的协议列表包含msgpack:

代码语言:javascript
复制
tshark -G protocols | grep msgpack
Message Pack    MsgPack msgpack

下面是指向示例捕获文件的链接:https://drive.google.com/file/d/1qZO-WKgTValghMjC4kM56B-M1FlYg5C2/view?usp=sharing

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-16 01:04:08

在最新的3.07tShar&Wireshark中,不可能将msgpack解码为msgpack(也就是说,这看起来像一个bug)。如果你觉得有道德,你可以档案一

您仍然可以访问第4层之后的数据层。我们可以使用shell魔术来使用您提供的文件对该层进行解码:

代码语言:javascript
复制
# Unix-like (Macos/Linux/BSD) systems ship with xxd.
# WSL on Windows will also have it.
bash$ tshark -r msgpack.pcap -T fields -e data | xxd -p -r | msgpack2json && echo
{"message_type":"complete_caching","generation":123992}

在这里,我们

  • 打印数据字段,以tshark作为ASCII十六进制
  • 使用xxd将文本十六进制转换为bin十六进制
  • 使用来自msgpack-工具msgpack-工具将二进制数据转换回JSON。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59343401

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档