Linux:检索每个接口发送/接收的数据包计数器(ethernet,ipv4,ipv6)

Bru*_*man 12 linux ip networking

在Linux上,我如何(以编程方式)基于每个接口检索以下计数器:

  • 发送/接收以太网帧,
  • 发送/接收的IPv4数据包,
  • 发送/接收的IPv6数据包.

Mar*_*rkR 21

在我的系统上,有一些文件/sys/class/net/eth0/statistics,它们提供了有关网络接口的各种统计信息.

这假设一个模糊的Linux最近/sys安装了(sysfs).


小智 10

cat /proc/net/dev
Run Code Online (Sandbox Code Playgroud)

应包含计数器,统计信息和信息.


xah*_*tep 7

您应该能够使用iptables规则和数据包计数器来执行此操作,例如

# input and output must be accounted for separately
# ipv4, eth0
iptables -I INPUT -i eth0
iptables -I OUTPUT -o eth0
# ipv6, eth0
ip6tables -I INPUT -i eth0
ip6tables -I OUTPUT -o eth0
Run Code Online (Sandbox Code Playgroud)

要查看统计信息,请解析以下输出:

iptables -L -vxn
ip6tables -L -vxn
Run Code Online (Sandbox Code Playgroud)

您还应该-Z在要重置计数器时查找标志.