fcarvajalbrown/port-scanner

GitHub: fcarvajalbrown/port-scanner

基于 Python 标准库的轻量级端口扫描与资产探测工具,支持 DNS 解析、开放端口发现和服务 Banner 提取。

Stars: 0 | Forks: 0

# 端口扫描器 基础设施侦查工具 —— 通过 DNS 解析域名并扫描开放端口。 ## 安装说明 1. 克隆仓库: ``` git clone https://github.com/yourusername/port-scanner.git cd port-scanner ``` 2. 安装依赖(无需安装,仅使用 Python stdlib): ``` python --version # requires 3.8+ ``` 3. 将您的公司域名添加到 `config/domains.json`: ``` { "domains": [ { "id": "main", "host": "yourcompany.com" }, { "id": "api", "host": "api.yourcompany.com" } ] } ``` ## 使用方法 从项目根目录 (`port-scanner/`) 运行: ``` # 扫描最常用的前 100 个端口(更快,推荐首次运行) python -m src.main --top100 # 扫描完整端口范围 1-65535(较慢,详尽) python -m src.main --full ``` ## 输出 - **终端** — 实时 DNS 解析,带有风险标签的开放端口发现,extractor 结果 - **`reports/results.json`** — 每次扫描后生成的结构化 JSON ## 配置 **`config/settings.ini`** — 调整性能: ``` [Scanner] timeout_seconds = 1 # lower = faster but more misses max_threads = 100 # concurrent threads per target ``` ## 提取器 如果发现 MySQL (3306)、PostgreSQL (5432) 或 FTP (21) 处于开放状态,该工具会自动: - 连接并读取服务 Banner - 报告版本信息或认证要求 - 将匿名 FTP 访问标记为 CRITICAL 结果会在扫描摘要后追加到终端输出中。 ## 风险标签 | 标签 | 含义 | |----------|--------------------------------------| | CRITICAL | 默认无认证暴露 | | HIGH | 数据库或远程访问服务 | | LOW | 通常安全但值得关注 | ## 文件结构 ``` port-scanner/ ├── README.md ├── config/ │ ├── domains.json │ └── settings.ini ├── reports/ │ └── results.json ├── src/ │ ├── __init__.py │ ├── main.py │ └── utils/ │ ├── __init__.py │ ├── scanner.py │ └── extractors/ │ ├── __init__.py │ ├── router.py │ ├── mysql.py │ ├── postgres.py │ └── ftp.py └── tests/ ├── __init__.py └── test_scanner.py ``` ## 运行测试 ``` python -m pytest tests/ ```
标签:AES-256, Banner抓取, DNS解析, ESC4, GitHub, Homebrew安装, OSINT, Python, Qt框架, 域名的IP解析, 基础设施侦察, 威胁建模, 密码管理, 开源项目, 插件系统, 数据统计, 无后门, 服务器安全, 服务识别, 漏洞评估, 端口扫描, 端口服务检测, 网络安全, 网络扫描器, 逆向工具, 隐私保护