广告
返回顶部
首页 > 资讯 > 移动开发 >Docker 容器应急
  • 100
分享到

Docker 容器应急

docker容器容器应急 2023-10-12 19:10:34 100人浏览 安东尼
摘要

容器网络简单理解 容器拥有n多张veth网卡与一张Docker0网卡 docker 五种网络 bridge 默认网络,Docker启动后创建一个docker0网桥,默认创建的容器也是添加到这个网桥中

容器网络简单理解

容器拥有n多张veth网卡与一张Docker0网卡

在这里插入图片描述

docker 五种网络

  • bridge
    默认网络,Docker启动后创建一个docker0网桥,默认创建的容器也是添加到这个网桥中。
  • host
    容器不会获得一个独立的network namespace,而是与宿主机共用一个。这就意味着容器不会有自己的网卡信息,而是使用宿主机的。容器除了网络,其他都是隔离的。
  • none
    获取独立的network namespace,但不为容器进行任何网络配置,需要我们手动配置。
  • container
    与指定的容器使用同一个network namespace,具有同样的网络配置信息,两个容器除了网络,其他都还是隔离的。
  • 自定义网络
    与默认的bridge原理一样,但自定义网络具备内部DNS发现,可以通过容器名容器之间网络通信。

默认都为bridge网卡
在这里插入图片描述

容器内为什么能通baidu
容器内虚拟网卡网卡——》容器网关(宿主机虚拟网卡)——》docker0网卡——》物理网卡

在这里插入图片描述

两种情况

我做了一个实验,发现两种情况
第一种情况,容器会走vet网卡在到docker0网卡,所以在两张网卡上都能抓到对应的数据包。

在这里插入图片描述

在这里插入图片描述

第二种情况,在docker0网卡上抓不到流量,只能在对应的veth网卡上才能抓到流量
在这里插入图片描述
我发现docker0上并不能抓到容器的流量
在这里插入图片描述
在使用traceroute查看路由后,我发现,容器在出网关后到了192.168.68.2,该ip为物理机物理网卡网关,意思是,该容器,从容器虚拟网关出来后直接到了物理机网关,跳过了docker0网卡,所以使用tcpdump -i docker0抓取该容器流量是抓不到的
在这里插入图片描述
在这里插入图片描述
为什么会出现这总问题,在查看iptables规则时,我发现,在docker创建时可能会添加一些规则

iptables -t nat -S

在这里插入图片描述

-A POSTROUTING -s 172.17.0.0/16 ! -o docker0 -j MASQUERADE

这条规则的意思是如果docker0收到来自172.17.0.0/16这个网段的外出包,docker0会交给MASQUERADE处理,而MASQUERADE处理方式是将包源地址替换成host地址发出
在这里插入图片描述
所以,跳过docker0网卡直接到物理网卡的原因是iptables规则中有该网卡直接nat出去的规则

基础信息收集

基础信息

观察其状态,映射端口

docker container lsdocker ps

在这里插入图片描述

详细信息

检查容器详细信息,挂载的数据卷,运行时间,Mac地址等信息

docker inspect ID

在这里插入图片描述

资源使用

检查容器资源使用情况

docker stats ID

在这里插入图片描述

进程信息

容器进程信息

docker top ID

在这里插入图片描述

文件

容器文件信息

docker diff ID | grep A# A -add# D -delete# C -change

在这里插入图片描述

应急处置

  1. 构建镜像,保留证据
  2. 检查异常
  3. 暂停容器内进程
  4. 断开容器网络

构建镜像

docker commit -m="说明" ID check08:1.0

在这里插入图片描述
暂停容器中的进程,包括后台,守护进程等,文件系统运行状态不变

docker pause ID # 暂停docker unpause ID # 恢复

在这里插入图片描述

定位容器

容器通过docker0网卡进行通信,可以通过tcpdump指定网卡找到异常网络连接,然后进一步关联容器。
情况一:ids或其他安全设备告警,某台linux上出现了恶意连接,该linux主机上部署了多个容器,该如何排查是那个容器出现了问题?

在宿主机上通过netstat -an 是看不到容器内的网络连接的,而一台台进入容器查看网络连接,排查效率很慢,而且很多容器没有安装net-tools工具,没有netstat工具。

抓取流量

情况一:直接通过docker0网卡进行tcpdump流量抓取,通过安全设备给出的IP地址定位容器。
情况二:docker0网卡无法抓取到,只能一个一个网卡进行排查。

抓取docker0网卡流量

tcpdump -i docker0 dst host xx.xx.xx.xx -v -w docker.pcap

抓取容器对应的veth流量

iptables -t nat -S # 查看对应网卡

在这里插入图片描述

tcpdump -i br-28b6e6930d36 dst host 172.29.246.156 -v -w br-28b6e6930d36.pcaptcpdump -i br-28b6e6930d36 dst host 172.29.246.156 -v

定位容器

利用docker inspect -f匹配模块文件匹配对应容器

docker inspect -f '{{.Name}}{{range .networkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq) | grep 172.19.0.2docker container ls -a | grep 82-pte-lamp-1

开源容器扫描器

https://github.com/chaitin/veinmind-tools

在这里插入图片描述

来源地址:https://blog.csdn.net/qq_38626043/article/details/133794752

--结束END--

本文标题: Docker 容器应急

本文链接: https://www.lsjlt.com/news/429818.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Docker 容器应急
    容器网络简单理解 容器拥有n多张veth网卡与一张docker0网卡 docker 五种网络 bridge 默认网络,Docker启动后创建一个docker0网桥,默认创建的容器也是添加到这个网桥中...
    99+
    2023-10-12
    docker 容器 容器应急
  • Docker容器化应用与结构
    目录容器化应用什么是容器化应用应用怎么打包Docker 镜像组成联合文件系统Linux 内核Docker 结构Docker 服务与客户端Docker 客户端容器运行时Docker 引...
    99+
    2022-11-13
  • Docker容器中应避免哪些事
    今天就跟大家聊聊有关Docker容器中应避免哪些事,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。毋庸置疑,容器已经成为企业IT基础设施中必不可少的部分,它具有许多的优点,但容器是一次...
    99+
    2023-06-05
  • 如何在docker容器中部署应用
    本篇内容介绍了“如何在docker容器中部署应用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一个简单的Hello World应用。1 Ma...
    99+
    2023-06-02
  • Docker容器应用日志怎么查看
    这篇“Docker容器应用日志怎么查看”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Doc...
    99+
    2022-10-19
  • docker学习5:Docker 容器连接
    参考:http://www.runoob.com/docker/docker-container-connection.html前面我们实现了通过网络端口来访问运行在docker容器内的服务。下面我们来实现通过端口连接到一个docker容器...
    99+
    2023-06-06
  • Docker容器部署Matomo
    ⭐️主要步骤:数据卷挂载 -->  创建MySQL容器 -->  创建一个带有环境变量设置的Matomo容器 docker volume create matomo_data docker run -d --name mysql ...
    99+
    2023-10-03
    docker mysql 容器
  • 什么是Docker容器
    本篇内容主要讲解“什么是Docker容器”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“什么是Docker容器”吧!容器技术的起源假设你们公司正在秘密研发下一个“...
    99+
    2022-10-19
  • 基于Docker应用容器日志文件收集
    1 背景介绍中间件应用运行在Docker容器中能够感受到容器快速创建快速销毁确实带来了很大的便利性、灵活性。但由于Docker应用容器销毁不管人为操作,还是容器挂掉甚至容器应用导致其崩溃,它运行的数据都会随着它的生命周期结束而结束,这种情况...
    99+
    2023-06-04
  • Node.js服务Docker容器化应用实例分析
    这篇“Node.js服务Docker容器化应用实例分析”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Node.js服务Doc...
    99+
    2023-06-17
  • 如何配置docker-enter管理docker容器
    这篇文章将为大家详细讲解有关如何配置docker-enter管理docker容器,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。配置docker-enter管理docker...
    99+
    2022-10-19
  • docker logs如何查看docker容器日志
    这篇文章将为大家详细讲解有关docker logs如何查看docker容器日志,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。通过docker logs命令可以查看容器的日志。命令格式:$ doc...
    99+
    2023-06-14
  • 记一次linux服务器入侵应急响应(小结)
    近日接到客户求助,他们收到托管电信机房的信息,通知检测到他们的一台服务器有对外发送攻击流量的行为。希望我们能协助排查问题。 一、确认安全事件 情况紧急,首先要确认安全事件的真实性。经过和服务器运维人员沟通,了解到业务只...
    99+
    2022-06-04
    linux服务器入侵响应 linux服务器入侵
  • 如何创建Docker容器
    本篇内容介绍了“如何创建Docker容器”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!GIScript2016是支持Python3的地理空间...
    99+
    2023-06-19
  • Django-Docker容器化部署:
    上一章我们成功搭建了容器化的 Django 项目,用到的数据库为默认的 Sqlite。Sqlite 虽然简单易用,但是线上部署时通常会选择更高效、更可靠的数据库,比如 MySQL。 本章将在上一章的基础上,修改并构建 Docker + D...
    99+
    2023-01-31
    容器 Django Docker
  • Docker 容器学习笔记
    Docker 容器学习笔记 容器的由来 早先,虚拟机通过操作系统实现相互隔离,保证应用程序在运行时相互独立,避免相互干扰。但是操作系统又笨又重,耗费资源严重: 容器技术只隔离应用程序的运行时环境但容器之间共享同一个操作系统,这里的运行时...
    99+
    2023-08-30
    docker 学习 笔记 容器
  • Docker如何停止容器
    这篇文章主要介绍了Docker如何停止容器,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。停止容器docker stop ...
    99+
    2022-10-19
  • Docker怎样重启容器
    小编给大家分享一下Docker怎样重启容器,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!重启容器docker rest...
    99+
    2022-10-19
  • Docker如何删除容器
    小编给大家分享一下Docker如何删除容器,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!删除容器docker rm&n...
    99+
    2022-10-19
  • Docker如何连接容器
    这篇文章给大家分享的是有关Docker如何连接容器的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。连接容器docker run -dti --name...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作