要查过去一天的网络流量历史,需先确认/var/log/sa/sa28文件存在,再执行sar -n DEV -f /var/log/sa/sa28;若需真实网卡名须加-p,查指定时段需用-s和-e且时间必须对齐10分钟采样粒度。

要查过去一天的网络流量历史,关键不是“实时看”,而是从 sysstat 自动归档的二进制日志里提取数据。默认情况下,它每 10 分钟采集一次,存成 /var/log/sa/saXX 文件(XX 是日期数字),比如今天是 7 月 29 日,昨天就是 sa28。
先确认数据是否存在
运行 ls -l /var/log/sa/sa28 看文件是否存在。如果报错 “No such file”,说明昨天的采集没成功——常见原因是 /etc/cron.d/sysstat 被禁用,或 /etc/default/sysstat 中 ENABLED="false"。这时 sar -n DEV -f 就无从谈起。
正确读取昨天网卡流量
用这条命令:sar -n DEV -f /var/log/sa/sa28
-
-n DEV表示查网络接口的收发包和带宽 -
-f后必须跟完整路径,不能只写sa28 - 输出里
IFACE列显示真实网卡名(如eth0、ens33),但前提是加了-p参数;否则你看到的是253:0这类编号,得配合sar -n DEV -p -f /var/log/sa/sa28才能对应到设备
关注这几个字段
Linux 安全审计工具,检查 SSH 配置、开放/监听端口、防火墙规则(ufw/iptables/nftables)、失败登录尝试、sudoers 权限...
-
rxpck/s:每秒接收的数据包数(几千正常,持续上万要查是否被攻击) -
txpck/s:每秒发送的数据包数 -
rxkB/s和txkB/s:实际吞吐量,单位是 kB,比包数量更能反映真实负载
如果只想看某一时段
比如查昨天下午 2 点到 4 点的数据:sar -n DEV -s 14:00:00 -e 16:00:00 -f /var/log/sa/sa28
注意时间必须对齐采集粒度(默认 10 分钟一次),填 14:03:22 这种时间点会查不到数据。
补充一点实用技巧
- 想对比多天趋势?可以导出为 CSV:
sadf -d /var/log/sa/sa28 -- -n DEV | grep -v '^#' > net-28.csv - 如果
sar -n DEV输出为空,可能是当天没启用网络统计,可试sar -n ALL -f /var/log/sa/sa28 | head -20看有没有其他网络指标 -
sar -n EDEV -f /var/log/sa/sa28能查丢包、错误帧等底层问题,排查网络异常时很有用
不复杂但容易忽略

















