我正在使用 WireShark 分析数百万个数据包。是否有过滤器可以仅显示有错误的数据包?
我所说的“错误”是指 IP 错误(例如,错误的 IP 头校验和)、TCP 错误(例如,错误的 TCP 校验和)或者应用层错误(在我的情况下是 FIX 协议,由 WireShark 解析)。
如何配置 WireShark 以仅显示错误的数据包?
答案1
Wireshark 对“错误”作为通用概念的唯一概念是“专家信息”项的概念,其严重性级别为“错误”(这是最高严重性级别)。
要查找具有该类型“专家信息”项目的所有数据包,请使用显示过滤器
expert.severity == error
在 Wireshark 1.10.x 及更早版本中
_ws.expert.severity == error
在 Wireshark 1.12 及更高版本中。
但是,只有当出现错误的协议的 Wireshark 解析器具有查找相关错误的代码,并且如果找到该错误,则为该错误添加专家信息项时,才会显示错误。(Wireshark 是一个愚蠢的软件,而不是一个聪明的网络专家,可以检测到除编写的检测错误之外的其他错误。)
答案2
更具体的错误过滤器示例:
_ws.expert.group == Malformed
_ws.expert.severity != Ok
_ws.expert.message ~ "A new tcp session is started with the same ports"
群组名称:
校验和、序列、响应、请求、未解码、重新组装、格式错误、调试、协议、安全、注释
严重程度:
错误、警告、注意、聊天、评论、确定
消息
可以在专家信息节点的分析部分中查找示例问题数据包的数据包内容视图。例如
Transmission Control Protocol/[SEQ/ACK analysis]/[TCP Analysis Flags]/[Expert Info]
这是基于 user164970 的回答