thelicato/parsex

GitHub: thelicato/parsex

parsex 是一款用 Go 编写的命令行与库双模式工具,用于统一解析和提取多种安全工具(如 nmap、nuclei)的输出数据,将异构扫描结果转化为结构化 JSON。

Stars: 1 | Forks: 0

解析并提取多种安全工具的关键数据

功能使用说明安装说明许可证

`parsex` 是一款强大的命令行工具,旨在简化从各种安全工具输出中解析和提取数据的流程。它通过提供一个统一的解决方案来解释和整理来自多个数据源的数据,从而简化了网络安全中复杂的数据分析任务。 使用 `parsex`,您可以高效地处理并从不同安全工具的输出中提取关键信息,从而在您的网络安全运营中实现更快速、更明智的决策。 我们的目标是打造一款满足社区需求的工具,因此非常欢迎大家提供建议和提交 PR! ## ⚡ 功能 - 统一解析 - 简化工作流 - CLI 和库模式 - 示例文件 以下是当前兼容的工具列表: - nmap (`nmap-standard`, `nmap-xml`, `nmap-grepable`) - nuclei (`nuclei-standard`, `nuclei-json` 用于 JSON 和 JSONL 输出) ## 📚 使用说明 ### CLI 模式 ``` parsex -h ``` 这将显示该工具的帮助信息 ``` Parse and extract key data across multiple security tools Usage: parsex [flags] Flags: -h, --help help for parsex -i, --input string Input to parse -p, --parser string Parser to use -v, --version version for parsex ``` 解析工具的输出文件: ``` parsex -i samples/nmap7 ``` 当有多个解析器兼容时,选择特定的解析器: ``` parsex -i samples/nmap7 --parser nmap-standard ``` CLI 模式会输出带有缩进的 JSON。`parser` 是为结果选定的解析器,而 `compatible_parsers` 则列出了所有与输入匹配的解析器。如果匹配到多个解析器,除非使用 `--parser` 指定一个兼容的解析器,否则 parsex 将使用配置的解析器顺序中的第一个解析器。解析器名称的匹配不区分大小写,并且空格、破折号和下划线被视为等效。解析器名称会以小写的破折号分隔标识符形式输出。如果选定的解析器与输入不兼容,parsex 将返回错误。 ### 库模式 ``` package main import ( "errors" "fmt" "github.com/thelicato/parsex" ) func main() { result, err := parsex.ParseFile("samples/nmap7", parsex.WithParserName("nmap-standard")) if errors.Is(err, parsex.ErrNoCompatibleParser) { fmt.Println("unsupported input") return } if err != nil { panic(err) } fmt.Printf("parser=%s data=%#v\n", result.Parser, result.Data) } ``` ## 🚀 安装说明 运行以下命令安装最新版本: ``` go install github.com/thelicato/parsex/cmd/parsex@latest ``` 或者您也可以直接从 [Releases](./releases) 页面下载可执行文件。 ## 🪪 许可证 _parsex_ 用 🖤 制作,并根据 [GPL3 LICENSE](./LICENSE) 发布。
标签:CLI, DNS解析, EVTX分析, Go语言, JSON, nuclei, Python, TIP, WiFi技术, 代码示例, 安全运营, 开源项目, 扫描框架, 数据分析, 数据解析, 文档结构分析, 无后门, 日志审计, 日志解析, 程序破解, 网络安全, 自动化处理, 证书伪造, 输出提取, 隐私保护