hgentl/NetIntel
GitHub: hgentl/NetIntel
NetIntel是一个用Go编写的并发CLI工具,用于分析网络基础设施的安全风险并生成评分。
Stars: 0 | Forks: 0
# NetIntel
NetIntel 是一个用 Go 编写的并发 CLI 基础架构分析和轻量级威胁情报工具。
它对网络目标进行多层检查(DNS、HTTP、TLS),分析潜在风险,并生成上下文感知的风险评分。
## 项目目标
建立此项目旨在展示:
* Go 语言中的后端工程基础
* 并发和系统设计
* 网络编程(DNS、HTTP、TLS)
## 功能特性
* 并发扫描多个目标
* 使用 goroutine 和通道高效地并行分析多个域名
* DNS 分析
* 解析和反向 DNS 检查
* 检测失败或不一致的域名配置
* HTTP 行为分析
* 状态码分类(4xx / 5xx)
* 重定向链检测与分析
* HTTPS 强制检查
* 安全标头分析
* 检测缺失的标头(HSTS、CSP)
* 识别潜在的客户端安全漏洞
* TLS 分析
* 证书过期和有效性检查
* 颁发机构检查
* 弹性网络处理
* 重试逻辑
* 超时处理
* 部分结果支持
## 架构
NetIntel 遵循模块化流水线设计:
```
Collector → Analyser → Scorer → CLI Output
```
* **Collector(收集器)**:
* 收集 DNS、HTTP 和 TLS 数据
* 实现重试和超时机制
* 设计为能容忍网络故障并返回部分结果
* **Analyser(分析器)**:
* 应用基于规则的检查以识别风险和错误配置。
* 建模真实世界的行为,如 HTTPS 强制执行和重定向模式
* **Scorer(评分器)**:
* 将发现转化为风险评分
* 综合考虑严重性、类别权重和上下文关系
* **CLI(命令行界面)**:
* 协调跨目标的并发执行
* 提供结构化、人类可读的输出
## 安装说明
```
git clone https://github.com/hgentl/NetIntel.git
cd netintel
go build -o netintel
```
## 使用方法
### 单个目标
```
./netintel check example.com
```
### 多个目标(并发)
```
./netintel check example.com google.com github.com
```
## 示例输出
```
=================================
URL: https://example.com
Status: 200 OK
Latency: 120ms
Server: nginx
Findings:
[LOW] (HTTP) Server header exposed nginx
[MEDIUM] (Headers) Missing HSTS header
Risk Score: 85 (LOW)
=================================
[ERROR] https://bad-domain.cmo → DNS lookup failed
```
## 测试
包含单元测试和集成测试,涵盖:
* DNS 解析和边界情况
* HTTP 状态和标头验证
* TLS 过期和 HTTPS 强制执行
* 并发执行行为
* 风险评分逻辑
## 未来改进
* 用于与其他工具集成的 JSON 输出
* 用于受控大规模扫描的速率限制
* 扩展威胁情报检查(例如信誉、ASN 分析)
* 用于报告流水线的输出格式
## 许可证
MIT 许可证
## 作者
作为一个专注于网络安全、基础设施分析和 Go 开发的个人作品集项目构建。
标签:底层编程, 日志审计