抓包工具链61 条

容器内抓包方法

容器共享宿主网卡或独立 netns:独立网络时要在容器命名空间内抓,或从宿主按 veth 对端抓;容器里往往没有 tcpdump 需临时安装。

用途定位容器网络的抓包入口
方法nsenter/容器内执行/宿主 veth

命令示例

命令示例
nsenter -t $(docker inspect -f '{{.State.Pid}}' web) -n tcpdump -i eth0 -nn
# 或 docker exec 容器内安装后抓
宿主侧对应 veth 名称可用 ip link 定位(@if 序号配对)。

易错点

  • 容器重建后 PID 与 netns 变化,长任务要记录容器 ID
  • 容器内抓包工具缺失时避免装太多额外包,优先宿主侧抓

数据来源与参考

  • docker/nsenter 文档
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌