aditya226-sharma/security-arsenal
GitHub: aditya226-sharma/security-arsenal
一款集端口扫描、漏洞检测、密码分析和网络诊断于一体的 Python 综合安全工具包,为安全从业者提供统一的本地化安全评估能力。
Stars: 2 | Forks: 0
# 🛡️ 安全工具库
### 安全专业人士的综合网络安全工具包
[](https://www.python.org/)
[](LICENSE)
[](http://makeapullrequest.com)
[](https://github.com/aditya226-sharma/security-arsenal/stargazers)
[](https://github.com/aditya226-sharma/security-arsenal/network/members)
[安装说明](#installation) • [功能](#features) • [用法](#usage) • [文档](#documentation) • [贡献](#contributing)
## 📋 概述
Security Arsenal 是一个强大的一体化网络安全工具包,专为渗透测试人员、安全研究人员和开发者设计。它在一个易于使用的 Python 包中提供了一系列核心安全工具。
**为什么选择 Security Arsenal?**
- 🚀 **快速高效** - 多线程扫描,实现极速获取结果
- 🔧 **模块化设计** - 按需选择所需功能
- 📊 **详细报告** - 提供包含可操作性见解的全面输出
- 🎯 **新手友好** - 简单的 API,具备强大的功能
- 🔒 **100% 本地运行** - 数据不会离开您的机器
## ⚡ 功能
### 🔍 Port Scanner (端口扫描器)
- 多线程高性能扫描
- 服务版本检测
- 自定义端口范围
- 常用端口快速扫描
### 🛡️ Vulnerability Scanner (漏洞扫描器)
- SSL/TLS 配置分析
- Security header 审计
- 敏感路径检测
- 支持 CVE 的漏洞报告
### 🔐 Password Analyzer (密码分析器)
- 基于熵的强度计算
- 模式检测(键盘模式、序列)
- 常见密码数据库检查
- 安全密码生成
- 泄露数据库模拟
### 🌐 Subdomain Enumerator (子域名枚举器)
- DNS 暴力破解枚举
- 支持自定义 wordlist
- 多线程解析
- 端口连通性检查
### 📡 Network Analyzer (网络分析器)
- 活动连接监控
- DNS 记录分析
- Traceroute 功能
- 网络主机发现
- 流量模式分析
## 📦 安装说明
```
# 从 PyPI 安装
pip install security-arsenal
# 或从源码安装
git clone https://github.com/aditya226-sharma/security-arsenal.git
cd security-arsenal
pip install -e .
```
## 🚀 用法
### 快速入门
```
from security_arsenal import PortScanner, VulnScanner, PasswordAnalyzer
# Port Scanning
scanner = PortScanner()
results = scanner.scan("example.com", ports=[80, 443, 22])
for r in results:
print(f"Port {r.port}: {r.state} - {r.service}")
# Vulnerability Scanning
vuln_scanner = VulnScanner()
vulnerabilities = vuln_scanner.scan_webapp("https://example.com")
report = vuln_scanner.generate_report(vulnerabilities)
print(report)
# Password Analysis
analyzer = PasswordAnalyzer()
analysis = analyzer.analyze("MySecureP@ssw0rd!")
print(f"Score: {analysis.score}/100")
print(f"Strength: {analysis.strength}")
print(f"Crack Time: {analysis.crack_time}")
```
### 命令行接口
```
# 端口扫描
security-arsenal scan example.com 80,443,22
# 漏洞扫描
security-arsenal vuln https://example.com
# 密码分析
security-arsenal password "MyP@ssw0rd!"
# Subdomain enumeration
security-arsenal subdomain example.com
# 网络分析
security-arsenal network
```
## 📚 示例
### Port Scanner
```
from security_arsenal import PortScanner
scanner = PortScanner(timeout=0.5, max_threads=200)
# 快速扫描常用端口
results = scanner.quick_scan("scanme.nmap.org")
print(f"Found {len(results)} open ports")
# 全端口范围扫描
results = scanner.full_scan("target.com", start_port=1, end_port=1000)
```
### Vulnerability Scanner
```
from security_arsenal import VulnScanner
scanner = VulnScanner(timeout=10)
# 扫描 Web 应用程序
vulns = scanner.scan_webapp("https://example.com")
# 生成报告
report = scanner.generate_report(vulns)
print(report)
# 检查特定主机
host_vulns = scanner.scan_host("example.com")
```
### Password Analyzer
```
from security_arsenal import PasswordAnalyzer
analyzer = PasswordAnalyzer()
# 分析密码
result = analyzer.analyze("C0mpl3x!P@ssw0rd#2024")
print(f"Score: {result.score}/100")
print(f"Strength: {result.strength}")
print(f"Issues: {result.issues}")
print(f"Suggestions: {result.suggestions}")
# 生成安全密码
secure_pass = analyzer.generate_password(length=20)
print(f"Generated: {secure_pass}")
# 检查泄露
is_breached = analyzer.check_breach("password123")
print(f"Found in breaches: {is_breached}")
```
### Subdomain Enumerator
```
from security_arsenal import SubdomainEnumerator
enumerator = SubdomainEnumerator(max_threads=100)
# 枚举子域名
results = enumerator.enumerate("example.com")
for r in results:
print(f"{r.subdomain} -> {r.ip_address}")
# 带端口检查的枚举
results = enumerator.enumerate_with_ports("example.com", ports=[80, 443, 8080])
```
### Network Analyzer
```
from security_arsenal import NetworkAnalyzer
analyzer = NetworkAnalyzer()
# 获取活动连接
connections = analyzer.get_connections()
print(f"Active connections: {len(connections)}")
# DNS resolution
records = analyzer.resolve_dns("example.com")
print(f"IP Addresses: {records['A']}")
# Traceroute
hops = analyzer.trace_route("example.com")
for hop in hops:
print(f"Hop {hop['hop']}: {hop['ip']}")
```
## 🔧 配置
可以通过环境变量或配置文件对 Security Arsenal 进行配置:
```
# 环境变量
export SA_TIMEOUT=10
export SA_MAX_THREADS=100
export SA_OUTPUT_DIR=./reports
```
## 📊 性能
| 工具 | 速度 | 准确度 | 内存 |
|------|-------|----------|--------|
| Port Scanner | ~1000 个端口/秒 | 高 | 低 |
| 漏洞扫描器 | ~50 次检查/秒 | 中 | 中 |
| 密码分析器 | 瞬间完成 | 高 | 低 |
| 子域名枚举器 | ~500 个子域名/秒 | 中 | 低 |
| 网络分析器 | ~100 台主机/秒 | 高 | 低 |
## 📝 许可证
该项目基于 MIT 许可证授权 - 有关详细信息,请参阅 [LICENSE](LICENSE) 文件。
## 📧 联系方式
**Aditya Sharma** - [adityaiit07@gmail.com](mailto:adityaiit07@gmail.com)
项目链接:[https://github.com/aditya226-sharma/security-arsenal](https://github.com/aditya226-sharma/security-arsenal)
**如果您觉得这个项目有用,请考虑给它点个 ⭐ star!**
您的支持有助于我们继续开发和维护此工具。
标签:Python, 密码分析, 密码管理, 插件系统, 数据统计, 文件查看, 文档结构分析, 无后门, 端口扫描, 逆向工具