Centos排查流量异常进程
1、基本知识
1.1、iftop介绍
一般涉及到流量的监控,经常会使用iftop,首先安装iftop:
yum install iftop -y
使用iftop命令,界面如下:

界面上面显示的是类似刻度尺的刻度范围,为显示流量图形的长条作标尺用的。中间的<= =>这两个左右箭头,表示的是流量的方向。
界面相关参数说明:
- TX:发送流量
- RX:接收流量
- TOTAL:总流量
- cumm:运行iftop以来的总流量
- peak:峰值流量
- rates:分别表示过去 2s 10s 40s时间内网卡总的平均流量
iftop相关命令参数可以使用-h进行查看,这里主要说一个查看网卡有哪些IP和端口有流量流入流出:
iftop -i ensxxx -n -P #ensxxx表示网卡名称,可以通过ifconfig查看
1.2、查看某个端口被什么进程占用
#方式1
lsof -i :22 #22端口被哪个进程占用
#方式2
netstat -lnp|grep 7000 #7000端口被哪个进程占用
下面,根据我们以上的基本知识来进行排查
2、查看网卡流量流入流出信息
通过ifconfig查看某个网卡流量流入流出量:

知道ens33网卡流量流入流出量很大,通过iftop查看网卡有哪些IP和端口在使用:
iftop -i ens33 -n -P

从上面可以看出有27017、ssh、redis这些服务有流量流入流出信息。
3、查看某个端口对应的进程或服务
[root@localhost ~]# lsof -i :27017 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME docker-pr 21774 root 4u IPv6 235581 0t0 TCP *:27017 (LISTEN) [root@localhost ~]# lsof -i :redis COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME docker-pr 21746 root 4u IPv6 233002 0t0 TCP *:redis (LISTEN) [root@localhost ~]# lsof -i :ssh COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME sshd 940 root 5u IPv4 26047 0t0 TCP *:ssh (LISTEN) sshd 940 root 7u IPv6 26049 0t0 TCP *:ssh (LISTEN) sshd 24890 root 5u IPv4 270713 0t0 TCP localhost.localdomain:ssh->192.168.193.1:52755 (ESTABLISHED) sshd 24907 root 5u IPv4 270713 0t0 TCP localhost.localdomain:ssh->192.168.193.1:52755 (ESTABLISHED)
从以上可以了解到有什么样的进程在跑流量了,这就是大致的排查思路。
4、延伸阅读
网络流量实时监控工具nload:nload是个很好用的一个工具,功能也很强.只是相对单一,只能查看总的流量,不能像iptraf那样,可针对IP,协议等可以实时地监控网卡的流量,分Incoming,Outgoing两部分,也就是流入与流出的流量。同时统计当前,平均,最小,最大,总流量的值,使人看了一目了然。
安装:
yum install -y nload
nload的显示信息也是支持设置显示单位的。我们可以加入-u 参数,其后可以跟h(表示自动格式化为易读的单位)、b(表示为Bit/s)、k(表示为KBit/s)、m(表示为MBit/s),g(表示为GBit/s)。例如下面我们输入如命令"nload -u m",就是以MB为单位。
默认上边Incoming是进入网卡的流量;
默认下边Outgoing是网卡出去的流量;
默认右边(Curr当前流量)、(Avg平均流量)、(Min最小流量)、(Max最大流量)、(Ttl流量统计)
基本使用:
nload

通过上下键切换不同的网卡设备。
查看某个网卡,并设置查看显示单位:
nload 网卡名称 -u 以什么单位显示
如:
nload ens33 -u m
前一篇博客中已经说过Golang对Gzip的处理,其实这是我的服务器端的处理,那么当我们服务器返回Gzip压缩的字符串后,客户端如何进行解压呢?本文主要记录下JavaScript对Gzip进行压缩和解压处理。
Golang打包一般的静态资源文件到二进制文件中还是比较简单,但是如果遇到使用Vue编写的后台界面,该如何打包呢?本文就是记录如何打包Vue到二进制包
uptime命令可以输出当前系统的时间、系统开机到现在的运行时间、目前多少用户在线和系统平均负载等信息
有时候当服务器出现流量出入过高的时候,需要去如何排查是哪些进程在使用,本文主要记录如何通过相关命令来进行排查。
在使用电脑的过程中,我们经常需要一些工具来帮助我们提高工作效率,本文主要记录生活中日常能提高工作效率的小工具和简要的使用说明,以便后期使用需要。
快速生成表格
Electron页面跳转、浏览器打开链接和打开新窗口
在使用Git的过程中,不想每次都输入用户名和密码去拉取代码,所以就需要保存这些信息,那么既然有保存了,就必须有清除功能。
Docker编译镜像出现:fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86_64/APKINDEX.tar.gz
ERROR: http://dl-cdn.alpinelinux.org/alpine/v3.12/main: temporary error (try again later)
WARNING: Ignoring APKINDEX.2c4ac24e.tar.gz: No such file or directory问题
在Mac电脑中,如何对Git的用户名和密码进行修改呢?起初不懂Mac,所以整了很久,本文将记录如何对这个进行操作,以便后期使用。