Linux当中如何隐藏和查看进程

这篇具有很好参考价值的文章主要介绍了Linux当中如何隐藏和查看进程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

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

同一个程序可以执行多次,每次都可以在内存中开辟独立的空间来装载,从而产生多个进程。不同的进程还可以拥有各自独立的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 

linux查看隐藏进程,# Linux,linux,运维,服务器

 2.2 方式二(sysdig)

下载安装:

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

linux查看隐藏进程,# Linux,linux,运维,服务器

  2.2 方式三(unhide)

下载安装:

yum -y install unhide

暴力扫描隐藏进程:

unhide checkbrute

linux查看隐藏进程,# Linux,linux,运维,服务器文章来源地址https://www.toymoban.com/news/detail-608862.html

到了这里,关于Linux当中如何隐藏和查看进程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux 进程异常退出 如何查看日志

    当进程异常退出时,可以通过以下步骤来查看日志: 找到进程的 PID(进程 ID),可以通过 ps 命令来查看: 找到进程的日志文件,一般情况下,进程的日志文件都会被记录在 /var/log 目录下,可以使用 ls 命令来查看: 打开日志文件,可以使用 tail 命令来查看日志文件的最后几

    2024年02月16日
    浏览(52)
  • Linux如何查看文件进程占用-lsof

    lsof命令是什么? 可以列出被进程所打开的文件的信息。被打开的文件可以是 1.普通的文件,2.目录  3.网络文件系统的文件,4.字符设备文件  5.(函数)共享库  6.管道,命名管道 7.符号链接 8.底层的socket字流,网络socket,unix域名socket 9.在linux里面,大部分的东西都是被当做文

    2024年02月12日
    浏览(34)
  • 高效管理 Linux 进程:如何后台执行程序、查看进程、终止任务

    高效管理 Linux 进程:如何后台执行程序、查看进程、终止任务 nohup :nohup是“no hangup”的缩写,用于在后台不挂断的运行命令,使其在用户退出或终端关闭时不受影响。它通过忽略挂断(SIGHUP)信号实现这一功能。换句话说,nohup 是一条 Unix 命令,用于在后台执行程序,即使

    2024年02月10日
    浏览(57)
  • 【linux】服务器CPU占用50%,top/htop/ps却看不到异常进程?使用unhide可以查看!

    htop发现前32个核全被占满了,但是却找不到对应进程号 sysdig -c topprocs_cpu 发现CPU占用3143.28%,因为是32核,平均每核就是接近100% sysdig -c topprocs_cpu ,可以发现病毒进程号 检查 /etc/sysctl.conf 如果该文件只有一行 fs.file-max = =2097152 则大概率被隐藏 文件 / 进程 类病毒感染,注释掉

    2024年02月03日
    浏览(52)
  • Linux如何查看当前占用CPU和内存最多的进程

    查看占用 CPU 最高的前10个进程 查看占用内存(MEM)最高的前10个进程 输入 top 命令,然后按下大写M按照内存MEM排序,按下大写P按照CPU排序

    2024年02月17日
    浏览(54)
  • Linux 隐藏进程

    用户级Rootkit 通过LD_PRELOAD来hook libc库,从而过滤/proc/pid目录 内核级rootkit 通过hook系统调用getdents/getdents64或者hook 文件file_operation的iterate 内核级rootkit把task_struct从相关链表摘除(init_task,pidlist) 关于第一种hook方式可以参考上一篇文章Linux LD_PRELOAD Hook 这种方式属于DKoM(Direct Kernel O

    2024年02月07日
    浏览(31)
  • Linux(包括centos) 如何查看服务器内存、CPU

    CPU架构主要包括:amd64、arm32v7、arm64v8、mips64el、mips32、ppc64le和ppc32等架构。 CPU信息主要为中央处理器详细信息,包括: 架构 核心数量 处理速度 厂商名称 CPU主频 标签 … 注:不同的操作系统或者CPU架构提供的信息不一定相同。 输出: 可以通过grep命令过滤信息: lscpu是一个

    2024年02月12日
    浏览(76)
  • Linux系统如何查看服务器带宽及网络使用情况

       操作系统: Linux    操作环境: Centos7   Linux系统中如何查看服务器带宽?本篇文章主要和大家分享一下Linux系统中查看服务器带宽的方法,有需要的朋友可以参考一下。 众多网络相关的命令可查看:【Linux】之【网络】相关的命令及解析[ethtool、nload、nethogs、iftop、

    2024年02月02日
    浏览(75)
  • Linux系统如何查看服务器带宽及网络使用情况?

    要查看Linux服务器的带宽和网络使用情况,可以使用以下命令和工具: ifconfig命令:ifconfig命令用于显示和配置网络接口信息,包括带宽和网络使用情况。 使用以下命令查看所有网络接口的信息: 该命令将显示每个网络接口的详细信息,包括接收和发送的数据包数量以及网络

    2024年02月16日
    浏览(55)
  • Linux系统下如何查看服务器的带宽和网络使用情况

    要在Linux系统下查看服务器的带宽和网络使用情况,可以使用一些命令行工具和系统工具来获取相关信息。下面将介绍几种常用的方法。 使用ifconfig命令 ifconfig命令可以用来查看网络接口的配置和状态信息,包括接口的IP地址、MAC地址、传输速率等。要查看服务器的带宽和网络

    2024年02月08日
    浏览(67)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包