Darkstat - 基于 Web 的 Linux 网络流量分析器
Darkstat 是一个跨平台、轻量级、简单、实时的网络统计工具,可以捕获网络流量、计算有关使用情况的统计数据,并通过 HTTP 提供报告。
暗统计特点:
- 具有 deflate 压缩功能的集成网络服务器。
- 便携式、单线程、高效的基于 Web 的网络流量分析器。
- Web 界面显示流量图、每个主机的报告以及每个主机的端口。
- 支持使用子进程的异步反向 DNS 解析。
- 支持IPv6协议。
要求:
- libpcap – 用于捕获网络流量的可移植 C/C++ 库。
由于体积小,它使用的系统内存资源非常低,并且很容易在 Linux 中安装、配置和使用,如下所述。
如何在 Linux 中安装 Darkstat 网络流量分析器
1. 幸运的是,darkstat 在 RHEL/CentOS 和 Debian/Ubuntu 等主流 Linux 发行版的软件存储库中都有提供。
sudo apt-get install darkstat # Debian/Ubuntu
sudo yum install darkstat # RHEL/CentOS
sudo dnf install darkstat # Fedora 22+
2.安装darkstat后,需要在主配置文件/etc/darkstat/init.cfg中进行配置。
sudo vi /etc/darkstat/init.cfg
请注意,出于本教程的目的,我们将仅解释您开始使用此工具所需的必需配置选项和重要配置选项。
现在将 START_DARKSTAT 的值从 no
更改为 yes
并使用 INTERFACE 选项设置 darkstat 将侦听的接口。
还有取消注释 DIR=”/var/lib/darkstat” 和 DAYLOG=”–daylog darkstat.log” 选项来指定其目录和分别记录文件。
START_DARKSTAT=yes
INTERFACE="-i ppp0"
DIR="/var/lib/darkstat"
File will be relative to $DIR:
DAYLOG="--daylog darkstat.log"
3. 现在启动 darkstat 守护进程并使其在系统启动时启动,如下所示。
------------ On SystemD ------------
sudo systemctl start darkstat
sudo /lib/systemd/systemd-sysv-install enable darkstat
sudo systemctl status darkstat
------------ On SysV Init ------------
sudo /etc/init.d/darkstat start
sudo chkconfig darkstat on
sudo /etc/init.d/darkstat status
4. 默认情况下,darkstat 监听端口 667,因此请在防火墙上打开该端口以允许访问。
------------ On FirewallD ------------
sudo firewall-cmd --zone=public --permanent --add-port=667/tcp
sudo firewall-cmd --reload
------------ On IPtables ------------
sudo iptables -A INPUT -p udp -m state --state NEW --dport 667 -j ACCEPT
sudo iptables -A INPUT -p tcp -m state --state NEW --dport 667 -j ACCEPT
sudo service iptables save
------------ On UFW Firewall ------------
sudo ufw allow 667/tcp
sudo ufw reload
5. 最后,通过 URL http://Server-IP:667 访问 darkstat Web 界面。
您可以通过单击on
和off
按钮自动重新加载图表。
在 Linux 中通过命令行管理 Darkstat
在这里,我们将解释一些如何从命令行操作 darkstat 的重要示例。
6.要收集eth0接口上的网络统计信息,您可以使用-i
标志,如下所示。
darkstat -i eth0
7. 要在特定端口上提供网页服务,请包含 -p
标志,如下所示。
darkstat -i eth0 -p 8080
8. 要密切关注给定服务的网络统计信息,请使用 -f
或过滤标志。下面示例中指定的过滤表达式将捕获与 SSH 服务相关的流量。
darkstat -i eth0 -f "port 22"
最后但并非最不重要的一点是,如果你想以干净的方式关闭 darkstat;建议向darkstat父进程发送SIGTERM或SIGINT信号。
首先,使用 pidof 命令获取 darkstat 父进程 ID (PPID):
pidof darkstat
然后像这样杀死进程:
sudo kill -SIGTERM 4790
OR
sudo kill -15 4790
有关其他使用选项,请阅读 darkstat 联机帮助页:
man darkstat
参考链接:Darkstat主页
您可能还想阅读以下有关Linux网络监控的相关文章。
- 20 个监控 Linux 性能的命令行工具
- 13 个 Linux 性能监控工具
- Netdata – 实时 Linux 性能监控工具
- BCC – 用于 Linux 性能和网络监控的动态工具
就是这样!在本文中,我们解释了如何在 Linux 中安装和使用 darkstat 来捕获网络流量、计算使用情况并通过 HTTP 分析报告。
您有任何问题要问或有想法要分享,请使用下面的评论表?