bandwidthd
是一个 网络流量监控工具,用于分析通过网卡的流量并生成 基于 Web 的 HTML 报表,支持显示:
- 每个 IP 的带宽使用情况
- TCP/UDP 流量分析
- HTTP、SMTP、FTP、P2P 等协议的使用量
- 可按小时、日、周、月生成图表
它适合中小网络、软路由或网关设备流量分析,不依赖复杂的数据库或 web 后端。
在 debian12 中安装如下:
sudo apt update
sudo apt install bandwidthd
安装后默认会:
- 把监听接口设为
eth0
- 日志输出到
/var/lib/bandwidthd
- 网页生成在
/var/lib/bandwidthd/htdocs
编辑配置文件 /etc/bandwidthd/bandwidthd.conf
:
interface eth0 # 改成你的网卡,如 ens18、br0 等
output_cdf false # 禁用 CSV 日志
output_graphs true # 启用图表
subnets 192.168.1.0/24 # 可选,指定监控的网段
修改后重启服务:
sudo systemctl restart bandwidthd
Bandwidthd 本身不自带 Web 服务器,需要配合 Nginx 或 Apache 来提供访问
安装 nginx 如下:
sudo apt install nginx
编辑 /etc/nginx/sites-available/bandwidthd
:
server {
listen 8080;
server_name _;
access_log /var/log/nginx/bandwidthd.access.log;
error_log /var/log/nginx/bandwidthd.error.log;
location / {
root /var/lib/bandwidthd/htdocs;
index index.html;
autoindex on;
}
}
保存后,创建软链接到 sites-enabled
:
sudo ln -s /etc/nginx/sites-available/bandwidthd /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
现在你可以通过浏览器访问 Bandwidthd 的 Web 界面了:
http://<你的服务器 IP 或域名>/