Skip to content

Instantly share code, notes, and snippets.

@deeso
Created August 14, 2020 14:51
Show Gist options
  • Save deeso/77e26ddfde0b359f8959259ac566bdc4 to your computer and use it in GitHub Desktop.
Save deeso/77e26ddfde0b359f8959259ac566bdc4 to your computer and use it in GitHub Desktop.
Recvd connection from: ('127.0.0.1', 48344)
Incoming:
b'HEAD /_ping HTTP/1.1\r\nHost: 127.0.0.1:9090\r\nUser-Agent: Docker-Client/19.03.8 (linux)\r\n\r\n'
Sending 89 bytes to docker
Outgoing:
b'HTTP/1.1 200 OK\r\nApi-Version: 1.40\r\nCache-Control: no-cache, no-store, must-revalidate\r\nContent-Length: 0\r\nContent-Type: text/plain; charset=utf-8\r\nDocker-Experimental: false\r\nOstype: linux\r\nPragma: no-cache\r\nServer: Docker/19.03.8 (linux)\r\nDate: Fri, 14 Aug 2020 14:04:44 GMT\r\n\r\n'
Sending 280 bytes to ('127.0.0.1', 48344)
Out[1]: b'HTTP/1.1 200 OK\r\nApi-Version: 1.40\r\nCache-Control: no-cache, no-store, must-revalidate\r\nContent-Length: 0\r\nContent-Type: text/plain; charset=utf-8\r\nDocker-Experimental: false\r\nOstype: linux\r\nPragma: no-cache\r\nServer: Docker/19.03.8 (linux)\r\nDate: Fri, 14 Aug 2020 14:04:44 GMT\r\n\r\n'
In [2]: handle_incoming_socket(client, dump_data=True)
Incoming:
b'POST /v1.40/containers/create HTTP/1.1\r\nHost: 127.0.0.1:9090\r\nUser-Agent: Docker-Client/19.03.8 (linux)\r\nContent-Length: 1871\r\nContent-Type: application/json\r\n\r\n{"Hostname":"","Domainname":"","User":"","AttachStdin":false,"AttachStdout":true,"AttachStderr":true,"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":[],"Cmd":["chroot","/mnt","/bin/sh","-c","echo \'IyEvYmluL2Jhc2gKZGF0ZSArJ0ZPUk1BVCcKIAojIyMgbW0vZGQveXl5eSAjIyMKZGF0ZSArJyVtLyVkLyVZJwogCiMjIFRpbWUgaW4gMTIgaHIgZm9ybWF0ICMjIwpkYXRlICsnJXInCiAKIyMgYmFja3VwIGRpciBmb3JtYXQgIyMKYmFja3VwX2Rpcj0kKGRhdGUgKyclbS8lZC8lWScpCmVjaG8gIkJhY2t1cCBkaXIgZm9yIHRvZGF5OiAvbmFzMDQvYmFja3Vwcy8ke2JhY2t1cF9kaXJ9Igo=\' | base64 -f | bash"],"Image":"alpine","Volumes":{},"WorkingDir":"","Entrypoint":null,"OnBuild":null,"Labels":{},"HostConfig":{"Binds":["/:/mnt"],"ContainerIDFile":"","LogConfig":{"Type":"","Config":{}},"NetworkMode":"default","PortBindings":{},"RestartPolicy":{"Name":"no","MaximumRetryCount":0},"AutoRemove":true,"VolumeDriver":"","VolumesFrom":null,"CapAdd":null,"CapDrop":null,"Capabilities":null,"Dns":[],"DnsOptions":[],"DnsSearch":[],"ExtraHosts":null,"GroupAdd":null,"IpcMode":"","Cgroup":"","Links":null,"OomScoreAdj":0,"PidMode":"","Privileged":false,"PublishAllPorts":false,"ReadonlyRootfs":false,"SecurityOpt":null,"UTSMode":"","UsernsMode":"","ShmSize":0,"ConsoleSize":[0,0],"Isolation":"","CpuShares":0,"Memory":0,"NanoCpus":0,"CgroupParent":"","BlkioWeight":0,"BlkioWeightDevice":[],"BlkioDeviceReadBps":null,"BlkioDeviceWriteBps":null,"BlkioDeviceReadIOps":null,"BlkioDeviceWriteIOps":null,"CpuPeriod":0,"CpuQuota":0,"CpuRealtimePeriod":0,"CpuRealtimeRuntime":0,"CpusetCpus":"","CpusetMems":"","Devices":[],"DeviceCgroupRules":null,"DeviceRequests":null,"KernelMemory":0,"KernelMemoryTCP":0,"MemoryReservation":0,"MemorySwap":0,"MemorySwappiness":-1,"OomKillDisable":false,"PidsLimit":0,"Ulimits":null,"CpuCount":0,"CpuPercent":0,"IOMaximumIOps":0,"IOMaximumBandwidth":0,"MaskedPaths":null,"ReadonlyPaths":null},"NetworkingConfig":{"EndpointsConfig":{}}}\n'
Sending 2032 bytes to docker
Outgoing:
b'HTTP/1.1 404 Not Found\r\nApi-Version: 1.40\r\nContent-Type: application/json\r\nDocker-Experimental: false\r\nOstype: linux\r\nServer: Docker/19.03.8 (linux)\r\nDate: Fri, 14 Aug 2020 14:05:15 GMT\r\nContent-Length: 43\r\n\r\n{"message":"No such image: alpine:latest"}\n'
Sending 252 bytes to ('127.0.0.1', 48344)
Out[2]: b'HTTP/1.1 404 Not Found\r\nApi-Version: 1.40\r\nContent-Type: application/json\r\nDocker-Experimental: false\r\nOstype: linux\r\nServer: Docker/19.03.8 (linux)\r\nDate: Fri, 14 Aug 2020 14:05:15 GMT\r\nContent-Length: 43\r\n\r\n{"message":"No such image: alpine:latest"}\n'
In [3]: handle_incoming_socket(client, dump_data=True)
Incoming:
b'GET /v1.40/info HTTP/1.1\r\nHost: 127.0.0.1:9090\r\nUser-Agent: Docker-Client/19.03.8 (linux)\r\n\r\n'
Sending 93 bytes to docker
Outgoing:
b'HTTP/1.1 200 OK\r\nApi-Version: 1.40\r\nContent-Type: application/json\r\nDocker-Experimental: false\r\nOstype: linux\r\nServer: Docker/19.03.8 (linux)\r\nDate: Fri, 14 Aug 2020 14:05:22 GMT\r\nTransfer-Encoding: chunked\r\n\r\n843\r\n{"ID":"R6JW:NL2W:NZDC:LPUO:Z4ND:T5Z3:N5CR:MWJD:YVIU:L4T4:VWIX:TXL5","Containers":4,"ContainersRunning":0,"ContainersPaused":0,"ContainersStopped":4,"Images":27,"Driver":"overlay2","DriverStatus":[["Backing Filesystem","<unknown>"],["Supports d_type","true"],["Native Overlay Diff","true"]],"SystemStatus":null,"Plugins":{"Volume":["local"],"Network":["bridge","host","ipvlan","macvlan","null","overlay"],"Authorization":null,"Log":["awslogs","fluentd","gcplogs","gelf","journald","json-file","local","logentries","splunk","syslog"]},"MemoryLimit":true,"SwapLimit":false,"KernelMemory":true,"KernelMemoryTCP":true,"CpuCfsPeriod":true,"CpuCfsQuota":true,"CPUShares":true,"CPUSet":true,"PidsLimit":true,"IPv4Forwarding":true,"BridgeNfIptables":true,"BridgeNfIp6tables":true,"Debug":false,"NFd":21,"OomKillDisable":true,"NGoroutines":34,"SystemTime":"2020-08-14T09:05:22.788638516-05:00","LoggingDriver":"json-file","CgroupDriver":"cgroupfs","NEventsListener":0,"KernelVersion":"5.4.0-42-generic","OperatingSystem":"Ubuntu 20.04 LTS","OSType":"linux","Architecture":"x86_64","IndexServerAddress":"https://index.docker.io/v1/","RegistryConfig":{"AllowNondistributableArtifactsCIDRs":[],"AllowNondistributableArtifactsHostnames":[],"InsecureRegistryCIDRs":["127.0.0.0/8"],"IndexConfigs":{"docker.io":{"Name":"docker.io","Mirrors":[],"Secure":true,"Official":true}},"Mirrors":[]},"NCPU":12,"MemTotal":67246956544,"GenericResources":null,"DockerRootDir":"/var/lib/docker","HttpProxy":"","HttpsProxy":"","NoProxy":"","Name":"power-hoose","Labels":[],"ExperimentalBuild":false,"ServerVersion":"19.03.8","ClusterStore":"","ClusterAdvertise":"","Runtimes":{"runc":{"path":"runc"}},"DefaultRuntime":"runc","Swarm":{"NodeID":"","NodeAddr":"","LocalNodeState":"inactive","ControlAvailable":false,"Error":"","RemoteManagers":null},"LiveRestoreEnabled":false,"Isolation":"","InitBinary":"docker-init","ContainerdCommit":{"ID":"","Expected":""},"RuncCommit":{"ID":"","Expected":""},"InitCommit":{"ID":"","Expected":""},"SecurityOptions":["name=apparmor","name=seccomp,profile=default"],"Warnings":["WARNING: No swap limit support"]}\n\r\n0\r\n\r\n'
Sending 2337 bytes to ('127.0.0.1', 48344)
Out[3]: b'HTTP/1.1 200 OK\r\nApi-Version: 1.40\r\nContent-Type: application/json\r\nDocker-Experimental: false\r\nOstype: linux\r\nServer: Docker/19.03.8 (linux)\r\nDate: Fri, 14 Aug 2020 14:05:22 GMT\r\nTransfer-Encoding: chunked\r\n\r\n843\r\n{"ID":"R6JW:NL2W:NZDC:LPUO:Z4ND:T5Z3:N5CR:MWJD:YVIU:L4T4:VWIX:TXL5","Containers":4,"ContainersRunning":0,"ContainersPaused":0,"ContainersStopped":4,"Images":27,"Driver":"overlay2","DriverStatus":[["Backing Filesystem","<unknown>"],["Supports d_type","true"],["Native Overlay Diff","true"]],"SystemStatus":null,"Plugins":{"Volume":["local"],"Network":["bridge","host","ipvlan","macvlan","null","overlay"],"Authorization":null,"Log":["awslogs","fluentd","gcplogs","gelf","journald","json-file","local","logentries","splunk","syslog"]},"MemoryLimit":true,"SwapLimit":false,"KernelMemory":true,"KernelMemoryTCP":true,"CpuCfsPeriod":true,"CpuCfsQuota":true,"CPUShares":true,"CPUSet":true,"PidsLimit":true,"IPv4Forwarding":true,"BridgeNfIptables":true,"BridgeNfIp6tables":true,"Debug":false,"NFd":21,"OomKillDisable":true,"NGoroutines":34,"SystemTime":"2020-08-14T09:05:22.788638516-05:00","LoggingDriver":"json-file","CgroupDriver":"cgroupfs","NEventsListener":0,"KernelVersion":"5.4.0-42-generic","OperatingSystem":"Ubuntu 20.04 LTS","OSType":"linux","Architecture":"x86_64","IndexServerAddress":"https://index.docker.io/v1/","RegistryConfig":{"AllowNondistributableArtifactsCIDRs":[],"AllowNondistributableArtifactsHostnames":[],"InsecureRegistryCIDRs":["127.0.0.0/8"],"IndexConfigs":{"docker.io":{"Name":"docker.io","Mirrors":[],"Secure":true,"Official":true}},"Mirrors":[]},"NCPU":12,"MemTotal":67246956544,"GenericResources":null,"DockerRootDir":"/var/lib/docker","HttpProxy":"","HttpsProxy":"","NoProxy":"","Name":"power-hoose","Labels":[],"ExperimentalBuild":false,"ServerVersion":"19.03.8","ClusterStore":"","ClusterAdvertise":"","Runtimes":{"runc":{"path":"runc"}},"DefaultRuntime":"runc","Swarm":{"NodeID":"","NodeAddr":"","LocalNodeState":"inactive","ControlAvailable":false,"Error":"","RemoteManagers":null},"LiveRestoreEnabled":false,"Isolation":"","InitBinary":"docker-init","ContainerdCommit":{"ID":"","Expected":""},"RuncCommit":{"ID":"","Expected":""},"InitCommit":{"ID":"","Expected":""},"SecurityOptions":["name=apparmor","name=seccomp,profile=default"],"Warnings":["WARNING: No swap limit support"]}\n\r\n0\r\n\r\n'
In [4]: handle_incoming_socket(client, dump_data=True)
Incoming:
b'POST /v1.40/images/create?fromImage=alpine&tag=latest HTTP/1.1\r\nHost: 127.0.0.1:9090\r\nUser-Agent: Docker-Client/19.03.8 (linux)\r\nContent-Length: 0\r\nContent-Type: text/plain\r\nX-Registry-Auth: e30=\r\n\r\n'
Sending 199 bytes to docker
Outgoing:
b'HTTP/1.1 200 OK\r\nApi-Version: 1.40\r\nContent-Type: application/json\r\nDocker-Experimental: false\r\nOstype: linux\r\nServer: Docker/19.03.8 (linux)\r\nDate: Fri, 14 Aug 2020 14:05:28 GMT\r\nTransfer-Encoding: chunked\r\n\r\n38\r\n{"status":"Pulling from library/alpine","id":"latest"}\r\n\r\n'
Sending 272 bytes to ('127.0.0.1', 48344)
Out[4]: b'HTTP/1.1 200 OK\r\nApi-Version: 1.40\r\nContent-Type: application/json\r\nDocker-Experimental: false\r\nOstype: linux\r\nServer: Docker/19.03.8 (linux)\r\nDate: Fri, 14 Aug 2020 14:05:28 GMT\r\nTransfer-Encoding: chunked\r\n\r\n38\r\n{"status":"Pulling from library/alpine","id":"latest"}\r\n\r\n'
In [5]: handle_incoming_socket(client, dump_data=True)
^C---------------------------------------------------------------------------
KeyboardInterrupt Traceback (most recent call last)
<ipython-input-5-8164d3a61c45> in <module>
----> 1 handle_incoming_socket(client, dump_data=True)
<ipython-input-1-e9b5a3c8b433> in handle_incoming_socket(client, dump_data)
15
16 def handle_incoming_socket(client, dump_data=False):
---> 17 data = client.recv(MAX_DATA)
18 if dump_data:
19 print('Incoming:\n', repr(data))
KeyboardInterrupt:
In [6]: client, address = server.accept()
...: print("Recvd connection from: {}".format(address))
...: handle_incoming_socket(client, dump_data=True)
...:
Recvd connection from: ('127.0.0.1', 48808)
Incoming:
b'HEAD /_ping HTTP/1.1\r\nHost: 127.0.0.1:9090\r\nUser-Agent: Docker-Client/19.03.8 (linux)\r\n\r\n'
Sending 89 bytes to docker
Outgoing:
b'HTTP/1.1 200 OK\r\nApi-Version: 1.40\r\nCache-Control: no-cache, no-store, must-revalidate\r\nContent-Length: 0\r\nContent-Type: text/plain; charset=utf-8\r\nDocker-Experimental: false\r\nOstype: linux\r\nPragma: no-cache\r\nServer: Docker/19.03.8 (linux)\r\nDate: Fri, 14 Aug 2020 14:20:46 GMT\r\n\r\n'
Sending 280 bytes to ('127.0.0.1', 48808)
Out[6]: b'HTTP/1.1 200 OK\r\nApi-Version: 1.40\r\nCache-Control: no-cache, no-store, must-revalidate\r\nContent-Length: 0\r\nContent-Type: text/plain; charset=utf-8\r\nDocker-Experimental: false\r\nOstype: linux\r\nPragma: no-cache\r\nServer: Docker/19.03.8 (linux)\r\nDate: Fri, 14 Aug 2020 14:20:46 GMT\r\n\r\n'
In [7]: handle_incoming_socket(client, dump_data=True)
Incoming:
b'POST /v1.40/containers/create HTTP/1.1\r\nHost: 127.0.0.1:9090\r\nUser-Agent: Docker-Client/19.03.8 (linux)\r\nContent-Length: 1871\r\nContent-Type: application/json\r\n\r\n{"Hostname":"","Domainname":"","User":"","AttachStdin":false,"AttachStdout":true,"AttachStderr":true,"Tty":false,"OpenStdin":false,"StdinOnce":false,"Env":[],"Cmd":["chroot","/mnt","/bin/sh","-c","echo \'IyEvYmluL2Jhc2gKZGF0ZSArJ0ZPUk1BVCcKIAojIyMgbW0vZGQveXl5eSAjIyMKZGF0ZSArJyVtLyVkLyVZJwogCiMjIFRpbWUgaW4gMTIgaHIgZm9ybWF0ICMjIwpkYXRlICsnJXInCiAKIyMgYmFja3VwIGRpciBmb3JtYXQgIyMKYmFja3VwX2Rpcj0kKGRhdGUgKyclbS8lZC8lWScpCmVjaG8gIkJhY2t1cCBkaXIgZm9yIHRvZGF5OiAvbmFzMDQvYmFja3Vwcy8ke2JhY2t1cF9kaXJ9Igo=\' | base64 -f | bash"],"Image":"alpine","Volumes":{},"WorkingDir":"","Entrypoint":null,"OnBuild":null,"Labels":{},"HostConfig":{"Binds":["/:/mnt"],"ContainerIDFile":"","LogConfig":{"Type":"","Config":{}},"NetworkMode":"default","PortBindings":{},"RestartPolicy":{"Name":"no","MaximumRetryCount":0},"AutoRemove":true,"VolumeDriver":"","VolumesFrom":null,"CapAdd":null,"CapDrop":null,"Capabilities":null,"Dns":[],"DnsOptions":[],"DnsSearch":[],"ExtraHosts":null,"GroupAdd":null,"IpcMode":"","Cgroup":"","Links":null,"OomScoreAdj":0,"PidMode":"","Privileged":false,"PublishAllPorts":false,"ReadonlyRootfs":false,"SecurityOpt":null,"UTSMode":"","UsernsMode":"","ShmSize":0,"ConsoleSize":[0,0],"Isolation":"","CpuShares":0,"Memory":0,"NanoCpus":0,"CgroupParent":"","BlkioWeight":0,"BlkioWeightDevice":[],"BlkioDeviceReadBps":null,"BlkioDeviceWriteBps":null,"BlkioDeviceReadIOps":null,"BlkioDeviceWriteIOps":null,"CpuPeriod":0,"CpuQuota":0,"CpuRealtimePeriod":0,"CpuRealtimeRuntime":0,"CpusetCpus":"","CpusetMems":"","Devices":[],"DeviceCgroupRules":null,"DeviceRequests":null,"KernelMemory":0,"KernelMemoryTCP":0,"MemoryReservation":0,"MemorySwap":0,"MemorySwappiness":-1,"OomKillDisable":false,"PidsLimit":0,"Ulimits":null,"CpuCount":0,"CpuPercent":0,"IOMaximumIOps":0,"IOMaximumBandwidth":0,"MaskedPaths":null,"ReadonlyPaths":null},"NetworkingConfig":{"EndpointsConfig":{}}}\n'
Sending 2032 bytes to docker
Outgoing:
b'HTTP/1.1 201 Created\r\nApi-Version: 1.40\r\nContent-Type: application/json\r\nDocker-Experimental: false\r\nOstype: linux\r\nServer: Docker/19.03.8 (linux)\r\nDate: Fri, 14 Aug 2020 14:21:09 GMT\r\nContent-Length: 88\r\n\r\n{"Id":"b5026ad6544b9c403ef3425881f5c43c977543528d428eaadb74c6b92c4dfaa5","Warnings":[]}\n'
Sending 295 bytes to ('127.0.0.1', 48808)
Out[7]: b'HTTP/1.1 201 Created\r\nApi-Version: 1.40\r\nContent-Type: application/json\r\nDocker-Experimental: false\r\nOstype: linux\r\nServer: Docker/19.03.8 (linux)\r\nDate: Fri, 14 Aug 2020 14:21:09 GMT\r\nContent-Length: 88\r\n\r\n{"Id":"b5026ad6544b9c403ef3425881f5c43c977543528d428eaadb74c6b92c4dfaa5","Warnings":[]}\n'
In [8]: handle_incoming_socket(client, dump_data=True)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment