zoukankan      html  css  js  c++  java
  • linux流量监控

    因为做linux常常会要做linux下的流量查看,下面的三个方法能很好的解决当前流量查看.注:我认为nload很破,不准.安装方法,请查我的另一个文章,linux的rpm高级管理.

    iftop工具

    用途: 用来即时监看网路状态和各ip所使用的频宽

    执行(必须以root身份)
    监控eth1的网卡的流量
    # iftop -i eth1

    以位元组(bytes)为单位显示流量(预设是位元bits):
    $ iftop -B

    直接显示IP, 不进行DNS反解:
    $ iftop -n

    直接显示连接埠编号, 不显示服务名称:
    $ iftop -N

    显示某个网段进出封包流量
    $ iftop -F 192.168.1.0/24 or 192.168.1.0/255.255.255.0

    其他参数可下 iftop -h 看说明.

    进入iftop画面时, 可按 p 切换是否显示连接埠, n 切换显示IP或主机的domain name, N切换显示连接埠代号或名称, p暂停显示, b切换是否显示长条, B切换计算几秒内的平均流量, 其他按键可以按h观看说明.
    設定檔的位置在~/.iftoprc , 關於設定檔的寫法可以參考 iftop 的 info page.

    nload
    用途: 用来即时监看网路状态和各ip所使用的频宽(很废话了)
    nload默认的是eth0网卡,如果你想监测eth1网卡的流量
    #nload eth1

    nload默认分为上下两块:上半部分是:Incoming也就是进入网卡的流量,下半部分是:Outgoing,也就是从这块网卡出去的流量,每 部分都有当前流量(Curr),平均流量(Avg),最小流量(Min),最大流量(Max),总和流量(Ttl)这几个部分,看起来还是蛮直观的。
    另外,你也可以自己定义流量数值显示的单位
    #nload --help
    就可以看到具体的相关参数了。

    查看网络平均流量

    下面的脚本可以很好的监控你的网络的平均流量,你可以提定时间
    #!/bin/bash
    echo -n "which nic?"
    read eth
    echo "the nic is "$eth
    echo -n "how much seconds:"
    read sec
    echo "duration is "$sec" seconds, wait please..."
    infirst=$(awk '/'$eth'/{print $1 }' /proc/net/dev |sed 's/'$eth'://')
    outfirst=$(awk '/'$eth'/{print $10 }' /proc/net/dev)
    sumfirst=$(($infirst+$outfirst))
    sleep $sec"s"
    inend=$(awk '/'$eth'/{print $1 }' /proc/net/dev |sed 's/'$eth'://')
    outend=$(awk '/'$eth'/{print $10 }' /proc/net/dev)
    sumend=$(($inend+$outend))
    sum=$(($sumend-$sumfirst))
    echo $sec" seconds total :"$sum"bytes"
    aver=$(($sum/$sec))
    echo "avrage :"$aver"bytes/sec"

  • 相关阅读:
    dd命令测试IO
    手工释放linux内存——/proc/sys/vm/drop_caches
    CNN中的卷积理解和实例
    Python map() 函数
    Python filter() 函数
    Python 用 os.walk 遍历目录
    在python中读写matlab文件
    人生, 不要在别扭的事上纠结
    javascript 最佳实践 ( 24 章 )
    CSS权威指南(第3版)
  • 原文地址:https://www.cnblogs.com/zhangzhang/p/2375772.html
Copyright © 2011-2022 走看看