Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
goaccess — GoAccess 是一个实时的Web日志分析器和交互式查看器,可在 *nix 系统的终端或浏览器中运行。 | Kitploit
工具/GitHubGitHub/allinurl/goaccess
通用工具隐私保护异常检测日志分析
GitHuballinurl/goaccess

goaccess

GoAccess 是一个实时的Web日志分析器和交互式查看器,可在 *nix 系统的终端或浏览器中运行。

查看仓库网站
20.8k1.2k251天前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

GoAccess C build GoAccess

这是什么?

GoAccess 是一款开源、实时的 Web 日志分析器和交互式查看器,可在 *nix 系统的终端中或直接在浏览器中运行。专为系统管理员、DevOps 工程师和安全专业人员设计,它能快速提供可操作的 HTTP 统计数据和可视化的服务器报告。GoAccess 实时解析您的 Web 服务器日志,并直接在终端或通过实时 HTML 仪表板呈现数据,使您可以轻松监控流量、检测异常并即时排查问题。

更多信息请访问:https://goaccess.io。

GoAccess 终端仪表板 GoAccess HTML 仪表板

功能特性

GoAccess 解析指定的 Web 日志文件,并将数据输出到 X 终端。功能包括:

  • 完全实时
    所有面板和指标每 200 毫秒在终端输出中更新,每 1 秒在 HTML 输出中更新。

  • 极简配置需求
    您只需直接针对访问日志文件运行它,选择日志格式,然后让 GoAccess 解析访问日志并显示统计数据。

  • 跟踪应用响应时间
    跟踪服务请求所花费的时间。如果您想跟踪拖慢网站速度的页面,这非常有用。

  • WebSocket 认证:
    GoAccess 提供增强的 WebSocket 认证,支持本地和外部 JWT 验证,具有安全的令牌刷新能力,并与外部认证系统无缝集成。

  • 几乎所有 Web 日志格式
    GoAccess 允许任何自定义日志格式字符串。预定义选项包括 Apache、Nginx、Amazon S3、Elastic Load Balancing、CloudFront 等。

  • 增量日志处理
    需要数据持久化?GoAccess 能够通过磁盘持久化选项增量处理日志。

  • 仅一个依赖项
    GoAccess 用 C 语言编写。只需 ncurses 作为依赖即可运行。它甚至自带自己的 Web Socket 服务器 — http://gwsocket.io/。

  • 访客
    按小时或日期确定命中数、访客数、带宽以及最慢运行请求的指标。

  • 每个虚拟主机的指标
    有多个虚拟主机(服务器块)?它有一个面板显示哪个虚拟主机消耗了最多的 Web 服务器资源。

  • ASN(自治系统编号映射)
    非常适合检测恶意流量模式并相应地阻止它们。

  • 颜色方案可定制
    定制 GoAccess 以适应您自己的颜色品味/方案。可通过终端,或直接在 HTML 输出上应用样式表。

  • 支持大数据集
    GoAccess 凭借其优化的内存哈希表,能够解析大型日志。内存使用情况良好,性能相当不错。这种存储也支持磁盘持久化。

  • Docker 支持
    能够从上游构建 GoAccess 的 Docker 镜像。您仍然可以通过卷映射和编辑 goaccess.conf 来完全配置它。请参阅下面的 Docker 部分。还有关于如何使用 docker-compose 的文档。

几乎所有 Web 日志格式...

GoAccess 允许任何自定义日志格式字符串。预定义选项包括但不限于:

  • Amazon CloudFront(下载分发)
  • Amazon Simple Storage Service(S3)
  • AWS Elastic Load Balancing
  • 组合日志格式(XLF/ELF)Apache | Nginx
  • 通用日志格式(CLF)Apache
  • Google Cloud Storage
  • Apache 虚拟主机
  • Squid 原生格式
  • W3C 格式(IIS)
  • Caddy 的 JSON 结构化格式
  • Traefik 的 CLF 风格

为什么选择 GoAccess?

GoAccess 被设计为一种快速的、基于终端的日志分析器。其核心思想是无需使用浏览器即可实时快速分析和查看 Web 服务器统计数据(如果您想通过 SSH 对访问日志进行快速分析,或者您只是喜欢在终端中工作,这非常棒)。

它还可以作为安全监控的实用工具,使您能够直接从日志中发现可疑活动、异常流量模式、暴力破解尝试、扫描器、爬虫和异常请求。

虽然终端输出是默认输出,但它能够生成一个完整的、自包含的、实时的 HTML 报告,以及 JSON 和 CSV 报告。

您可以将其视为一种监控命令工具,而非其他。

安装

打包状态

从发布版本构建

GoAccess 可以在 *nix 系统上编译和使用。

下载、解压并编译 GoAccess:

$ wget https://tar.goaccess.io/goaccess-1.10.2.tar.gz
$ tar -xzvf goaccess-1.10.2.tar.gz
$ cd goaccess-1.10.2/
$ ./configure --enable-utf8 --enable-geoip=mmdb --with-zlib
$ make
# make install

从 GitHub(开发版)构建

$ git clone https://github.com/allinurl/goaccess.git
$ cd goaccess
$ autoreconf -fiv
$ ./configure --enable-utf8 --enable-geoip=mmdb
$ make
# make install

发行版

在 GNU+Linux 上,使用您发行版的首选包管理器安装 GoAccess 是最简单的。请注意,并非所有发行版都提供最新版本的 GoAccess。

Debian/Ubuntu

# apt-get install goaccess

注意: 这很可能会安装旧版本的 GoAccess。为确保您运行的是最新的稳定版本,请参见下面的替代选项。

官方 GoAccess Debian 和 Ubuntu 仓库

$ wget -O - https://deb.goaccess.io/gnugpg.key | gpg --dearmor | sudo tee /usr/share/keyrings/goaccess.gpg >/dev/null
$ echo "deb [signed-by=/usr/share/keyrings/goaccess.gpg arch=$(dpkg --print-architecture)] https://deb.goaccess.io/ $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/goaccess.list
$ sudo apt-get update
$ sudo apt-get install goaccess

说明:

  • 官方仓库中的 .deb 包也可通过 HTTPS 获取。您可能需要安装 apt-transport-https。

Fedora

# yum install goaccess

Arch

# pacman -S goaccess

Gentoo

# emerge net-analyzer/goaccess

OS X / Homebrew

# brew install goaccess

FreeBSD

# cd /usr/ports/sysutils/goaccess/ && make install clean
# pkg install sysutils/goaccess

OpenBSD

# cd /usr/ports/www/goaccess && make install clean
# pkg_add goaccess

openSUSE

# zypper ar -f obs://server:http http
# zypper in goaccess

OpenIndiana

# pkg install goaccess

pkgsrc (NetBSD, Solaris, SmartOS, ...)

# pkgin install goaccess

Windows

GoAccess 可以通过 Cygwin 在 Windows 中使用。请参阅 Cygwin 的 包。或者通过 Windows 10 的 GNU+Linux 子系统。

Docker

已更新 Docker 镜像,能够从访问日志中输出。如果您只想输出报告,可以将日志从外部环境通过管道传输到基于 Docker 的进程:

touch report.html
cat access.log | docker run --rm -i -v ./report.html:/report.html -e LANG=$LANG allinurl/goaccess -a -o report.html --log-format COMBINED -

或实时

tail -F access.log | docker run -p 7890:7890 --rm -i -e LANG=$LANG allinurl/goaccess -a -o report.html --log-format COMBINED --real-time-html -

还有关于如何使用 docker-compose 的文档。

在隔离容器中构建

您还可以在隔离的容器环境中为基于 Debian 的系统构建二进制文件,以避免用开发库弄乱本地系统:

$ curl -L "https://github.com/allinurl/goaccess/archive/refs/heads/master.tar.gz" | tar -xz && cd goaccess-master
$ docker build -t goaccess/build.debian-12 -f Dockerfile.debian-12 .
$ docker run -i --rm -v $PWD:/goaccess goaccess/build.debian-12 > goaccess

您可以在 DOCKER.md 中阅读更多关于使用 Docker 镜像的信息。

发行版包

GoAccess 依赖极少,使用 C 语言编写,仅需 ncurses。然而,以下表格列出了一些可选依赖项,这些依赖项在某些发行版中用于从源代码构建 GoAccess。

发行版NCursesGeoIP (可选)GeoIP2 (可选)OpenSSL (可选)
Ubuntu/Debianlibncurses-devlibgeoip-devlibmaxminddb-devlibssl-dev
RHEL/CentOSncurses-develgeoip-devellibmaxminddb-developenssl-devel
Archncursesgeoiplibmaxminddbopenssl
Gentoosys-libs/ncursesdev-libs/geoipdev-libs/libmaxminddbdev-libs/openssl
SlackwarencursesGeoIPlibmaxminddbopenssl

注意: 您可能需要安装诸如 gcc、autoconf、gettext、autopoint 等构建工具,以便从源代码编译/构建软件。例如,base-devel、build-essential、"Development Tools"。

存储

默认哈希表

内存存储提供了更好的性能,但代价是将数据集大小限制为可用物理内存量。GoAccess 使用内存哈希表。内存使用情况良好,性能相当不错。这种存储也支持磁盘持久化。

命令行 / 配置选项

请参阅可以提供给命令或在配置文件中指定的 选项。如果在配置文件中指定,需要使用长选项,而不需要前置 --。

使用 / 示例

注意:将数据通过管道传输到 GoAccess 不会提示日志/日期/时间配置对话框,您需要事先在配置文件中或命令行中定义它。

入门

要输出到终端并生成交互式报告:

# goaccess access.log

要生成 HTML 报告:

# goaccess access.log -a > report.html

要生成 JSON 报告文件:

# goaccess access.log -a -d -o report.json

要生成 CSV 报告到标准输出:

# goaccess access.log --no-csv-summary -o csv

GoAccess 还为实时过滤和解析提供了极大的灵活性。例如,要快速诊断问题,监控自 goaccess 启动以来的日志:

# tail -f access.log | goaccess -

更好的是,在过滤的同时保持打开管道以维持实时分析,我们可以使用 tail -f 和匹配模式工具(如 grep、awk、sed 等):

# tail -f access.log | grep -i --line-buffered 'firefox' | goaccess --log-format=COMBINED -

或从文件开头解析,同时保持管道打开并应用过滤器:

# tail -f -n +0 access.log | grep -i --line-buffered 'firefox' | goaccess -o report.html --real-time-html -

多个日志文件

有多种方法可以使用 GoAccess 解析多个日志。最简单的方法是将多个日志文件传递给命令行:

# goaccess access.log access.log.1

甚至可以从管道解析文件,同时读取常规文件:

下载工具