首批通过分布式安全可靠测评,为关键业务系统打造
使用 tcpdump 抓包
更新时间:2026-04-13 15:30:59
本文档旨在介绍如何使用 tcpdump 抓包。
ODC 容器内默认不包含 tcpdump 抓包工具,因此需要通过宿主机来对容器进行抓包。
步骤 1:获取容器的 Pid
# 获取 container-id
docker ps | grep odc

# 获取容器的 PID,假设 ODC container-id 为 `dceb`
docker inspect dceb | grep Pid

步骤 2:进入容器的命名空间
通过 nsenter 命令进入容器进程的网络命名空间。
# 假设 ODC 容器的 Pid 为 84139
sudo nsenter -t 84139 -n
使用 ifconfig 命令查看该容器的网卡信息。

步骤 3:使用 tcpdump 抓包
参考命令:
tcpdump tcp -i eth0 -c 1000 -vvv and port 80 and src net ***.***.*.*/24 -w ./target.cap
参数说明:
| 参数 | 说明 |
|---|---|
| tcp | 只监听 tcp 协议的数据包。 |
| -i eth0 | 只抓取经过网卡 eth0 的数据包。 |
| -c 1000 | 只抓取 1000 个数据包。 |
| -vvv | 显示详细信息。 |
| port | 监听端口。
注意需要使用容器的内部端口。例如:容器通过 |
| scr net ***.***.*.*/24 | 数据包的源地址为 ***.***.*.*/24。 |
| -w ./target.cap | 保存成 cap 文件,方便用 wireshark 分析。 |