Linux下怎样检测进程是否异常

Linux下怎样检测进程是否异常,第1张

#include <sys/io.h>

#include <sys/ipc.h>

#include <sys/timeb.h>

#include <sys/shm.h>

#include <sys/sem.h>

#include <sys/sysinfo.h>

#include <stdio.h>

#include <string.h>

#include <sys/ioctl.h>

#include <sys/time.h>

#include <fcntl.h>

#include <unistd.h>

#include <stdlib.h>

#include <errno.h>

#include <time.h>

#include <sys/ipc.h>

#include <sys/types.h>

#include <sys/stat.h>

#include <sys/msg.h>

void CheckPid(void)

{

pid_t termpid

int flags

termpid = waitpid(-1,&flags,WNOHANG)

if (termpid>0)

{

msglog.code = LOG_MSG_OTHER

if(WIFEXITED(&flags))

{

printf("pid=%d的子进程正常结束,返回信息=%d,结束状态=%d\n",termpid,flags,WEXITSTATUS(&flags))

}

else if(WIFSIGNALED(&flags))

{

printf("pid=%d的子进程异常终止,返回信息=%d,终止进程的信号的编号=%d\n",termpid,flags,WTERMSIG(&flags))

}

else if(WIFSTOPPED(&flags))

{

printf("pid=%d的子进程暂停,返回信息=%d,暂停进程的信号的编号=%d\n",termpid,flags,WSTOPSIG(&flags))

}

else

{

printf_d(cur_dep,SYS_PID_DSC_OUTTYPE,"pid=%d的子进程退出",termpid)

}

}

}

其中“返回信息”flags的返回值有几种情况,如段错误、正常终止、 被信号终断等

        都说Linux主机是非常安全的,但有时却不见得,第二次碰上Linux中木马了(我运气这么好?)。

废话不多说,直接进入主题。

一、状况描述:

       1、2017.06.19早上过来发现ssh连接不上,以及各个官网都访问不了;

        2、通过云主机厂商后台登录,发现nginx、tomcat、svn应用全部停止;

        3、ping www.google.com (云主机在US) 不通;

二、问题定位:

        应该是云主机被重启了,同时断开了外网(有些应用没有设置为自启动),于是重启公网的网卡后,ssh就可以登录了,手工启动了nginx、

omcat、svn等应用,因为上次也发生过几次这样的情况,据云厂商反馈,云主机对外发送大量的网络包,导致流量巨大,具体在Linux主机上的

体现就是cpu一直100%左右撑死,于是我怀疑是不是这次也是对外发送巨大的流量包,导致云主机厂商断了主机的外网呢?通过top命令查看

进程发现并没有cpu占用过高的进程,就ifconfig 查看了下网卡情况,显示网卡流量在2.4G左右(由于是事后了,没有截到先前的图),感觉很迅

速,于是我就又断开了一次,就没管了,到中午午休后,下午再次使用ifconfig,此时流量对外发送大量的流量包,累计流量竟然高达140G左右

(后面处理了,就累加了一点):

这情况显示,肯定是中木马,由于Linux主机上面没有安装一些关于流量分析的软件,只从常用的top命令开始,发现并没有cpu占用很高的进程,

但发现有两个从来没见过的进程:MuYuHang 、LTF,通过 /proc/进程id 进入对应进程文件,ls -lh,发现可执行文件竟然指向了Tomcat bin目录

跟上次又是多么的相似,只是进程和文件名不一样罢了,于是简单的 *** 作,kill -9 pid  ,结果 *** 作无效,很快进程起来,而且文件删除不了,报

operation not permitted(我可是用root用户执行的,难道还有root干不了的事情?具体了解可查看资料 lsattr和),删除后,过一会儿又自动恢

复。

三、ClamAV工具

       关于ClamAV工具的用途以及安装,请百度搜索相关介绍和安装资料,大概说一下,ClamAV是Linux平台的一个木马扫描工具,可以扫描哪些

文件被感染了(但不能自动清除这些病毒,没有windows上面的杀毒软件那么强大),我安装在/home/clamav目录下。

四、解决办法

      通过命令 /home/clamav/bin/clamscan -r --bell -i /,扫描这个根目录发现有不少的文件被感染了:

       发现tomcat bin目录下的2个文件果然是被感染的了,同时发现有几个命令也被感染了如ps、netstat以及lsof,于是我清除了bsd-port这个目

录,同时把pythno清理,对于命令可以通过,从同版本的linux 没有问题的linux主机上面copy过来,删除后进行覆盖即可(也可以删除重装),

再把tomcat的文件删除,以及异常的进程kill掉,再用clamav扫描发现没有了,最后还需要检查下/etc/init.d这个开机启动的文件,检查里面自动启

动的,我这个里面就发现先前指向 /user/bin/bsd-port/knerl 这个,文件已经删除了,我同时把对应的sh,注释掉。目前来看,一切正常了。。。

五、总结

        一次比较完整的定位问题,平时一般很少接触到查收木马的事情,碰上了就当学习,提升技能,只是不足,没有搞清木马是如何进来的,这

个需要后续不断的学习。心好累,Linux主机第二次中木马了。。。。

查看linux系统日志,步骤如下:

1、首先,连接相应linux主机,进入到linux命令行状态下,等待输入shell指令。

2、在linux命令行下输入shell指令:cat /var/log/messages。

3、键盘按“回车键”运行shell指令,这时就看到系统日志被打印了出来。

扩展资料:

Linux死机的问题

1.先检查硬件,查看服务器状态灯是否有报警。确保硬件没有问题。

2.使用服务器自带的监测工具进行测试。

3.根据你的情况,我觉得可以重新安装一下登录管理器,或者整个GUI。

4.检查一下服务器性能负载情况,有时候机器不用时发现不了情况,很多时候都是高负载时才出现问题。

5.检查系统日志是否有异常。

6.检查是否有可疑的进程。

7.检查系统相关的配置文件。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/7680745.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-08
下一篇2023-04-08

发表评论

登录后才能评论

评论列表(0条)

    保存