从 ifconfig 读取网卡流量

文章目录

    如何读懂网卡流量数据?

    感觉很多网卡流量的数据都是从 ifconfig 读取到的,所以先看一个 ifconfig 的各种输出结果、以及概念。

    先从土鳖的百度百科看起, http://baike.baidu.com/view/1001503.htm

    ifconfig 的全称是 network interfaces configuring,即网络接口设置。interface 这
    个词,会在监控指标里出现,例如 interface-eth0, interface-eth1, interface-lo.

    看一个 ifconfig 的输出

    eth0      Link encap:Ethernet  HWaddr b8:97:5a:16:f0:f0
              inet addr:192.168.1.151  Bcast:192.168.1.255  Mask:255.255.255.0
              inet6 addr: fe80::ba97:5aff:fe16:f0f0/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:24490 errors:0 dropped:0 overruns:0 frame:0
              TX packets:24647 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:19245960 (19.2 MB)  TX bytes:3821666 (3.8 MB)
    
    lo        Link encap:Local Loopback
              inet addr:127.0.0.1  Mask:255.0.0.0
              inet6 addr: ::1/128 Scope:Host
              UP LOOPBACK RUNNING  MTU:65536  Metric:1
              RX packets:3249 errors:0 dropped:0 overruns:0 frame:0
              TX packets:3249 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0
              RX bytes:672482 (672.4 KB)  TX bytes:672482 (672.4 KB)
    

    中文版

    eth0 Link encap:以太网 硬件地址 b8:97:5a:16:f7:d3
    inet 地址:192.168.1.145 广播:192.168.1.255 掩码:255.255.255.0
    inet6 地址: fe80::ba97:5aff:fe16:f7d3/64 Scope:Link
    UP BROADCAST RUNNING MULTICAST MTU:1500 跃点数:1
    接收数据包:144461 错误:0 丢弃:0 过载:0 帧数:0
    发送数据包:117627 错误:0 丢弃:0 过载:0 载波:0
    碰撞:0 发送队列长度:1000
    接收字节:164143594 (164.1 MB) 发送字节:14788275 (14.7 MB)
    
    lo Link encap:本地环回
    inet 地址:127.0.0.1 掩码:255.0.0.0
    inet6 地址: ::1/128 Scope:Host
    UP LOOPBACK RUNNING MTU:16436 跃点数:1
    接收数据包:14257 错误:0 丢弃:0 过载:0 帧数:0
    发送数据包:14257 错误:0 丢弃:0 过载:0 载波:0
    碰撞:0 发送队列长度:0
    接收字节:24577798 (24.5 MB) 发送字节:24577798 (24.5 MB)
    
    • eth0 代表 first Ethernet interface; eth0,eth1, eth2, 分别代表网卡一,网卡二,网卡三
    • Tx = Transmit (packets transmitted out the interface)
    • Rx = Recieve (packets received on the interface)
    • interface-eth0.if_packets.rx 翻译成“接收数据包”
    • interface-eth1.if_packets.tx 翻译成”发送数据包”
    • interface-eth0.if_octets.rx = 接收字节
    • interface-eth0.if_octets.tx = 发送字节

    关于作者 🌱

    我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊,或者关注我的个人公众号“大象工具”, 查看更多联系方式