Linux查看网络流量

文章原文: Linux查看网络流量

做为一个非职业运维,不时须要查看Linux服务器上的网络流量情况。本文介绍几个经常使用的Linux查看网络流量命令,并简要介绍其用法。部分命令系统已经内置,某些命令则须要从软件仓库或者自行编译安装,本文以CentOS系统为例介绍软件安装方法。html

查看总流量

ip

ip 命令来自 iproute2util 包,是查看、配置网络/路由的工具。做为 ifconfig 的替代品,ip 命令功能更强大,用法更语义化。linux

ip命令在大多数系统上都已经默认安装,也可经过 yum install -y iproute 安装。ip 的 "-s -h" 参数查看各网卡的总流量,下图是 ip -s -h link 的输出结果:ios

ip命令输出结果

nload

nload 命令能够查看各个网络设备的当前网络速率,也会展现流经设备的总流量。服务器

nload 来自EPEL软件库,CentOS安装命令为:yum install -y epel-release && yum install -y nload。查看eth0网卡流量 nload eth0命令输出以下:网络

nload查看网络流量

PS:netstat -sifconfig -s 均可以查看收发的总包(netstat分协议给出),但不会给出字节数据。运维

查看实时网速网速

nload 命令能够输出当前网速,上面已经介绍过,本节再也不赘述。tcp

dstat

dstat 是一个用来替换vmstatiostatnetstatnfsstatifstat的全能系统信息统计工具,支持数据实时刷新,输出直观易懂。工具

dstat 默认没有安装,安装命令为:yum install -y dstatdstat -tnf 1 10 输出接下来10秒内每秒的网络数据:性能

dstat输出

sar

sar 是System Activity Report的缩写,是一款全面的Linux系统运行状态统计和性能分析工具,可从磁盘IO、CPU负载、内存使用等多个维度对系统活动进行报告。spa

sar 命令来自 sysstat 包,可以使用这个命令安装:yum install -y sysstatsar -n TCP 1 10可查看接下来10秒内的tcp数据:

sar查看tcp数据

查看链接/进程流量

ss/netstat

ssnetstat 是查看活动连接/监听端口的经常使用命令。ssnetstat 的替代,性能更好,建议使用。

ssiproute2util 包的一部分,所以在大多数系统上默认安装,也可经过yum install -y iproute安装。netstat 来自 net-tools 包,新版系统上须要自行安装:yum install -y net-tools

下图是用ss查看tcp链接的输出:

ss查看tcp链接

iftop

iftop 是一款实时流量监控工具,能够查看每一个链接的实时速率。

iftop 来自EPEL软件库,安装命令是:yum install -y epel-release && yum install -y iftopiftop -nN -i eth0实时查看eth0网卡的各个链接和网速:

iftop查看实时网速

nethogs

nethogs 是为了查看单个进程流量而设计的工具,按照进程进行带宽分组。

nethogs 来自EPEL软件库,安装命令是:yum install -y epel-release && yum install -y nethogsnethogs -d 2 eth0 每2秒刷新流经eth0网卡的进程流量信息:

nethogs输出

其余

tcpdump能够用来抓包,保存的数据能够用wireshark打开和查看。

参考

1. Linux sar命令详解

2. 30 Linux System Monitoring Tools Every SysAdmin Should Know

相关文章
相关标签/搜索