K8S下使用tcpdump命令对容器进行抓包

容器中一般没有抓包命令,这时候可以通过进入容器的网络命名空间来执行命令,对容器进行网络抓包。

确定并登录容器所在节点

kubectl get po -n <ns_name> <pod_name> -o wide
找到容器所在的NODE,登录NODE,安装tcpdump命令

确定容器PID

首先找到容器id
docker ps|grep <container_id>
根据容器id查询pid
方法一
docker inspect <container_id>|grep Pid
方法二
docker top <container_id>

切换命名空间

nsenter -n -t <pid>

抓包分析

使用tcpdump命令进行抓包,抓到的包可以使用wireshark进行分析
eg:

tcpdump -i <网卡名>
tcpdump -w <文件名>
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容