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

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

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

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

工具目录

分类

查看所有分类
Loading categories
flan — 一个很棒的漏洞扫描器 | Kitploit
工具/GitHubGitHub/cloudflare/flan
漏洞扫描器容器安全端口扫描网络安全云安全
GitHubcloudflare/flan

flan

一个很棒的漏洞扫描器

查看仓库
4.2k293422年前Kitploit 审核通过

最受欢迎

查看全部 →

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

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

Flan Scan 是一款轻量级网络漏洞扫描器。使用 Flan Scan 可以轻松发现网络中的开放端口,识别服务及其版本,并获取影响网络的 CVE 列表。

Flan Scan 是对 Nmap 和 vulners 脚本的封装,将 Nmap 转变为一款功能完备的网络漏洞扫描器。Flan Scan 便于在容器内本地部署 Nmap,将结果推送至云端,并在 Kubernetes 上部署扫描器。

入门指南

  1. 克隆此仓库

  2. 确保已安装 docker:

$ docker --version
  1. 将待扫描的 IP 地址或 CIDR 列表添加至 shared/ips.txt。

  2. 构建容器:

$ make build
  1. 开始扫描!
$ make start

默认情况下 flan 会生成 Latex 报告,要获取其他格式请运行:

$ make html

其他支持的格式有 md (markdown)、html 和 json。

扫描完成后,您可以在 shared/reports 中找到汇总报告的摘要文件。原始 Nmap XML 输出文件位于 shared/xml_files 中。

自定义 Nmap 配置

默认情况下 Flan Scan 执行以下 Nmap 命令:

$ nmap -sV -oX /shared/xml_files -oN - -v1 $@ --script=vulners/vulners.nse <ip-address>

其中 -oX 标志将扫描结果的 XML 版本添加至 /shared/xml_files 目录,-oN - 标志将“普通” Nmap 结果输出至控制台。-v1 标志将详细程度提高到 1,-sV 标志运行服务检测扫描(除了 Nmap 默认的端口和 SYN 扫描)。--script=vulners/vulners.nse 脚本用于匹配检测到的服务与相关的 CVE。

Nmap 还允许运行 UDP 扫描和扫描 IPv6 地址。要在 Flan Scan 中添加这些及其他标志,请在运行 make build 后运行容器并传入 Nmap 标志,示例如下:

$ docker run -v $(CURDIR)/shared:/shared flan_scan <Nmap-flags>

将结果推送至云端

Flan Scan 目前支持将 Latex 报告和原始 Nmap XML 输出文件推送至 GCS 存储桶或 AWS S3 存储桶。Flan Scan 需要两个环境变量才能将结果推送至云端。第一个是 upload,其值为 gcp 或 aws。第二个是 bucket,其值为用于上传结果的 S3 或 GCS 存储桶的名称。要设置环境变量,请在运行 make build 后运行容器并设置环境变量,示例如下:

$ docker run --name <container-name> \
             -v $(CURDIR)/shared:/shared \
             -e upload=<gcp or aws> \
             -e bucket=<bucket-name> \
             -e format=<可选,值为 md、html 或 json 之一> \
             flan_scan

以下是一些将所需的 AWS 或 GCP 认证密钥作为环境变量添加到容器中的示例。不过,也可以通过 Kubernetes 中的 Secret 来暴露所需的环境变量,或使用其他密钥管理工具来实现。

GCS 存储桶配置示例

将 GCS 服务账号的私钥复制到 /shared 目录

$ cp <path-to-local-gcs-key>/key.json shared/

运行容器并设置 GOOGLE_APPLICATION_CREDENTIALS 环境变量为 GCS 密钥的路径

$ docker run --name <container-name> \
             -v $(CURDIR)/shared:/shared \
             -e upload=gcp \
             -e bucket=<bucket-name> \
             -e GOOGLE_APPLICATION_CREDENTIALS=/shared/key.json
             -e format=<可选,值为 md、html 或 json 之一> \
             flan_scan

AWS S3 存储桶配置示例

设置 AWS_ACCESS_KEY_ID 和 AWS_SECRET_ACCESS_KEY 环境变量,对应 S3 服务账号的变量。

docker run --name <container-name> \
           -v $(CURDIR)/shared:/shared \
           -e upload=aws \
           -e bucket=<s3-bucket-name> \
           -e AWS_ACCESS_KEY_ID=<your-aws-access-key-id> \
           -e AWS_SECRET_ACCESS_KEY=<your-aws-secret-access-key> \
           -e format=<可选,值为 md、html 或 json 之一> \
           flan_scan


在 Kubernetes 上部署

将 Flan Scan 部署到容器编排系统(如 Kubernetes)时,必须确保容器能够访问 / 目录下名为 ips.txt 的文件。在 Kubernetes 中,可以通过 ConfigMap 实现,该 ConfigMap 将本地文件系统中的文件挂载为卷,以便容器在部署后访问。kustomization.yaml 文件包含如何创建名为 shared-files 的 ConfigMap 的示例。该 ConfigMap 随后在 deployment.yaml 中作为卷挂载。

以下是部署 Flan Scan 到 Kubernetes 的简单步骤:

  1. 要创建 ConfigMap,请在 kustomization.yaml 中添加本地 ips.txt 文件的路径,然后运行 kubectl apply -k .。
  2. 现在运行 kubectl get configmap 确保 ConfigMap 已正确创建。
  3. 在 deployment.yaml 中设置云提供商所需的环境变量和密钥。
  4. 然后运行 kubectl apply -f deployment.yaml 启动运行 Flan Scan 的 Deployment。

Flan Scan 应该已成功在 Kubernetes 上运行!

下载工具