Skip to Content
Docs问题排查802 Telegraf 网络流量抓包 SOP

版本: v1.0 修改日期: 2026-05-29 本文规范 Telegraf 进程网络流量抓包的标准操作流程,确保抓包过程可控、结果可追溯。适用于对 Telegraf 进程或容器的上下行流量进行排障、审计与离线分析的场景。

1 概述

1.1 适用场景

  • 检查 Telegraf 进程的运行情况
  • 抓取与 Telegraf 容器或进程相关的网络流量
  • 保存抓包文件,便于后续离线分析

2 确认 Telegraf 进程

查找 Telegraf 主进程 PID,后续抓包命令都依赖该 PID。

ps -ef | grep telegraf # | | └── 过滤含 telegraf 的进程行 # | └── 管道:将 ps 输出传给 grep # └── 显示所有进程的完整格式
  • 从输出中记录 Telegraf 主进程的 PID(例如 3361279
  • 若 Telegraf 运行在容器中,需定位该容器内 Telegraf 对应的宿主机进程 PID
  • 若存在多个 Telegraf 进程,根据启动参数或配置文件路径区分目标进程

3 进入网络命名空间抓包

3.1 确认网络接口(可选)

进入目标进程所在的网络命名空间查看网络接口,确认待抓包的网卡名称(常见如 eth0ens33):

nsenter -t <PID> -n ip addr

3.2 执行抓包命令

nsenter -t 3361279 -n tcpdump -vvv -XX host 10.250.0.155 -nn -w /tmp/202605131033.pcap # | | | | | | | | # | | | | | | | └── 写入 pcap 文件 # | | | | | | └── 不解析主机名与端口名 # | | | | | └── 过滤条件:仅抓取与 10.250.0.155 相关的流量 # | | | | └── 十六进制 + ASCII 显示包内容 # | | | └── 最详细终端输出 # | | └── tcpdump 抓包工具 # | └── 进入目标进程的网络命名空间 # └── 指定目标进程 PID

参数说明

参数含义
-t <PID>nsenter 参数,指定目标进程 PID
-nnsenter 参数,进入目标进程的网络命名空间
host <IP>过滤条件,仅抓取与该 IP 相关的流量
-nn不解析主机名与端口名,加速抓包
-w <文件>将抓包结果写入 pcap 文件

💡 -vvv-XX 用于控制终端输出的参数在 -w 写入 pcap 场景下无实际意义,建议仅在实时查看流量时使用。

4 结束抓包

方式操作适用场景
手动终止在终端按 Ctrl+C抓包时长不确定、需人工判断
自动终止追加 -c <数量> 参数需限定抓包数量,到量即停

自动终止示例(抓够 1000 个包后自动退出):

nsenter -t 3361279 -n tcpdump -vvv -XX host 10.250.0.155 -nn -c 1000 -w /tmp/202605131033.pcap

5 Wireshark 图形化分析

  1. 将 pcap 文件下载至本地
  2. 使用 Wireshark 打开,进行协议解析、流追踪等深入分析

6 完整流程速查

nsenter -t <PID> -n tcpdump -vvv -XX host <目标IP> -nn -w /tmp/telegraf_$(date +%Y%m%d%H%M).pcap
占位符替换为
<PID>第2章查到的 Telegraf 主进程 PID
<目标IP>需过滤的对端 IP 地址
Last updated on