Linux系统内网络流量查询

计算操作系统技术服务知识库

概述

Linux中有各种查看网络流量的工具,本文介绍一下sar、iftop、nethogs等工具使用

使用示例

sar 工具使用

sar从网络接口层面查看数据包的收发情况、示例如下

sar -n DEV [interval] [count]
#interval参数是统计间隔
#count参数是统计次数。

使用示例

sar -n DEV 2 3

图片 字段解释

  • IFACE:网络接口名称。
  • rxpck/s、txpck/s:每秒收或发的数据包数量。
  • rxkB/s、txkB/s:每秒收或发的字节数,以kB/s为单位。
  • rxcmp/s、txcmp/s:每秒收或发的压缩过的数据包数量。
  • rxmcst/s:每秒收到的多播数据包。

iftop 工具使用

iftop 可以 -i指定网卡查看指定接口网络情况,如果不指定,默认检测第一块网卡 使用示例

iftop -i eth0

图片 如果要查看流量较高的进程,可以加-P 找到端口 再使用netstat

iftop -i eth0 -P 
#如下图打印出端口使用netstat 过滤对应端口查找进程
netstat -antup | grep port

图片 主要字段介绍 iftop的流量显示单位是Mb,这里的b是比特(bit),不是字节(byte)

  • 第一行:带宽使用情况显示。
  • 中间部分为外部连接列表,即记录了哪些IP正在和本机的网络连接。
  • 中间部分靠右侧部分是实时流量信息,分别是该访问IP连接到本机2秒、10 秒和40秒的平均流量。
  • =>代表发送数据,<=代表接收数据。
  • 底部三行。
    • 第一列:TX表示发送流量,RX表示接收流量,TOTAL表示总流量。
    • 第二列cum:表示第一列各种情况的总流量。
    • 第三列peak:表示第一列各种情况的流量峰值。
    • 第四列rates:表示第一列各种情况2秒、10秒、40秒内的平均流量。

图片

nethogs工具使用

如果未安装nethogs流量监控工具,可使用yum -y install nethogs 尝试安装,下面介绍常见用法 使用示例

nethogs eth0
通过nethogs可以看到网卡上进程级的流量信息, 查看每个进程的网络带宽情况以及对应的PID.

s可以按照Sent列进行排序, r可以按照Received列进行排序, m可以切换不同的统计单位显示,例如KB/s、KB、B、MB。监控界面信息说明如下所示。 图片 显示字段介绍

  • PID列表示相应流量关联程序的进程号。
  • USER列表示相应进程的所属用户。
  • PROGRAM列表示程序的具体执行路径。
  • DEV列当前监控的网络接口名称。
  • Sent列表示相应进程已经发送的数据流量。
  • Received列表示程序已经接收的数据流量。
29
0
0
0
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论