Appearance
Appearance
Apache Kafka 是分布式流处理平台,抓包中通常表现为客户端、Broker 之间的 TCP 通信。用 Wireshark 看 Kafka,主要用于确认客户端是否连到正确 Broker、连接是否建立、请求是否到达默认端口,以及网络层是否存在重传、断开或延迟。
不要把 Kafka 抓包分析和 Kafka 服务端日志混淆:抓包能说明网络连接和协议交互是否发生,但业务语义、权限、Topic 配置和集群状态仍需要结合 Kafka 自身日志与配置判断。
| 任务 | 建议入口 | 说明 |
|---|---|---|
| 判断是否连到默认 Broker 端口 | tcp.port == 9092 | 原页面记录 Kafka Broker 默认 TCP 端口为 9092。 |
| 判断 Wireshark 是否识别 Kafka | kafka | 适用于已被 Kafka dissector 识别的流量。 |
| 排查连接失败 | TCP 三次握手、RST、重传 | 先确认网络层是否连通,再看 Kafka 层。 |
| 排查延迟或断开 | TCP Stream、重传、窗口变化 | Kafka 问题常需要同时看客户端日志、Broker 日志和抓包时间线。 |
kafka只显示 Wireshark 已解析为 Kafka 的流量。
tcp.port == 9092按 Kafka Broker 默认端口初筛。
ip.addr == 192.0.2.10 && tcp.port == 9092围绕某个客户端或 Broker 查看 Kafka 连接。请把示例地址替换成现场地址。
tcp.analysis.retransmission && tcp.port == 9092查看 Kafka 连接上的 TCP 重传,用于排查网络质量问题。
先确认端口是否确实承载 Kafka、抓包是否完整、Wireshark 是否启用了相应解析。端口只能作为入口,不能单独证明协议类型。
原页面记录默认 Broker TCP 端口是 9092,但实际环境可以改端口,也可能有代理、负载均衡或加密入口。现场分析应以服务配置和连接目标为准。
通常不能只靠抓包下结论。抓包适合先判断连接、请求和网络异常;Topic、消费组、ACL、认证授权等问题需要结合 Kafka 客户端和 Broker 日志。
SampleCaptures/kafka-testcases.tar.gz于 2020-08-11 23:15:44 UTC 从 https://wiki.wireshark.org/Kafka 导入