吓我一跳,定睛一看,端口6379,不是redis的默认端口吗?前些阵子写项目就用自己的服务器搭了一个radis服务器,不会被黑了吧?百般纳闷,反正说是24小时内,不管,先睡觉
早上爬起来,想用Xshell登录一下服务器看看,结果死活登不上,再在控制台看看,结果还是登不上,心想:完了,不会真被黑了吧?用腾讯云自动实例检测,提示CPU近期占有率高达92%,但是我在服务器中就挂了一个radis和nginx,有鬼!我最后用VNC登录方式成功登录,书到用时方恨少,Linux的运维命令又忘了不少,下面记记Linux问题排查的命令吧
top
根据任务管理器中的进程,分析与排查问题,以采取对应解决方案。
如果是业务进程占用了大量 CPU 或内存资源,分析业务程序是否有优化空间,进行优化或者升级服务器配置。
如果是异常进程占用了大量 CPU 或内存资源,则可能中毒,需要自行终止进程或者使用安全软件进行查杀,必要时考虑备份数据,重装系统。
Top 命令的输出信息主要分为两部分,上半部分显示 CPU 和内存资源的总体使用情况:
第一行:系统当前时间,当前登录用户个数以及系统负载。
第二行:系统总进程数、运行中进程数、休眠、睡眠和僵尸进程数量。
第三行:CPU 当前使用情况。
第四行:内存当前使用情况。
第五行:Swap 空间当前使用情况。
下半部分以进程为维度显示资源的占用情况:
PID:进程 ID。
USER:进程所有者。
PR:进程优先级 NI:NICE 值,NICE 值越小,优先级越高。
VIRT:使用的虚拟内存大小,单位 KB。
RES:当前使用的内存大小,单位 KB。
SHR:使用的共享内存的大小,单位 KB。
S:进程状态。
%CPU:更新时间间隔内进程所使用的 CPU 时间的百分比。
%MEM:更新时间间隔内进程所使用的内存的百分比。
TIME+:进程使用的 CPU 时间,精确到 0.01s。
COMMAND:进程名称。
1. 分析占有率异常的进程,记下第一个字段PID
2. 输入k
3. 输入需要终止进程的 PID ,按 Enter
如下命令
yum install iftop -y
yum install lsof -y
安装好后,执行如下命令:
iftop
<=、=> 表示流量的方向
TX 表示发送流量
RX 表示接收流量
TOTAL 表示总流量
Cum 表示运行 iftop 到目前时间的总流量
peak 表示流量峰值
rates 分别表示过去2s、10s和40s的平均流量
根据 iftop 中消耗流量的 IP,执行以下命令,查看连接该 IP 的进程。
lsof -i | grep (你要看的那个ip)
然后就可以查询那个异常IP的归属地:归属地查询(https://www.ip138.com/)
查看指定端口:
netstat -anp | grep 3306 #3306是你要查询的端口号
监控状态为LISTEN表示已经被占用,最后一列显示被服务mysqld占用,查看具体端口号,只要有如图这一行就表示被占用了
如下命令可以查看所有端口:
netstat -nultp
综上,你需要找到异常端口,然后想办法关闭它
如下,先查询6379端口
lsof -i:6379
然后kill它
kill -9 PID
如果实在没办法,就重装系统吧!
注意!!!!,安装MySQL,redis这样的软件,一定要设置密码,而且不能是简单密码,云服务器环境复杂,很可能有人利用你的漏洞去攻击别人,我初步猜想是有人请求腾讯云内网ip,通过没有设置密码的redis端口漏洞进行感染操作,我就中招了,很遗憾,进行一番操作还是没有排查出问题,只能重装系统,血的教训啊,呜呜
作者:「稳住,别浪,慢慢来,我能翻」
文章来源:https://blog.csdn.net/m0_46435741
热文推荐