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

     1  # CMD 工具集
     2  
     3  Fingers 库提供了一系列命令行工具,用于指纹验证、测试和转换等操作。
     4  
     5  ## 可用工具
     6  
     7  ### validate - 指纹验证工具
     8  
     9  **位置**: `cmd/validate/`  
    10  **功能**: 验证 fingers 和 alias 格式文件的语法正确性
    11  
    12  **主要特性**:
    13  - 支持 fingers 指纹文件验证
    14  - 支持 alias 别名文件验证  
    15  - 生成 JSON Schema
    16  - 详细的错误报告和统计
    17  
    18  **快速使用**:
    19  ```bash
    20  cd cmd/validate
    21  # 验证指纹文件
    22  go run main.go -engine fingers fingerprints.yaml
    23  # 验证别名文件  
    24  go run main.go -engine alias aliases.yaml
    25  # 查看帮助
    26  go run main.go -help
    27  ```
    28  
    29  ### test - 指纹测试工具
    30  
    31  **位置**: `cmd/test/`  
    32  **功能**: 对实际目标进行指纹检测和验证
    33  
    34  **主要特性**:
    35  - 通用指纹检测
    36  - Alias 配置测试
    37  - 目标覆盖功能
    38  - 指纹匹配验证
    39  - 详细的测试报告
    40  
    41  **快速使用**:
    42  ```bash
    43  cd cmd/test
    44  # 通用指纹检测
    45  go run main.go -target https://nginx.org -detect-all
    46  # Alias测试
    47  go run main.go -alias aliases.yaml -name nginx_test
    48  # 查看帮助  
    49  go run main.go -help
    50  ```
    51  
    52  ### transform - 数据转换工具
    53  
    54  **位置**: `cmd/transform/`  
    55  **功能**: 转换不同格式的指纹数据
    56  
    57  **主要特性**:
    58  - 支持多种指纹格式转换
    59  - 批量处理能力
    60  - 数据清洗和标准化
    61  
    62  **快速使用**:
    63  ```bash
    64  cd cmd/transform
    65  go run transform.go [options]
    66  ```
    67  
    68  ### nmap - Nmap 服务探测
    69  
    70  **位置**: `cmd/nmap/`  
    71  **功能**: 基于 Nmap service-probes 的服务指纹识别
    72  
    73  **主要特性**:
    74  - TCP/UDP 服务探测
    75  - 基于 nmap-service-probes 数据库
    76  - 端口服务识别
    77  
    78  **快速使用**:
    79  ```bash
    80  cd cmd/nmap
    81  go run nmap.go [target] [port]
    82  ```
    83  
    84  ### engine - 引擎示例
    85  
    86  **位置**: `cmd/engine/`  
    87  **功能**: 展示如何使用 Fingers 引擎的示例代码
    88  
    89  **主要特性**:
    90  - 引擎初始化示例
    91  - Web 指纹检测示例
    92  - Service 指纹检测示例
    93  
    94  **快速使用**:
    95  ```bash
    96  cd cmd/engine
    97  go run example.go
    98  ```
    99  
   100  ## 工具链使用流程
   101  
   102  ### 1. 开发阶段
   103  使用 `validate` 工具验证指纹文件格式:
   104  ```bash
   105  cd cmd/validate
   106  go run main.go -engine fingers new_fingerprints.yaml
   107  ```
   108  
   109  ### 2. 测试阶段  
   110  使用 `test` 工具测试指纹准确性:
   111  ```bash
   112  cd cmd/test
   113  go run main.go -alias test_aliases.yaml -name new_fingerprint_test
   114  ```
   115  
   116  ### 3. 部署阶段
   117  集成到应用程序中使用 Fingers 引擎进行实际检测。
   118  
   119  ## 注意事项
   120  
   121  - 所有工具都支持 `-help` 参数查看详细使用说明
   122  - 工具需要在对应目录下运行,或使用完整路径
   123  - 部分工具需要网络连接进行实际测试
   124  - 建议在测试环境中先验证功能后再用于生产环境
   125  
   126  ## 贡献
   127  
   128  如需添加新的命令行工具,请:
   129  1. 在 `cmd/` 下创建新目录
   130  2. 实现相应功能
   131  3. 添加使用文档
   132  4. 更新本 README 文件