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结尾的文件

目录
相关文章
|
22天前
|
算法 Linux 调度
深入理解Linux操作系统的进程管理
本文旨在探讨Linux操作系统中的进程管理机制,包括进程的创建、执行、调度和终止等环节。通过对Linux内核中相关模块的分析,揭示其高效的进程管理策略,为开发者提供优化程序性能和资源利用率的参考。
50 1
|
22天前
|
Linux Shell
Linux 10 个“who”命令示例
Linux 10 个“who”命令示例
50 14
Linux 10 个“who”命令示例
|
1天前
|
Linux
linux查看目录下的文件夹命令,find查找某个目录,但是不包括这个目录本身?
通过本文的介绍,您应该对如何在 Linux 系统中查看目录下的文件夹以及使用 `find` 命令查找特定目录内容并排除该目录本身有了清晰的理解。掌握这些命令和技巧,可以大大提高日常文件管理和查找操作的效率。 在实际应用中,灵活使用这些命令和参数,可以帮助您快速定位和管理文件和目录,满足各种复杂的文件系统操作需求。
22 8
|
11天前
|
Ubuntu Linux
Linux 各发行版安装 ping 命令指南
如何在不同 Linux 发行版(Ubuntu/Debian、CentOS/RHEL/Fedora、Arch Linux、openSUSE、Alpine Linux)上安装 `ping` 命令,详细列出各发行版的安装步骤和验证方法,帮助系统管理员和网络工程师快速排查网络问题。
90 20
|
10天前
|
存储 监控 Linux
嵌入式Linux系统编程 — 5.3 times、clock函数获取进程时间
在嵌入式Linux系统编程中,`times`和 `clock`函数是获取进程时间的两个重要工具。`times`函数提供了更详细的进程和子进程时间信息,而 `clock`函数则提供了更简单的处理器时间获取方法。根据具体需求选择合适的函数,可以更有效地进行性能分析和资源管理。通过本文的介绍,希望能帮助您更好地理解和使用这两个函数,提高嵌入式系统编程的效率和效果。
65 13
|
11天前
|
网络协议 Linux 应用服务中间件
kali的常用命令汇总Linux
kali的常用命令汇总linux
35 7
|
17天前
|
SQL 运维 监控
南大通用GBase 8a MPP Cluster Linux端SQL进程监控工具
南大通用GBase 8a MPP Cluster Linux端SQL进程监控工具
|
1月前
|
Linux 网络安全 数据安全/隐私保护
Linux 超级强大的十六进制 dump 工具:XXD 命令,我教你应该如何使用!
在 Linux 系统中,xxd 命令是一个强大的十六进制 dump 工具,可以将文件或数据以十六进制和 ASCII 字符形式显示,帮助用户深入了解和分析数据。本文详细介绍了 xxd 命令的基本用法、高级功能及实际应用案例,包括查看文件内容、指定输出格式、写入文件、数据比较、数据提取、数据转换和数据加密解密等。通过掌握这些技巧,用户可以更高效地处理各种数据问题。
110 8
|
1月前
|
监控 Linux
如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
本文介绍了在Linux系统中检查内存使用情况的5个常用命令:`free`、`top`、`vmstat`、`pidstat` 和 `/proc/meminfo` 文件,帮助用户准确监控内存状态,确保系统稳定运行。
410 6
|
1月前
|
Linux
在 Linux 系统中,“cd”命令用于切换当前工作目录
在 Linux 系统中,“cd”命令用于切换当前工作目录。本文详细介绍了“cd”命令的基本用法和常见技巧,包括使用“.”、“..”、“~”、绝对路径和相对路径,以及快速切换到上一次工作目录等。此外,还探讨了高级技巧,如使用通配符、结合其他命令、在脚本中使用,以及实际应用案例,帮助读者提高工作效率。
93 3