首页 > 其他分享 >如何快速判断是否在容器环境

如何快速判断是否在容器环境

时间:2023-06-30 17:04:14浏览次数:30  
标签:容器 判断 dockerenv 虚拟机 环境 docker K8s 快速

在渗透测试过程中,我们的起始攻击点可能在一台虚拟机里或是一个Docker环境里,甚至可能是在K8s集群环境的一个pod里,我们应该如何快速判断当前是否在容器环境中运行呢?

当拿到shell权限,看到数字和字母随机生成的主机名大概率猜到在容器里了,查看进程,进程数很少,PID为1的进程为业务进程,这也是容器环境的典型特征。当然,以上这两种都是比较主观的判断。接下来,我们再来盘点下比较常用的几种检测方式。


 

方式一:查询cgroup信息

最简单精准的方式就是查询系统进程的cgroup信息,通过响应的内容可以识别当前进程所处的运行环境,就可以知道是在虚拟机、docker还是kubepods里。

cat /proc/1/cgroup

docker 环境下:

K8s环境下:

虚拟机环境下:

方式二:检查/.dockerenv文件

通过判断根目录下的 .dockerenv文件是否存在,可以简单的识别docker环境。

K8s&docker环境下:ls -alh /.dockerenv 可以找到文件。

虚拟机环境下:是没有这个.dockerenv文件的。

方式三:检查mount信息

利用mount查看挂载磁盘是否存在docker相关信息。

K8s&docker环境下:

虚拟机环境下:

方式四:查看硬盘信息

fdisk -l 容器输出为空,非容器有内容输出。

K8s&docker环境下:

虚拟机环境下:

方式五:查看文件系统以及挂载点

df -h 检查文件系统挂载的目录,也能够简单判断是否为docker环境。

K8s&docker环境下:

虚拟机环境:

方式六:环境变量

docker容器和虚拟机的环境变量也有点区别,但不好判断,但pod里面的环境变量其实是很明显的。

K8s环境下:

 

标签:容器,判断,dockerenv,虚拟机,环境,docker,K8s,快速
From: https://www.cnblogs.com/xiaozi/p/17517237.html

相关文章

  • Python运行时发生错误如何快速解决?
    撰写完Python程序后,很多人在执行过程中就会遇到运行错误的情况,但又搞不懂错误在哪,从而感到崩溃且不知所措,那么Python运行时发生错误如何应对?这篇文章教你解决方法!1、了解Python运行时错误在Python中,当代码执行时出现错误,在程序运行时而不是编译时就被称为运行时错误......
  • 软考成绩一般几天出来?快速了解出成绩时间!
    2023年上半年软考结束一个月了,很多考友都很关心出成绩的事,很想快点知道考试结果。那么,2023年5月软考成绩出来了吗?下面,我们一起来看看吧!2023年上半年软考成绩查询时间虽然每年软考成绩查询时间并不固定,但可以大致预测在什么时候,根据历年成绩查询时间判断,软考成绩查询时间与考试时间......
  • AMEYA360:太阳诱电导电性高分子混合铝电解电容器
    太阳诱电导电性高分子混合铝电解电容器,最适合需要大容量和高耐压的车载装置和产业设备。电解质使用导电性高分子和电解液,兼具高性能和高可靠性,满足客户需求。混合结构在阳极箔表面生成电介质(氧化铝)。用隔膜隔开阳极箔与阴极箔,用电解液和导电性高分子浸渍的结构。电解液具备......
  • macOS 系统 Kafka 快速入门
    Kafka的核心功能是高性能的消息发送与高性能的消息消费。以下是Kafka的快速入门教程。下载并解压缩Kafka二进制代码压缩文件打开Kafka官网的下载地址,可以看到不同版本的Kafka二进制代码压缩包下载链接,如下图所示:当前最新的Kafka版本是3.5.0,提供了两个二进制压缩包......
  • python -m sysconfig快速查看 Python 的环境信息
    C:\Users\daizichuan>python-msysconfigPlatform:"win-amd64"Pythonversion:"3.10"Currentinstallationscheme:"nt"Paths:data="D:\miniconda3"include="D:\miniconda3\Include&quo......
  • 快速幂
    快速幂算法作用快速幂可以用来优化\(a^b\%p\)的计算,暴力做法计算n个\(a^b\%p\)的时间复杂度没o(nb),而快速幂可以将时间复杂度降到o(nlogn)。-算法内容先初始化\(a^{2^0},a^{2^1},a^{2^2}\dotsa^{2^{logb}}\)这b个数,由算术基本定理\(a^b\)可以用这b个数的组合的乘积来表示,其......
  • 快速排序
    题目给定你一个长度为$n$的整数数列。请你使用快速排序对这个数列按照从小到大进行排序,并将排好序的数列按顺序输出。输入格式输入共两行,第一行包含整数$n$。第二行包含$n$个整数(所有整数均在$1∼109$范围内),表示整个数列。输出格式输出共一行,包含$n$个整数,表示排......
  • https://leetcode.cn/ 第9题 判断回文数
    #回文数121是;123不是#定义一个函数判断是否是回文数defget_Hui(num):#将整数num转字符串str_num=str(num)str_num_change=str_num[::-1]num2=int(str_num_change)#判断整数num和num2是否相等if(num2==num):print("是......
  • 610. 判断三角形
    610.判断三角形SQL架构表: Triangle+-------------+------+|ColumnName|Type|+-------------+------+|x|int||y|int||z|int|+-------------+------+(x,y,z)是该表的主键列。该表的每一行包含三个线段的长度......
  • 6 条件判断
    #判断print("请输入你的年龄")age=int(input())ifage>=18:print(f'你的年龄是:{age},成年了')else:print("小于18未成年") #判断print("请输入你的年龄")age=int(input())ifage>=18:print(f'你的年龄是:{age},成年了')elif......