云原生

抓包分析Remote API

2019-06-27  本文已影响1人  印随2018

使用Charles捕获docker client和docker daemon之间的HTTP数据

一、准备环境

为了模拟真实的环境,准备了三个节点

二、Docker Daemon

  1. 启动docker daemon
    systemctl start daemon
    
  2. 开放端口
    iptables -I INPUT -p tcp --dport 2375 -j ACCEPT
    

三、Charles配置

启动Charles,修改proxy settings,监听8080端口,同时关闭https代理

四、Docker Client

  1. 设置环境变量
    export DOCKER_HOST=192.168.0.19
    export HTTP_PROXY=http://192.168.0.11:8080
    
  2. 启动一个容器
    docker images
    docker run -itd ubuntu /bin/bash
    

五、Charles查看捕获的数据

image.png

刚才我们执行了两个命令,每次都会触发执行_ping接口的调用。另外,docker run实际上调用了三个接口,首先是创建容器,其次是启动容器,第三个接口是等待响应。

使用这种方法,就可以很容易把docker执行的命令转换为Remote API调用。

上一篇下一篇

猜你喜欢

热点阅读