容器环境下如何进行tcpdump
容器(docker、k8s、kubernetes)环境下如何进行tcpdump应用时运行在 k8s 集群中的,与传统的在虚拟机直接通过 tcpdump 抓包方式略有不同。因为无法精确定位,开始抓的包都巨大。而实际上 它们只是在宿主机上不同 namespace 运行的进程而已 。因此要在不同的容器抓包可以简单地使用命令切换 nsenter即可,可以使用在宿主机上的 tcpdump 等应用。找到宿主机
·
容器(docker、k8s、kubernetes)环境下如何进行tcpdump
应用时运行在 k8s 集群中的,与传统的在虚拟机直接通过 tcpdump 抓包方式略有不同。因为无法精确定位,开始抓的包都巨大。而实际上 它们只是在宿主机上不同 namespace 运行的进程而已 。因此要在不同的容器抓包可以简单地使用命令切换 nsenter即可,可以使用在宿主机上的 tcpdump 等应用。
找到宿主机
通过容器的界面或者kubectl get pod -n your-namespace -o yaml your-app
获取pod的pid
1、先找到容器的id,docker ps
2、然后进行到镜像中找到pid,docker inspect 加上面的id
切换命名空间
1、nsenter --target pid -n
2、ifconfig就可以看到pod的ip了,然后就可以使用tcpdump
更多推荐
已为社区贡献1条内容
所有评论(0)