Darkstat是一个跨平台、轻量级、简单、实时的网络统计工具,可以捕获网络流量,计算有关使用情况的统计信息,并通过HTTP提供报告。
Darkstat特点:
- 带有deflate压缩功能的集成Web服务器。
- 便携、单线程、高效的基于Web的网络流量分析器。
- Web界面显示流量图表,每个主机的端口报告和主机。
- 支持使用子进程进行异步反向DNS解析。
- 支持IPv6协议。
要求:
- libpcap – 用于网络流量捕获的便携式C/C++库。
由于体积小,占用极低的系统内存资源,易于在Linux中安装、配置和使用,如下所述。
在Linux中安装Darkstat网络流量分析器
1.幸运的是,darkstat已经包含在主流Linux发行版(如RHEL/CentOS和Debian/Ubuntu)的软件仓库中。
$ 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将监听的接口。
此外,取消注释uncomentDIR=”/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. 最后,通过访问网址http://服务器IP:667来访问darkstat Web界面。

您可以通过单击启用
和停用
按钮来自动重新加载图形。
在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父进程PPID的pid:
$ pidof darkstat
然后像这样终止进程:
$ sudo kill -SIGTERM 4790 OR $ sudo kill -15 4790
如需更多使用选项,请阅读darkstat的man页:
$ man darkstat
参考链接:Darkstat首页
您可能还想阅读以下有关Linux网络监控的相关文章。
就是这样!在本文中,我们已经解释了如何在Linux中安装和使用darkstat来捕获网络流量,计算使用情况并通过HTTP分析报告。
如果您有任何问题或想分享想法,请使用下方的评论表单。
Source:
https://www.tecmint.com/darkstat-web-based-linux-network-traffic-analyzer/