docker利用共享namespace的方式抓包

系统管理员 2022-12-11 02:25 140阅读 0赞

容器环境下,镜像要求尽可能精简,剔除无效的依赖,达到最为精简的状态,tcpdump 命令肯定不会包含进去,因此决定采用直接启动一个容器然后join到pod的pause容器(本身 在Pod内部,该容器的一个目的就是共享整个Pod的net namespace)上,进行抓包操作。

dockerhub上找到tcpdump镜像拉取下来,找到需要抓包的pod所在节点,登录上去,执行docker ps | grep redisxxxxx找到属于该pod的所有容器,进而找到pause容器,记录pause容器id 执行命令:

  1. docker run --network=container:pauseId --entrypoint=sh -ti corfr/tcpdump

在这里插入图片描述

  1. tcpdump -i eth0 -e -vvv -nnn

在这里插入图片描述

参数含义解释:

  • -i 进行容器交互式命令行

  • -t 分配tty

  • –entrypoint 复写镜像中指定的entrypoint
  • –network 指定容器使用的网络,container:xxx表示共享 xxxx容器的net namespace

发表评论

表情:
评论列表 (有 0 条评论,140人围观)

还没有评论,来说两句吧...

相关阅读