Linux 查看或统计网卡流量的几种方式【全】 |
您所在的位置:网站首页 › 实时流量使用情况怎么看的 › Linux 查看或统计网卡流量的几种方式【全】 |
在工作中,我们经常需要查看服务器的实时网卡流量。通常,我们会通过这几种方式查看Linux服务器的实时网卡流量。 目录 1、sar 2、 /proc/net/dev 3、ifstat 4、iftop 5、nload 6、iptraf-ng 7、nethogs 8、扩展 1、sarsar命令包含在sysstat工具包中,提供了基于网络接口的数据统计,也可以查看设备上每秒收发包的个数和流量。 sar -n DEV 1 2上面命令的含义是:向网卡(默认eth0)每秒读取1次值,共读取2次,然后显示出来: 详细使用教程参考博客:《sar — Linux 上最为全面的系统性能分析工具之一》 2、cat /proc/net/devLinux 内核提供了一种通过 /proc 文件系统,在运行时访问内核内部数据结构、改变内核设置的机制。proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。用户和应用程序可以通过proc得到系统的信息,并可以改变内核的某些参数。由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取proc文件时,proc文件系统是动态从系统内核读出所需信息并提交的。 /proc文件系统中包含了很多目录,其中/proc/net/dev就是提供给用户读取或更改网络适配器及统计信息的途径。 注意:因为proc是伪文件系统,只存在内存中,所以这里统计的数据的时间起止时间是:系统启动到命令执行,如果此时系统发生重启,数据将会清零。 参数说明: bytes: 接口发送或接收的数据的总字节数packets: 接口发送或接收的数据包总数errs: 由设备驱动程序检测到的发送或接收错误的总数drop: 设备驱动程序丢弃的数据包总数fifo: FIFO缓冲区错误的数量frame: 分组帧错误的数量colls: 接口上检测到的冲突数compressed: 设备驱动程序发送或接收的压缩数据包数carrier: 由设备驱动程序检测到的载波损耗的数量multicast: 设备驱动程序发送或接收的多播帧数其实,我们平时经常用的很多查看网卡实时流量的命令,都是通过读取该目录下的实时流量,并通过简单计算得到的。 3、ifstatifstat是一个统计网络接口活动状态的工具。 (1)安装 sudo apt-get update sudo apt-get install ifstat(2)命令选项 -l 监测环路网络接口(lo)。缺省情况下,ifstat监测活动的所有非环路网络接口。经使用发现,加上-l参数能监测所有的网络接口的信息,而不是只监测 lo的接口信息,也就是说,加上-l参数比不加-l参数会多一个lo接口的状态信息。-a 监测能检测到的所有网络接口的状态信息。使用发现,比加上-l参数还多一个plip0的接口信息,搜索一下发现这是并口(网络设备中有一 个叫PLIP (Parallel Line Internet Protocol). 它提供了并口...)-z 隐藏流量是无的接口,例如那些接口虽然启动了但是未用的-i 指定要监测的接口,后面跟网络接口名-s 等于加-d snmp:[comm@][#]host[/nn]] 参数,通过SNMP查询一个远程主机-h 显示简短的帮助信息-n 关闭显示周期性出现的头部信息(也就是说,不加-n参数运行ifstat时最顶部会出现网络接口的名称,当一屏显示不下时,会再一次出现接口的名称,提示我们显示的流量信息具体是哪个网络接口的。加上-n参数把周期性的显示接口名称关闭,只显示一次)-t 在每一行的开头加一个时间 戳(能告诉我们具体的时间)-T 报告所有监测接口的全部带宽(最后一列有个total,显示所有的接口的in流量和所有接口的out流量,简单的把所有接口的in流量相加,out流量相 加)-w 用指定的列宽,而不是为了适应接口名称的长度而去自动放大列宽-W 如果内容比终端窗口的宽度还要宽就自动换行-S 在同一行保持状态更新(不滚动不换行)注:如果不喜欢屏幕滚动则此项非常方便,与bmon的显示方式类似-b 用kbits/s显示带宽而不是kbytes/s-q 安静模式,警告信息不出现-v 显示版本信息-d 指定一个驱动来收集状态信息(3)使用示例: ifstat -tT 参数说明: in:网卡接收的总字节数out:网卡发送的总字节数 4、iftopiftop是一款实时流量监控工具,监控TCP/IP连接等,缺点就是无报表功能。必须以root身份才能运行。 (1)安装 sudo apt-get update sudo apt-get install iftop(2)命令选项 iftop -h | [-npblNBP] [-i interface] [-f filter code] [-F net/mask] [-G net6/mask6]详细参数说明: -i :指定需要监测的网卡-n:将输出的主机信息都通过IP显示,不进行DNS反向解析-B:将输出以bytes为单位显示网卡流量,默认是bits-p:以混杂模式运行iftop,此时iftop可以作为网络嗅探器使用-N:只显示连接端口号,不显示端口对应的服务名称-P:显示主机以及端口信息,这个参数非常有用-F:显示特定网段的网卡进出流量,例如:iftop –F 192.168.12.0/24-m:设置iftop输出界面中最上面的流量刻度最大值,流量刻度分五个大段显示-t : 使用文本方式显示结果,而非交互界面 -L : 指定结果显示的行数-s sec: sec秒后输出结果,然后自动退出(3)使用示例: 1、sudo iftop -i eth0 -t -s 30 -L 100 注意,如果时间较长,各ip地址的cumulative累计和可能并不等于最终的Cumulative,此时可以每40s统计一次结果,然后将结果累加。 2、sudo iftop -i eth0 iftop的输出从整体上可以分为三大部分: iftop输出中最上面的一行,此行信息是流量刻度,用于显示网卡带宽流量。iftop输出中最大的一个部分,此部分又分为左、中、右三列,左列和中列记录了哪些IP或主机正在和本机的网络进行连接。其中,中列的“=>”代表发送数据,“ |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |