docker指定容器抓包
服务端开发时,有的时候不方便断点调试,只能进行抓包确认问题。
如果是服务器安装了多个docker,会导致网络非常复杂,需要直接对container抓包,便于跟踪问题。
确定container对应的网卡方法如下
- 进入容器
docker exec -it <container id> /bin/bash
- 执行命令
cat /sys/class/net/eth0/iflink 137
- 退出容器返回服务器
ip link | grep 137
137: veth10e3ea14@if3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc noqueue master cni0 state UP mode DEFAULT group default
- 开始抓包
tcpdump -i veth10e3ea14 -w output.pcap
然后用wireshark分析output.pcap文件即可