Linux下 netstat ps kill 命令详解及常用命令收集

Linux下 netstat ps kill 命令详解及常用命令收集,第1张

前言,phper 脱离 fpm 学习 swoole GO 时 经常会用一些进程管理命令 这里熟悉下

netstat 命令

Netstat 命令用于显示各种网络相关信息,如网络连接,路由表,接口状态 (Interface Statistics),masquerade 连接,多播成员 (Multicast Memberships) 等等。

常见参数

-a (all) 显示所有选项,默认不显示 LISTEN 相关

-t (tcp) 仅显示 tcp 相关选项

-u (udp) 仅显示 udp 相关选项

-n 拒绝显示别名,能显示数字的全部转化成数字。

-l 仅列出有在 Listen (监听) 的服务状态

-p 显示建立相关链接的程序

-r 显示路由信息,路由表

-e 显示扩展信息,例如 uid 等

-s 按各个协议进行统计

-c 每隔一个固定时间,执行该 netstat 命令。

提示:LISTEN 和 LISTENING 的状态只有用 - a 或者 - l 才能看到

常见命令

列出所有端口 (包括监听和未监听的)

netstat -a #列出所有端口

netstat -at #列出所有的tcp 端口

netstat -au #列出所有的udp 端口

列出所有处于监听状态的 Sockets

netstat -l #只显示在监听的端口

netstat -lt #只显示所有的在监听的tcp 端口

netstat -lu #只显示所有的在监听的udp 端口

netstat -lx #只显示所有的在监听的unix 端口

在 netstat 输出中显示 PID 和进程名称 netstat -p

netstat -pt #显示所有tcp端口的PID 和进程名称

查找 (经常使用)

netstat -ap | grep xxx #查找程序名为xxx的运行端口

netstat -an | grep ':80' #找出运行在指定端口的进程

PS 命令

PS 是 LINUX 下最常用的也是非常强大的进程查看命令

常用命令

ps -ef | grep 进程关键字 #查找某一进程

参数解释

UID :程序被该 UID 所拥有

PID :就是这个程序的 ID

PPID :则是其上级父程序的ID

C :CPU使用的资源百分比

STIME :系统启动时间

TTY :登入者的终端机位置

TIME :使用掉的CPU时间

CMD :所下达的是什么指令

ps -ax | less # 按向下键查看进程 q 键退出

pstree 树形显示所有进程 pstree -p 9005 树形显示某个端口进程

ps -eo pid,user,args 参数 -e 显示所有进程信息,-o 参数控制输出。Pid,User 和 Args 参数显示 PID,运行应用的用户和该应用。可以查看现在有谁登入了你的服务器

kill 命令

kill -9 PID 可以彻底杀死进程

kill -9 $(ps -ef | grep xxx) 杀死 查找到的所有进程 有点危险!

常用参数

HUP 1 终端断线

INT 2 中断(同 Ctrl + C)

QUIT 3 退出(同 Ctrl + )

TERM 15 终止

KILL 9 强制终止

CONT 18 继续(与STOP相反, fg/bg命令)

STOP 19 暂停(同 Ctrl + Z)

 新客户于最近向我们SINE安全公司咨询,说他的服务器经常卡的网站无法打开,远程连接
服务器的慢的要命,有时候PING值都达到300-500之间,还经常掉包,听客户这么一说,一般
会判断为受到了CC+DDOS混合流量攻击,再具体一问,说是机房那面没有受到流量攻击,这
就有点奇怪了,不是流量攻击,还导致服务器卡,网站无法打开,这是什么攻击?为了解决客
户服务器卡的问题,我们随即安排安全工程师对他的Linux服务器进行了安全检测与安全部署。

 

SSH远程登录客户的Linux服务器,查看当前的进程发现有一个特别的进程占用了百分之100
的CPU,而且会持续不断的占用,我们查了查该进程,发现不是linux的系统进程,我们对进程
的目录进行查看,发现该进程是一个木马进程,再仔细进行安全分析,才确定是目前最新的挖
矿木马病毒,挖的矿分很多种,什么比特币,什么罗门币的,太多太多,看来现在的挖矿技术
扩展到了入侵服务器进行肉鸡挖矿了。

挖矿木马的检测与清除

 

我们在系统的目录下发现了挖矿木马主要是以 Q99sh命名的文件来控制客户的linux服务器,看
里面写的代码是以root权限运行,并自动启动计划任务,当服务器重启时继续执行计划任务,
导致客户怎么重启都于事无补,还是卡的要命。该木马代码还调用了一些Linux系统命令,bashe
bashd来挖矿,该命令是最直接也是占用CPU到顶峰的关键,太粗鲁了,这样的挖矿本身就会让
客户发现问题,看来挖矿者只顾着赚钱,不考虑长久之道了。

 

挖矿木马还设计了挖矿进程如果被客户强制停止后,会自动启动继续挖矿,达到不间断的挖矿,
仔细检查发现是通过设置了每个小时执行任务计划,远程下载shell挖矿木马,然后执行,检查
当前进程是否存在,不存在就启动挖矿木马,进行挖矿。

对客户的linux服务器进行详细了安全检测发现幸亏没有加密服务器的数据,以及感染蠕虫的病
毒,如果数据被加密那损失大了,客户是做平台的,里面的客户数据很重要,找出挖矿木马后,
客户需要知道服务器到底是如何被攻击的? 被上传挖矿木马的? 防止后期再出现这样的攻击
状况。

通过我们安全工程师的安全检测与分析,发现该服务器使用的是apache tomcat环境,平台的开
发架构是JSP+oracle数据库,apache tomcat使用的是2016年的版本,导致该apache存在严重
的远程执行命令漏洞,入侵者可以通过该漏洞直接入侵服务器,拿到服务器的管理员权限,
SINE安全工程师立即对apache 漏洞进行修复,并清除木马,至此问题得以解决,客户服务器
一切稳定运行,网站打开正常。

服务器软件故障是在服务器故障中占有比例最高的部份,约占70%,解决的过程必须更加深思熟虑。导致服务器出现软件故障的原因有很多,最常见的是服务器BIOS版本太低、服务器的管理软件或服务器的驱动程序有BUG、应用程序有冲突及人为造成的软件故障。下面分别举例说明各类软件故障的维修方法。
有一台HP LH6000R服务器,配置为双PIII XEON 700带2M高速缓存的CPU、512M内存。开机后,系统日志报电压调节模块异常(VRM)的错误,报错的信息是:“Voltage Regulator Module (VRM) over/under-voltage 288V/0V”。从表面来看,极有可能是服务器的电压调节模块或其它硬件出现故障,极容易导致维护人员认为是硬件故障。维护人员立刻使用其它LH6000R上的硬件来测试,发现即使使用新的配件,此服务器依然报VRM错。就在一筹莫展的时候,维修工程师带来了最新的CPU管理板(CPU Management Control)的固件(FIRMWARE),于是升级了CPU管理板块的FIRMWARE后,服务器恢复立即正常。
FIRMWARE升级方法是,在服务器的NAVIGATOR(导航光盘)中提取CPU管理板(CMC)FIRMWARE的刷新程序,程序为FLASHEXE,然后将从网上下载的LH6KCBIN(CPU管理板的FIRMWARE)拷贝到一张DOS启动盘上,用这张盘启动服务器。然后在DOS下运行”FLASH /CMC A:LH6KCBIN”,刷新完成后重新启动服务器后即可。这种升级方法也适合刷新系统BIOS等,只是FLASH命令的参数不同以及更新FIRMWARE及BIOS文件名不同,参数请参考服务器的说明。
任何一款服务器的FIRMWARE及BIOS都会有不同的BUG,因为BUG在所难免,所以我们不能错误地认为服务器的BIOS程序就很完善,而应该经常更新服务器的FIRMWARE及BIOS,只是在升级之前应该小心谨慎,错误的升级方法会导致严重的后果。
目前流行的中高档服务器都拥有强大的管理程序,为客户提供了方便的管理途径;服务器也拥有各种 *** 作系统下的驱动程序,方便了客户在各种 *** 作系统中的使用。但是,世上任何一款程序都会有一些BUG,这些BUG将影响用户使用。但是服务器厂商总是会在第一时间内开发出新的程序,客户只需要及时更新这些程序就可以避免这类故障。
当服务器的软件故障为此类时,表现的现象也不尽相同。一般来说,管理程序BUG会导致系统速度变慢,CPU占用率变高,无法正常使用某些功能等;驱动程序的BUG会导致死机、与某些软件有冲突,磁盘工作不稳定等。查看管理程序是否出错的最好的办法就是在系统中首先禁止此类管理工具,再观察服务器是否还是异常。由于管理工具是随着系统启动而启动的,所以应首先避免它的启动。以WINDOWS NT4为例,就首先在管理工具服务中禁用某些服务器软件服务,再修改注册表中的启动项即可。如果是驱动程序有问题的话,就以安全模式进入系统,看是否正常。但是需要注意的是,在安全模式中,系统速度变慢是正常的(特别是磁盘I/O方面)。
服务器的管理人员就应该经常在服务器网站上下载最新的管理工具程序及驱动程序。这样会减少很大一部份软件故障的发生。
相比之下,软件冲突造成的故障判断比较困难,需要管理人员有比较丰富的经验以及敏锐的观察力。
曾经有一位朋友告诉我说,他有一台浪潮的服务器无法安装SQL SERVER 2000,已经重装N次NT了,排除是系统故障。而这唯一的服务器又将作为非常重要数据库服务器,因此非常着急。于是我陪着朋友去了他的公司查看。
这台服务器所在的机房是非常标准、完善的机房,我检查了这台服务器的情况,发现并没有硬件上的故障,于是排除了光驱读盘力差的可能。但是,朋友刻的SQL SERVER 2000光盘引起了我的怀疑,我让他拿出了正版的SQL SERVER安装,结果还是不行。
在安装的过程中,没有出现丝毫错误,可就是在运行的时候会自动退出,没有任何提示。但是,我在管理工具中的事件查看器的系统日志中却发现了一条信息:windataexe导致一个无效的数据溢出。Windata是朋友自己编写的一个程序,而且是随 *** 作系统启动而启动的程序。我立即结束掉这个进程后,再运行SQL一切正常。
对于此类软件故障, *** 作员最好先查看有关的日志,看看系统中是否有可疑的进程。目前的服务器无论是高端还是低端,对于SQL等标准程序的支持是相当可靠的,所以排除的重点就是结束可疑进程。
还有一种软件故障是人为因素造成的,它一般是人为误 *** 作(包括没按 *** 作流程的 *** 作)、意外关机(包括电源突然不供电)或非正常关闭应用程序造成的。
人为误 *** 作因素只要加强管理都可以避免此类故障发生。在这里就详细说明意外关机或非正常关闭程序造成故障的方法。
正常关闭系统程序非常重要,尤其是WEB服务器。我的一个朋友就是因为没有正常关闭系统程序而经历了一次数据损坏甚至丢失的经历。我的朋友是使用的HP web hosting server appliance,因此我向他提供了一些使用规则。
这些方法对于服务器的维护非常有效,主要包括了正确的关闭系统程序、怎样避免数据丢失以及非正常关闭系统后的恢复方法。下面以我朋友的HP web hosting server appliance为例(使用的是UNIX,但思路对于其它 *** 作系统均有效)。
正确关机的过程包括通过按动Power键来使系统断电,你应该一直按住电源开关持续几秒钟才能使系统进入正常的关闭过程中。
另外,为了避免数据丢失,你应该按照如下的步骤 *** 作:
· 经常备份Web Hosting Server Appliance的数据,可以通过网络管理界面来完成。
· 安装第二块硬盘并与原来的硬盘设置成镜像,
一旦Server Apliance未能正确关闭,并无法重起,请按如下 *** 作恢复:
1 当appliance已经断电时,连接一条非modem的串口线(可在机盒中找到)到背面的控制口上。
2 连接串口线的另一头到一台运行Windows的PC的串口上。
3 运行超级链接程序(HyperTerminal),并设置端口的参数为19200, n-8-1, Flow control - None 你可以看到appliance的控制提示,并要求你输入管理员口令。
4 重起appliance,等到提示“LILO boot:”,按住Tab键5秒钟,直到提示变为“boot:”。
5 敲入"emergency"并回车。此时需要耐心等待几分钟。然后,登录提示又将出现,此时,LCD屏又能正常工作了。
6 在LCD屏上选择一个随机的密码(此密码只是用于紧急恢复时用)
翻至Defaults… 并按右箭头键选中。
翻至Root Password…并按右箭头键选中。
翻至Random 并按右箭头键选中,会提示一个随机产生的密码。
记下此密码。
翻至Yes并按右箭头键选中,系统密码会立刻更改。
7 回到超级链接的控制屏,登录appliance,用"root"用户名和刚才的密码,此时会出现“#”提示。
8 为修复分区,请按如下方法 *** 作:
对于sa1100,按顺序输入:
[…]#: fsck /dev/hda5
[…]#: fsck /dev/hda6
[…]#: fsck /dev/hda7
对于sa1120,按顺序输入:
[…]#: fsck /dev/sda5
[…]#: fsck /dev/sda6
[…]#: fsck /dev/sda7
当所有的分区都被修复后,应回到“#”提示符下。
9 输入“reboot”重新启动系统。
如果系统仍无法启动,请记录下控制屏显示的内容并求助技术支持。
对于服务器的软件故障,只要平时管理员注意维护,应该是可以避免的。


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

原文地址: http://outofmemory.cn/zz/12982259.html

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

发表评论

登录后才能评论

评论列表(0条)

保存