Answers:
另一个选择是使用/ proc文件系统。在的/ proc /净/ dev的文件包含有关配置的网络接口的统计信息。每条线路专用于一个网络接口,并且包含用于接收和发送的统计信息。统计信息包括度量标准,例如接收/发送的字节总数,数据包,丢包,错误等。
cat /proc/net/dev
Inter-| Receive | Transmit
face |bytes packets errs drop fifo frame compressed multicast|bytes packets errs drop fifo colls carrier compressed
lo: 29846937 129576 0 0 0 0 0 0 29846937 129576 0 0 0 0 0 0
wlan0: 9467393340 8027251 0 0 0 0 0 0 2559312961 5896509 0 0 0 0 0 0
或者,您可以尝试使用netstat命令,该命令可以显示所有网络接口和相关统计信息:
netstat -i
Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg
lo 65536 0 130435 0 0 0 130435 0 0 0 LRU
wlan0 1492 0 8028018 0 0 0 5897361 0 0 0 BMRU
/proc/net/dev
具有IMO接受的所有解决方案中最干净的格式。
cat /proc/net/dev
有多长时间?
/proc/net/dev
?
ip
iproute2软件包中的命令是新工具。所述link
子命令是用于管理设备/接口。
如果您可以使用获取接口的统计信息 ip -s link
root:~# ip -s link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
RX: bytes packets errors dropped overrun mcast
50679705 529967 0 0 0 0
TX: bytes packets errors dropped carrier collsns
50679705 529967 0 0 0 0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:1d:7d:aa:e3:4e brd ff:ff:ff:ff:ff:ff
RX: bytes packets errors dropped overrun mcast
187663757 308710386 0 0 0 0
TX: bytes packets errors dropped carrier collsns
4051284587 532435117 0 0 0 0
proc
答案是干净且轻巧的,但该答案可能是最接近ifconfig
工具“替换”的答案,因为它的设计明确ifconfig
考虑了替换。
ip -s link show dev eth0
只显示eth0上的流量
-h
标志。例如,ip -h -s link
。
您可以通过proc获取所有必要的信息
# cat /sys/class/net/eth0/statistics/rx_bytes
# cat /sys/class/net/eth0/statistics/rx_packets
# cat /sys/class/net/eth0/statistics/tx_packets
# cat /sys/class/net/eth0/statistics/tx_bytes
您也可以使用iptables和解析输出。
对于收到的数据包
# iptables -L INPUT -n -v
用于传输的数据包
# iptables -L OUTPUT -n -v
如果服务器是网关,则还应该解析FORWARD链
您可以读取文件/sys/class/net/wlp3s0/statistics/rx_bytes
并直接获取rx_byes,而无需调用其他命令,vnstat
这也很好。我知道,Linux将所有信息存储在文件中,因此最好查找那些文件并获取信息。寻找相关文件是挑战。
netstat
。linux.die.net/man/8/netstat