Darkstat – 基于 Web 的 Linux 网络流量分析器

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界面。

Darkstat Network Traffic Analyzer

您可以通过单击启用停用按钮来自动重新加载图形。

在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父进程PPIDpid

$ pidof darkstat

然后像这样终止进程:

$ sudo kill -SIGTERM 4790
OR
$ sudo kill -15 4790

如需更多使用选项,请阅读darkstat的man页:

$ man darkstat

参考链接:Darkstat首页

您可能还想阅读以下有关Linux网络监控的相关文章。

  1. 20个用于监控Linux性能的命令行工具
  2. 13个Linux性能监控工具
  3. Netdata – 实时Linux性能监控工具
  4. BCC – Linux性能和网络监控的动态工具

就是这样!在本文中,我们已经解释了如何在Linux中安装和使用darkstat来捕获网络流量,计算使用情况并通过HTTP分析报告。

如果您有任何问题或想分享想法,请使用下方的评论表单。

Source:
https://www.tecmint.com/darkstat-web-based-linux-network-traffic-analyzer/