Hribeir/python-port-scanner
GitHub: Hribeir/python-port-scanner
一个用Python编写的轻量级TCP端口扫描器,具有原生终端进度显示和横幅抓取功能,专为SOC和红队安全评估设计。
Stars: 0 | Forks: 0
# 具备原生横幅抓取功能的自定义 Python 端口扫描器
这是一个快速、交互式且注重安全的 TCP 端口扫描器,使用 Python 原生套接字和直接终端操控构建。该工具专门设计用于监控 SOC(安全运营中心)和企业环境中发现的常见资产。
## 🚀 技术亮点
* **零重度依赖:** 进度条和终端行清理机制完全从零开始构建,使用了 ANSI 转义代码 (`\033[K`) 和回车 (`\r`),无需任何外部库(如 `tqdm`)。
* **智能横幅抓取:** 设计了一个自定义机制来提取服务签名(横幅)。它包含自动化的原始 HTTP 请求,并过滤非打印字符,以防止在处理二进制或原始协议(如 MySQL 和 Telnet)时出现视觉杂乱。
* **容错与弹性:** 对网络相关问题(DNS 解析错误、超时和连接中断)进行全面的异常处理,并在用户中断时(`Ctrl+C`)实现干净退出。
## 🛠️ 使用的技术
* **Python 3.14.2**(原生模块:`socket`、`sys`、`datetime`)
* **Colorama**(用于终端样式设置和跨平台颜色支持)
## 📋 终端 UI 布局行为
扫描器将静态进度条锁定在终端底部,同时在上方渲染任何发现的开放端口。这使您的终端历史记录保持整洁且完全可读:
```
--------------------------------------------------
Scanning target: 192.168.160.129
Analysis initiated at: 2026-05-20 15:14:14
--------------------------------------------------
[OPEN] Port: 21 (FTP Control) -> 220 (vsFTPd 2.3.4)
[OPEN] Port: 22 (SSH) -> SSH-2.0-OpenSSH_4.7p1 Debian-8ubuntu1
[OPEN] Port: 80 (HTTP) -> HTTP/1.1 200 OK | Server: Apache/2.2.8 (Ubuntu) DAV/2
[i] Progress: |█████---------------| 8/31 ports (25%)
```
## 🔧 安装与使用
1. **克隆仓库**
```
git clone https://github.com/Hribeir/python-port-scanner.git
cd python-port-scanner
```
2. **安装所需依赖项 (Colorama):**
pip install colorama
3. **配置目标 IP:**
打开主脚本文件,并更新 `__main__` 块中的 `target_host` 变量:
```
target_host = "192.168.160.129" # Change this to your authorized target IP
```
4. **运行扫描器:**
python port_scanner.py
## 🔒 免责声明
**本工具严格出于教育目的和授权安全测试(渗透测试)而开发。未经事先明确许可即对目标使用本软件,责任完全由用户承担,并可能违反当地网络犯罪法律。**
标签:ANSI, banner抓取, Python, Socket, TCP, 云存储安全, 交互式工具, 插件系统, 故障容忍, 数据展示, 数据统计, 无后门, 端口扫描, 红队, 终端界面, 网络安全, 网络扫描, 自定义工具, 进度条, 逆向工具, 隐私保护, 零依赖