Wireshark - 如何过滤未通过 HTTP 发送的 JSON 内容
Wireshark - How to filter on JSON content not sent over HTTP
我有一个使用 winsock 的 windows 服务与另一个使用 winsock 的 windows 服务通信。我们正在讨论 TCP/IP 使用 JSON。
我正在尝试证明我的服务运行正常,并且与之通信的服务未发送预期的数据。
我将 wireshark 设置为在我在本地计算机上使用的以太网卡上进行捕获并在 ip.addr == 上进行过滤,我可以看到流量。
我期待包含 "Message One" 的消息,而且我可以看到它们,数以千计。
当我收到所有这些时,我希望收到一些包含 "Message Two"
的消息
如何设置过滤器以证明我没有收到 "Message Two" 消息?
我用谷歌搜索了一下,有人说使用数据文本行包含 "Message Two",但这不起作用。我可以通过查看包含 "Message One" 的消息然后过滤包含 "Message One" 的数据文本行来验证它不起作用,并且它们在不应该消失的时候全部消失。我有一种感觉,只适用于http。
我用什么做过滤器?
编辑 - 回复 v.j 的回复并能够上传 img:
我没有看到 "Expression" 按钮。这是一些屏幕截图。
Wireshark 也支持 JSON 的过滤器。转到 Analyze->Display Filter,然后单击 Expression 按钮配置不同的过滤器字符串,如 -> JSON 对象、JSON 数组等以及 "contains" 或 [=24= 等关系]
这应该有助于设置 JSON 相关过滤器。
编辑:附上关于如何通过按钮访问表达式的截图
EDIT2:可以在 Wireshark 版本 2.4.0 中访问表达式,如下所示
使用这个:
http.content_type == "application/json"
我有一个使用 winsock 的 windows 服务与另一个使用 winsock 的 windows 服务通信。我们正在讨论 TCP/IP 使用 JSON。
我正在尝试证明我的服务运行正常,并且与之通信的服务未发送预期的数据。
我将 wireshark 设置为在我在本地计算机上使用的以太网卡上进行捕获并在 ip.addr == 上进行过滤,我可以看到流量。
我期待包含 "Message One" 的消息,而且我可以看到它们,数以千计。 当我收到所有这些时,我希望收到一些包含 "Message Two"
的消息如何设置过滤器以证明我没有收到 "Message Two" 消息?
我用谷歌搜索了一下,有人说使用数据文本行包含 "Message Two",但这不起作用。我可以通过查看包含 "Message One" 的消息然后过滤包含 "Message One" 的数据文本行来验证它不起作用,并且它们在不应该消失的时候全部消失。我有一种感觉,只适用于http。
我用什么做过滤器?
编辑 - 回复 v.j 的回复并能够上传 img:
我没有看到 "Expression" 按钮。这是一些屏幕截图。
Wireshark 也支持 JSON 的过滤器。转到 Analyze->Display Filter,然后单击 Expression 按钮配置不同的过滤器字符串,如 -> JSON 对象、JSON 数组等以及 "contains" 或 [=24= 等关系]
这应该有助于设置 JSON 相关过滤器。
编辑:附上关于如何通过按钮访问表达式的截图
EDIT2:可以在 Wireshark 版本 2.4.0 中访问表达式,如下所示
使用这个:
http.content_type == "application/json"