github.com/chainreactors/fingers@v1.2.1/cmd/engine/README.md (about)

     1  # Fingers Example
     2  
     3  这是一个使用 Fingers 引擎进行指纹识别的命令行工具示例。
     4  
     5  ## 功能特性
     6  
     7  - 支持多引擎指纹识别
     8  - 支持 SSL 证书验证跳过
     9  - 支持详细输出模式
    10  - 支持 Favicon 专项检测
    11  - 支持自定义资源文件覆盖
    12  
    13  ## 使用方法
    14  
    15  ### 基本用法
    16  
    17  ```bash
    18  # 基本使用
    19  go run example.go -u https://example.com
    20  
    21  # 使用特定引擎
    22  go run example.go -u https://example.com -e fingers,wappalyzer
    23  
    24  # 显示详细信息
    25  go run example.go -u https://example.com -v
    26  
    27  # 忽略SSL证书验证
    28  go run example.go -u https://example.com -k
    29  
    30  # 仅检测favicon
    31  go run example.go -u https://example.com -f
    32  ```
    33  
    34  ### 资源文件覆盖
    35  
    36  工具支持覆盖所有内置的指纹库文件:
    37  
    38  ```bash
    39  # Goby 指纹库
    40  go run example.go -u https://example.com --goby custom_goby.json
    41  
    42  # FingerPrintHub 指纹库
    43  go run example.go -u https://example.com --fingerprinthub custom_fingerprinthub.json
    44  
    45  # EHole 指纹库
    46  go run example.go -u https://example.com --ehole custom_ehole.json
    47  
    48  # Fingers 指纹库
    49  go run example.go -u https://example.com --fingers custom_fingers.json
    50  
    51  # Wappalyzer 指纹库
    52  go run example.go -u https://example.com --wappalyzer custom_wappalyzer.json
    53  
    54  # Aliases 配置
    55  go run example.go -u https://example.com --aliases custom_aliases.yaml
    56  ```
    57  
    58  资源文件说明:
    59  
    60  - 支持 JSON 和 YAML 格式的资源文件
    61  - JSON 文件会自动转换为 YAML 格式
    62  - 非压缩文件会自动进行 gzip 压缩
    63  - 可以同时覆盖多个资源文件
    64  
    65  ## 命令行参数
    66  
    67  ```
    68  应用选项:
    69    -e, --engines=         指定要使用的引擎,多个引擎用逗号分隔 (默认: fingers,fingerprinthub,wappalyzer,ehole,goby)
    70    -k, --insecure        跳过 SSL 证书验证
    71    -u, --url=            要检测的目标 URL (必需)
    72    -v, --verbose         显示详细调试信息
    73    -f, --favicon         仅检测 favicon
    74        --goby=           覆盖 goby.json.gz
    75        --fingerprinthub= 覆盖 fingerprinthub_v3.json.gz
    76        --ehole=          覆盖 ehole.json.gz
    77        --fingers=        覆盖 fingers_http.json.gz
    78        --wappalyzer=     覆盖 wappalyzer.json.gz
    79        --aliases=        覆盖 aliases.yaml
    80  ```
    81  
    82  ## 输出示例
    83  
    84  普通模式:
    85  
    86  ```
    87  nginx/1.18.0 ubuntu/20.04
    88  ```
    89  
    90  详细模式 (-v):
    91  
    92  ```
    93  Loaded engines: fingers:1000 fingerprinthub:500 wappalyzer:300
    94  
    95  Detected frameworks for https://example.com:
    96  Name: nginx
    97  Vendor: nginx
    98  Product: nginx
    99  Version: 1.18.0
   100  CPE: cpe:/a:nginx:nginx:1.18.0
   101  ---
   102  Name: ubuntu
   103  Vendor: canonical
   104  Product: ubuntu
   105  Version: 20.04
   106  CPE: cpe:/o:canonical:ubuntu:20.04
   107  ---
   108  ```
   109  
   110  ## 注意事项
   111  
   112  1. 自定义资源文件必须符合对应引擎的数据格式要求
   113  2. 建议先使用小规模数据测试自定义资源文件是否正确
   114  3. 覆盖资源文件会影响所有使用该资源的引擎
   115  4. 建议在测试环境中充分验证自定义资源文件后再在生产环境使用