前言

进程是执行程序的过程,类似于按照图纸,真正去盖房子的过程。

同一个程序可以执行多次,每次都可以在内存中开辟独立的空间来装载,从而产生多个进程。不同的进程还可以拥有各自独立的IO接口。操作系统的一个重要功能就是为进程提供方便,比如说为进程分配内存空间,管理进程的相关信息等等,就好像是为我们准备好了一个精美的地址。

进程信息是proc目录下动态生成,每个动态创建的进程ID号下面详细的记录了关于该进程的fd,mem,io,cpuset等进程信息。

Linux 内核提供了一种通过 /proc 文件系统,在运行时访问内核内部数据结构、改变内核设置的机制。proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。

**通过它可以访问系统内核数据。**用户和应用程序可以通过proc得到系统的信息,并可以改变内核的某些参数。

由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取proc文件时,proc文件系统动态的。在/proc下还有三个很重要的目录:net,scsi和sys。sys目录是可写的,可以通过它来访问或修改内核的参数,而net和scsi则依赖于内核配置。例如,如果系统不支持scsi,则scsi 目录不存在。

除了以上介绍的这些,还有的是一些以数字命名的目录,它们是进程目录。系统中当前运行的每一个进程都有对应的一个目录在/proc下,以进程的 PID号为目录名,它们是读取进程信息的接口。而self目录则是读取进程本身的信息接口。

读取/proc/self/maps可以得到当前进程的内存映射关系,通过读该文件的内容可以得到内存代码段基址。

一、隐藏进程

利用mount —bind 将另外一个目录挂载覆盖至/proc/目录下指定进程ID的目录,我们知道ps、top等工具会读取/proc目录下获取进程信息,如果将进程ID的目录信息覆盖,则原来的进程信息将从ps的输出结果中隐匿。

比如当前有一个minio进程(pid:1945)

[root@docker]-[~]-ps -ef|grep minio
root       1945   1924  0 08:06 ?        00:00:10 minio server /data --console-address 0.0.0.0:9999

现在我们将该进程隐藏:

#首先,创建一个空目录(无任何挂载)
mkdir -p /empty/dir#将空目录进行挂载
mount -o bind /empty/dir/ /proc/1945

然后,我们再来查询看看进程是否隐藏:

[root@docker]-[~]-#ps -ef|grep minio
root      46358  32804  0 10:54 pts/0    00:00:00 grep --color=auto minio

发现,进程已经被我们隐藏掉了。

二、隐藏进程侦查

2.1 方式一(mounts)

[root@docker]-[/proc]-#cat /proc/mounts 

2.2 方式二(sysdig)

下载安装:

# curl -s https://s3.amazonaws.com/download.draios.com/stable/install-sysdig | sudo bash
[root@docker]-[~]-#sysdig -c topprocs_cpu

2.2 方式三(unhide)

下载安装:

yum -y install unhide

暴力扫描隐藏进程:

unhide checkbrute

Linux当中如何隐藏和查看进程相关推荐

  1. Linux命令--根据端口号查看进程号(PID)

    原文网址:Linux命令--根据端口号查看进程号(PID)_IT利刃出鞘的博客-CSDN博客 简介 说明         本文用实例介绍Linux下如何根据端口号查看进程号(PID). 需求 查找80 ...

  2. 虚拟环境命令+linux基本操作(各种版本查看+进程操作+目录+文件)

    目录 一,虚拟环境 1,虚拟环境一些命令: 2,虚拟环境一些问题: 二,有关linux安装包 三,有关linux的一些基本操作 1,版本查看: 2,目录操作: 3,创建删除文件: 4,文件移动: 四, ...

  3. linux命令(一)查看进程的线程数top,ps

    1.ps -T -p <pid> ps -T -p 116115|wc -l 2. top -H -p 116115 查看进程的线程使用率 3.pstree -p 116115|wc -l ...

  4. Linux常见面试题-ps查看进程命令

    目录 ps查看进程: 基础操作 PS命令语法: 1.ps 命令用于查看当前正在运行的进程. 2.ps -aux | grep java 3. kill 命令用于终止进程 ps查看进程: 要对进程进行监 ...

  5. linux训练python出现killed_Linux 查看进程被杀死的详情

    运行写的不太完善的爬虫程序, 未限制任务队列大小, 再加上本子配置不高, 爬取网站到第3层大半时, 内存不足了... 进程运行太猛, 导致系统 out of memory, 那么此进程被系统的oom ...

  6. linux进程map,linux内存优化一文中 查看进程mem_map 的实现

    最近有同事在读<>一文,我也看了下,写得不错,满通俗易懂的,但是其中关于 进程mem map 显示的东西,好象没提供,我搜了下只找到个显示全部mem map 的,于是自己写了一个, 虽然代 ...

  7. linux下qt检查进程是否存在,Linux下C语言实现查看进程是否存在

    基本思路是先定义一个FILE指针,用该指针接收popen()执行ps指令的返回值,再从指针中读取数据到缓存,根据得到的数据判断进程是否存在,怎么操作要看ps的参数了. 示例一 下面这个示例从网上找的, ...

  8. linux根据端口号找目录,linux篇---根据端口号查看进程位置

    SpringMVC 视图和视图解析器&amp;表单标签 视图和视图解析器 请求处理方法执行完成后,最终返回一个 ModelAndView 对象.对于那些返回 String,View 或 Mod ...

  9. linux查看进程运行日志文件,【Linux】常用指令、ps查看进程、kill杀进程、启动停止tomcat命令、查看日志、查看端口、find查找文件...

    1.说出 10 个 linux 常用的指令 1) ls 查看目录中的文件 2)cd /home 进入 '/ home' 目录:cd .. 返回上一级目录:cd ../.. 返回上两级目录 3)mkdi ...

最新文章

  1. logback修改日志内容_记一次Logstash日志丢失问题
  2. vue-11-路由嵌套-参数传递-路由高亮
  3. 有关sublime的一些使用
  4. leetcode744. 寻找比目标字母大的最小字母(二分查找)
  5. 通过SecureCRT访问亚马逊Amazon EC2主机
  6. 协同过滤介绍和简单推荐系统的实现
  7. 微信小程序开发基础知识总结
  8. MQTT客户端程序的编写
  9. GPS研究---GPS 数据格式
  10. 字模提取软件的使用(pctolCD2002,基于FPGA的VGA显示汉字)
  11. 计算机办公软件应用杂志,武汉计算机办公软件应用
  12. 计算机的储存容量1kb等于多少byte,1kb等于多少mb
  13. python爬取12306
  14. Python wordcloud词云:源码分析及简单使用
  15. CleanMyMac不停要求输入密码进行更改
  16. php 整型 范围,PHP Integer 整型
  17. Python 函数 | sorted 函数详解
  18. 三种方式细胞评分对比
  19. console使用方法介绍
  20. 基于无人机的无线电点对点验证解决方案——无需危险爬塔,高效快捷

热门文章

  1. 写一场爱情离散的词句
  2. LG 2.2.1 P350安卓系统刷机,问题总结,希望对需要的朋友有助
  3. 开发大数据“读心术”,易车深挖用户价值
  4. mms流媒体服务器搭建(包含预览即本地播放)
  5. Android中实现蓝牙录放音
  6. 【T+】将查询账套更换成可以业务操作的正式版账套
  7. 远程信息处理系统和车队管理系统有何不同
  8. ethtool Linux网卡详解
  9. Android优秀开源项目
  10. 第一,永远不要跟银行借钱;第二,永远不要向民间借贷;第三,量力而行(转)...