gbvk312/port-scanner-cli

GitHub: gbvk312/port-scanner-cli

一个轻量级的多线程 TCP 端口扫描器 CLI,用于快速网络诊断与资产梳理。

Stars: 0 | Forks: 0

# 🔍 port-scanner-cli [![Python](https://img.shields.io/badge/Python-3.8+-3776AB?style=for-the-badge&logo=python&logoColor=white)](https://python.org) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg?style=for-the-badge)](LICENSE) [![Tests](https://img.shields.io/badge/Tests-Passing-brightgreen?style=for-the-badge)](#testing) [![Zero Dependencies](https://img.shields.io/badge/Dependencies-Zero-blue?style=for-the-badge)](#) **一个轻量级的多线程 TCP 端口扫描器 CLI,用于快速网络诊断。**
## ✨ 功能 - ⚡ **多线程** — 可配置线程池的并发扫描 - 🎯 **灵活目标** — 单端口、范围、逗号分隔列表或预设 - 🏷️ **服务识别** — 识别 25+ 种常见服务(HTTP、SSH、MySQL 等) - 📡 **横幅抓取** — 可选的服务横幅捕获 - 📊 **双重输出** — 简洁表格视图或机器可读的 JSON - ⏱️ **响应计时** — 每个端口的响应时间测量 - 🔧 **预设** — 内置端口集合:`common`、`web`、`database`、`top100`、`top1000` - 📦 **零依赖** — 仅使用 Python 标准库 ## 📋 要求 - Python 3.8+ - 无外部依赖 ## 🚀 安装 ``` git clone https://github.com/gbvk312/port-scanner-cli.git cd port-scanner-cli pip install -e . ``` ## 📖 用法 ### 快速扫描 ``` # 扫描主机常用端口 portscan example.com # 扫描特定端口 portscan 192.168.1.1 -p 22,80,443 # 扫描端口范围 portscan 10.0.0.1 -p 1-1024 ``` ### 使用预设 ``` # Web 服务器端口 portscan example.com -p web # 数据库端口 portscan db.internal -p database # 前 1000 端口 portscan target.com -p top1000 ``` ### 高级选项 ``` # 横幅抓取 portscan example.com -p 22,80,443 --banner # 用于脚本的 JSON 输出 portscan example.com --json # 带进度的详细模式 portscan example.com -p top1000 -v # 自定义超时和线程 portscan 10.0.0.1 -p 1-65535 -t 0.5 --threads 100 # 也显示关闭的端口 portscan localhost -p 80-90 --show-closed ``` ### 示例输出 ``` Scan Report for example.com (93.184.216.34) ────────────────────────────────────────────────── PORT STATE SERVICE RESPONSE ────────────────────────────────────────────────── 80 open HTTP 12.34ms 443 open HTTPS 15.67ms ────────────────────────────────────────────────── 2 open / 27 scanned in 1.23s ``` ### JSON 输出 ``` portscan example.com -p 80,443 --json ``` ``` { "host": "example.com", "ip": "93.184.216.34", "scan_time_seconds": 1.23, "total_scanned": 2, "open_count": 2, "open_ports": [ { "port": 80, "service": "HTTP", "response_ms": 12.34, "banner": null } ] } ``` ## 🧪 测试 ``` pip install -e . python -m pytest tests/ -v ``` ## 📁 项目结构 ``` port-scanner-cli/ ├── src/ │ └── portscanner/ │ ├── __init__.py │ ├── scanner.py # Core scanning logic │ └── cli.py # CLI interface ├── tests/ │ ├── __init__.py │ └── test_scanner.py # Unit tests ├── setup.py ├── requirements.txt ├── LICENSE ├── .gitignore └── README.md ``` ## ⚠️ 免责声明 本工具仅供 **授权网络诊断** 使用。请始终确保你拥有扫描目标主机的权限。未经授权的端口扫描可能违反法律与服务条款。 ## 🗺️ 路线图 - [ ] UDP 端口扫描 - [ ] 操作系统指纹识别 - [ ] 输出为 CSV/HTML 报告 - [ ] 扫描配置文件的保存与加载 - [ ] 网络范围扫描(CIDR 表示法) - [ ] 与 Nmap 脚本集成 ## 📄 许可证 本项目采用 MIT 许可证 — 详情见 [LICENSE](LICENSE) 文件。
由 ❤️ 构建 — Bhanu Vamsi Krishna
标签:API安全, JSON输出, LangChain, Python, Python 3.8, Qt框架, TCP扫描, TOP端口, Web端口, 内置预设, 可配置线程池, 响应延迟, 常见端口, 并发扫描, 开源, 情报分析, 数据库端口, 数据统计, 无后门, 服务识别, 横幅抓取, 端口列表, 端口扫描, 端口范围, 网络安全, 网络诊断, 表格输出, 轻量级, 运维诊断, 逆向工具, 隐私保护, 零依赖