代码改变世界

Linux下查看网络流量信息 proc/net/dev

2020-11-02 14:13  宋海宾  阅读(2909)  评论(0编辑  收藏  举报

在Linux系统中,系统调用是操作系统提供给应用程序使用操作系统服务的重要接口,但同时也正是通过系统调用机制,操作系统屏蔽了用户直接访问系统内核的可能性。幸运的是Linux提供了LKM机制可以使我们在内核空间工作,在LKM机制中一个重要的组成部分就是proc伪文件系统,它为用户提供了动态操作Linux内核信息的接口,是除系统调用之外另一个重要的Linux内核空间与用户空间交换数据的途径。

而proc/net/dev就是提供给用户读取或更改网络适配器及统计信息的途径。

cat /proc/net/dev
[root@90d77561d95b build]# more /proc/net/dev
Inter-|   Receive                                                |  Transmit
 face |bytes    packets errs drop fifo frame compressed multicast|bytes    packets errs drop fifo colls carrier compressed
    lo:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
ip6tnl0:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
 tunl0:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
  eth0: 48674378   33431    0    0    0     0          0         0   765815   13948    0    0    0     0       0          0

 

  • bytes: The total number of bytes of data transmitted or received by the interface.(接口发送或接收的数据的总字节数)
  • packets: The total number of packets of data transmitted or received by the interface.(接口发送或接收的数据包总数)
  • errs: The total number of transmit or receive errors detected by the device driver.(由设备驱动程序检测到的发送或接收错误的总数)
  • drop: The total number of packets dropped by the device driver.(设备驱动程序丢弃的数据包总数)
  • fifo: The number of FIFO buffer errors.(FIFO缓冲区错误的数量)
  • frame: The number of packet framing errors.(分组帧错误的数量)
  • colls: The number of collisions detected on the interface.(接口上检测到的冲突数)
  • compressed: The number of compressed packets transmitted or received by the device driver. (This appears to be unused in the 2.2.15 kernel.)(设备驱动程序发送或接收的压缩数据包数)
  • carrier: The number of carrier losses detected by the device driver.(由设备驱动程序检测到的载波损耗的数量)
  • multicast: The number of multicast frames transmitted or received by the device driver.(设备驱动程序发送或接收的多播帧数)