Linux异常进程排查 命令记录

简介: Linux异常进程排查 命令记录

查看当前登录用户

w

查看登录用户数、IP、运行命令


查看进程

最常用的方法

查看所有进程 ps

两个命令功能一样的,写法不一样而已;

ps aux
# BSD操作系统格式

参数:

  • a
  • u
  • x


ps -le
# linux标准命令格式

参数:

  • l
  • e

如果top和ps都找不到异常进程

可以试试unhide命令,这个需要安装一下,有时候网络问题会安装失败,需要更换源或者代理试试。

Unhide 通过下述三项技术来发现隐藏的进程。

  1. 进程相关的技术,包括将 /proc 目录与 /bin/ps 命令的输出进行比较,发现有不一致的就输出,查看是否是隐藏进程。
  2. 系统相关的技术,包括将 /bin/ps 命令的输出结果同从系统调用方面得到的信息进行比较。
  3. 穷举法相关的技术,包括对所有的进程 ID 进行暴力求解。(该技术仅限于在基于 Linux2.6 内核的系统中使用)
$ sudo unhide -h
Unhide 20130526
Copyright © 2013 Yago Jesus & Patrick Gouin
License GPLv3+ : GNU GPL version 3 or later
http://www.unhide-forensics.info
NOTE : This version of unhide is for systems using Linux >= 2.6
Usage: unhide [options] test_list
Option :
   -V          Show version and exit
   -v          verbose
   -h          display this help
   -m          more checks (available only with procfs, checkopendir & checkchdir commands)
   -r          use alternate sysinfo test in meta-test
   -f          log result into unhide-linux.log file
   -o          same as '-f'
   -d          do a double check in brute test
Test_list :
   Test_list is one or more of the following
   Standard tests :
      brute
      proc
      procall
      procfs
      quick
      reverse
      sys
   Elementary tests :
      checkbrute
      checkchdir
      checkgetaffinity
      checkgetparam
      checkgetpgid
      checkgetprio
      checkRRgetinterval
      checkgetsched
      checkgetsid
      checkkill
      checknoprocps
      checkopendir
      checkproc
      checkquick
      checkreaddir
      checkreverse
      checksysinfo
      checksysinfo2
      checksysinfo3


查看进程树 pstree

查看进程的父子关系

pstree

参数:

  • p
  • u

查看是否有别人连接

查看sshd远程连接进程是否有别人连接

pstree | grep sshd

系统进程管理器 top

linux的系统进程管理器

top

默认刷新是每3秒刷新一次,

木马在大量发包时肯定会造成资源的消耗,通过排序可以发现了顶部进程有大量的嫌疑,

和ps 的区别是,top能做命令交互。

-d
-b
-n
?/h
P
M
N
q


查看后台进程 jobs

放入后台的进程都是长时间运行的进程,且不需要在和用户交互。

jobs
  • l

/+ 刚进入后台的进程

/- 倒数第二个进入后台的进程

Stopped 表示该进程暂停了

Running 表示该进程在运行

Done 表示该进程执行结束

把进程放入后台的方法

方法1:

  • python a.py &
  • 运行起来之后按下 ctrl+z,放在后台暂停。
    这种关闭了当前的shell窗口,后台的任务也会结束。

方法2:crontab -e

写定时任务

方法3:nohup 命令


终止进程

杀死单一进程 kill

kill

杀死一类进程 killall

杀死一类进程,比如apache每连接一个用户就是一条线程,同类进程太多时,单一操作效率就很慢了,需要一类(批)操作

killall & pkill


列出进程打开或使用的文件

lsof


系统定时任务

查看系统定时任务,有没有可疑进程。定时任务的命令都需要确认是否安装,是否有权限(访问控制文件)。

at

一次性定时任务

atq

查看当前一次性的定时任务列表

at -c 【任务编号】

at任务的具体执行内容

atrm [工作号]

删除指定的at任务

如何查看全部用户的at手动编辑的任务?

如果atq是由root执行,则将列出系统中所有没有执行的Unix at命令。然后可以使用atrm命令根据atq输出Job号来删除at作业。

crontab

循环定时任务,游戏服务器,需要每个月固定重启让服务器状态回归良好;

身份绑定

crontab是需要绑定当前用户的身份。

root能编辑root的,hack能编辑hack的,不能串 低权限用户也不能执行高权限命令。

手工编辑定时任务

crontab -e

编辑定时任务

如何查看全部用户的cronatab手动编辑的任务?

root权限

cat /etc/passwd | cut -f 1 -d : |xargs -I {} crontab -l -u {}

系统配置文件编辑定时任务

root可以编辑/etc/crontab 这个配置文件,

或者用系统定义好的时,天,周,月配置文件来加定时任务

/etc/cron.hourly

/etc/cron.daily

/etc/corn.weekly

/etc/cron.monthly

/var/spool/anacron 是新版的 centOS6.0后启用,添加的功能是,如果一些故障(关机了),anacron的主机在恢复正常后,会立即恢复工作

这4个文件的定时任务就能在规定时间点重新执行起来 补回机制不知道:

/etc/cron.hourly

/etc/cron.daily

/etc/corn.weekly

/etc/cron.monthly

crontab -l

查看当前用户的定时任务

crontab -r

删除当前用户的全部定时任务,想删除单个用 -e编辑,一行一行删。

开启启动任务

cd /etc/init.d
# 这个目录存放的是一些脚本,一般是linux以rpm包安装时设定的一些服务的启动脚本
vim /etc/rc.local
# 这个是个配置文件,作为一个shell脚本来编辑,将自己的启动命令编辑到脚本中,无论如何都会被加载
/etc/init.d/samba start

因为Linux可以按照不同的场景来选择是否加载,甚至是加载不同的启动脚本,这时就要用rc(0-6)按场景来分:

  • rc0.d
  • rc1.d
  • rc2.d
  • rc3.d
  • rc4.d
  • rc5.d
  • rc6.d

以上也是在应急的时候需要排查的启动项。

另外一个添加启动项的地方在/etc/profile里面,还有  /etc/profile.d/目录下以sh结尾的文件

目录
相关文章
|
3月前
|
XML 缓存 Linux
在Linux环境下解决Visual Studio Code字体显示异常和字体替换方法。
解决Linux下VS Code字体显示异常,需要对Linux字体渲染机制有所理解,并对VS Code的配置选项进行合理设置。替换字体时则要通过系统字体配置或VS Code设置来完成。通过上述方法,可以有效地解决字体显示问题,从而提升代码编辑的视觉体验。
380 0
|
6月前
|
Web App开发 Linux 程序员
获取和理解Linux进程以及其PID的基础知识。
总的来说,理解Linux进程及其PID需要我们明白,进程就如同汽车,负责执行任务,而PID则是独特的车牌号,为我们提供了管理的便利。知道这个,我们就可以更好地理解和操作Linux系统,甚至通过对进程的有效管理,让系统运行得更加顺畅。
163 16
|
5月前
|
监控 Shell Linux
Linux进程控制(详细讲解)
进程等待是系统通过调用特定的接口(如waitwaitpid)来实现的。来进行对子进程状态检测与回收的功能。
115 0
|
5月前
|
存储 负载均衡 算法
Linux2.6内核进程调度队列
本篇文章是Linux进程系列中的最后一篇文章,本来是想放在上一篇文章的结尾的,但是想了想还是单独写一篇文章吧,虽然说这部分内容是比较难的,所有一般来说是简单的提及带过的,但是为了让大家对进程有更深的理解与认识,还是看了一些别人的文章,然后学习了学习,然后对此做了总结,尽可能详细的介绍明白。最后推荐一篇文章Linux的进程优先级 NI 和 PR - 简书。
149 0
|
5月前
|
存储 Linux Shell
Linux进程概念-详细版(二)
在Linux进程概念-详细版(一)中我们解释了什么是进程,以及进程的各种状态,已经对进程有了一定的认识,那么这篇文章将会继续补全上篇文章剩余没有说到的,进程优先级,环境变量,程序地址空间,进程地址空间,以及调度队列。
110 0
|
5月前
|
Linux 调度 C语言
Linux进程概念-详细版(一)
子进程与父进程代码共享,其子进程直接用父进程的代码,其自己本身无代码,所以子进程无法改动代码,平时所说的修改是修改的数据。为什么要创建子进程:为了让其父子进程执行不同的代码块。子进程的数据相对于父进程是会进行写时拷贝(COW)。
106 0
Linux部署04-ls命令的参数和选项,主体,参数,选项,ls / 查看根目录下的文件夹,-a的意思是列出全部选项 ls -a home全部文件,.代表着隐藏的文件夹,-l 选项,以列表竖向的形式展
Linux部署04-ls命令的参数和选项,主体,参数,选项,ls / 查看根目录下的文件夹,-a的意思是列出全部选项 ls -a home全部文件,.代表着隐藏的文件夹,-l 选项,以列表竖向的形式展
Linux部署 cd-pwd命令,cd 不写参数 就直接回到用户的HOME目录,pwd 查看当前的工作目录,pwd是常看当前目录的路径,无参数
Linux部署 cd-pwd命令,cd 不写参数 就直接回到用户的HOME目录,pwd 查看当前的工作目录,pwd是常看当前目录的路径,无参数
Linux02---命令基础 Linux命令基础, ls命令入门,ls命令参数和选项,命令行是一种以纯字符操作系统的方式,command命令本身,options命令的细节行为,parameter命令的
Linux02---命令基础 Linux命令基础, ls命令入门,ls命令参数和选项,命令行是一种以纯字符操作系统的方式,command命令本身,options命令的细节行为,parameter命令的
|
安全 网络协议 Linux
【专栏】Linux系统中ping命令的使用,包括其基本语法、输出信息、常用参数及高级用法
【4月更文挑战第28天】本文详细介绍了Linux系统中ping命令的使用,包括其基本语法、输出信息、常用参数及高级用法。通过ping,用户可测试网络连通性、诊断故障及评估性能。此外,文章还讨论了ping在不同协议、模拟网络环境及与其他命令结合使用时的场景。注意防火墙和网络环境可能影响ping结果,理解错误信息有助于网络问题排查。熟练掌握ping命令,能助你成为Linux网络专家。不断学习和实践,提升网络技能,为构建稳定网络环境贡献力量。
1044 0

热门文章

最新文章