全网最详细的Linux命令系列-iptrad-ng网络流量监测命令

观察网络流量的工具:IPTRAF

想知道你的Linux系统上网络流量有多大吗?想知道是哪一块网卡承载着网络流量吗?想知道哪一个进程产生了网络流量吗?iptraf可以帮你做到。在最新的Linux release上,比如CentOS 7.5,采用了衍生版本iptraf-ng

iptraf的参数列表

iptraf后面加上不同的参数,可以起到不同的作用,下面是iptraf的参数命令列表:

参数命令 作用
-i iface 网络接口:立即在指定网络接口上开启IP流量监视,iface为all指监视所有的网络接口,iface指相应的interface
-g 立即开始生成网络接口的概要状态信息
-d iface 网络接口:在指定网络接口上立即开始监视明细的网络流量信息,iface指相应的interface
-s iface 网络接口:在指定网络接口上立即开始监视TCP和UDP网络流量信息,iface指相应的interface
-z iface 网络接口:在指定网络接口上显示包计数,iface指相应的interface
-l iface 网络接口:在指定网络接口上立即开始监视局域网工作站信息,iface指相应的interface
-t timeout 时间:指定iptraf指令监视的时间,timeout指监视时间的minute数
-B 将标注输出重新定向到“/dev/null”,关闭标注输入,将程序作为后台进程运行
-L logfile 指定一个文件用于记录所有命令行的log,默认文件是地址:/var/log/iptraf
-I interval 指定记录log的时间间隔(单位是minute),不包括IP traffic monitor
-u 允许使用不支持的接口作为以太网设备
-f 清空所有计数器
-h 显示帮助信息

iptraf -g

通常我们会先看看总体状况,“iptraf -g” 显示每一个网卡上的流量:

# Iface会显示当前服务器上面所有的网卡名字
# 最后一个字段显示的是当前对应网卡的流量默认以(kbps)为单位

iptraf -s eth0

查看指定网卡上的流量统计,总体流量、流入量、流出量、以及按协议分类的流量统计,“iptraf -s eth0”

# 上图中我们看到iptraf-ng已经展示出各大协议栈整体的流量输出,IPV4,IPV6,TCP,UDP,ICMP等等
# 同时我们也看到了Total rates 整体流量数和pps
# Incoming rates 入口流量数和pps
# Outgoing rates 出口流量数和pps

简单对这些单位做下介绍
入口:用户侧客户端的流量
出口:服务器响应用户侧客户端的流量

常用单位
带宽bps: bits per second(每秒传输bit位数)
包速pps:packets per second(每秒传输数据包数量)
连接cps:connections per second(每秒连接数)
请求qps:queries per second(每秒查询数量)
TPS:Transactions Per Second(每秒传输的事物处理个数),即服务器每秒处理的事务数。TPS包括一条消息入和一条消息出,加上一次用户数据库访问。(业务TPS = CAPS × 每个呼叫平均TPS)

iptraf -s eth0

以上我们看到大部分流量来自TCP协议,需要进一步找出这些流量通过哪一个TCP port,“iptraf -s eth0” 统计各port的流量::

很明显是TCP port 443,即https端口。如果我们还想进一步看看是哪些用户在跟我们的https端口通信,“iptraf -i eth0” 可以帮忙:

“iptraf -i eth0” 的输出分为两个窗口,上面是TCP socket pairs,下面是UDP。这里我们看到,连接我们https端口的远程IP是xx.xxx.xxx.xxx。如果你愿意,根据这个socket pair的信息,还可以利用 lsof 工具找出进程号。

原文地址:https://www.cnblogs.com/Serverlessops/p/12186805.html